summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-01-19 17:00:04 +0000
committer <>2015-01-30 17:22:40 +0000
commitf7bbc21981ffdbbe2d4435556e3ead0828dce160 (patch)
treedeaf72f9932c2e339bc6f981eb3719b85a413b02 /tests
downloadlibtool-tarball-f7bbc21981ffdbbe2d4435556e3ead0828dce160.tar.gz
Imported from /home/lorry/working-area/delta_libtool-tarball/libtool-2.4.5.tar.gz.libtool-2.4.5
Diffstat (limited to 'tests')
-rw-r--r--tests/._am-subdir.atbin0 -> 239 bytes
-rw-r--r--tests/._archive-in-archive.atbin0 -> 239 bytes
-rw-r--r--tests/._bindir.atbin0 -> 239 bytes
-rw-r--r--tests/._cdemo.atbin0 -> 239 bytes
-rw-r--r--tests/._cmdline_wrap.atbin0 -> 239 bytes
-rw-r--r--tests/._configure-iface.atbin0 -> 239 bytes
-rw-r--r--tests/._convenience.atbin0 -> 239 bytes
-rw-r--r--tests/._ctor.atbin0 -> 239 bytes
-rw-r--r--tests/._cwrapper.atbin0 -> 239 bytes
-rw-r--r--tests/._darwin.atbin0 -> 239 bytes
-rw-r--r--tests/._demo.atbin0 -> 239 bytes
-rw-r--r--tests/._depdemo.atbin0 -> 239 bytes
-rw-r--r--tests/._deplib-in-subdir.atbin0 -> 239 bytes
-rw-r--r--tests/._deplibs-ident.atbin0 -> 239 bytes
-rw-r--r--tests/._deplibs-mingw.atbin0 -> 239 bytes
-rw-r--r--tests/._destdir.atbin0 -> 239 bytes
-rw-r--r--tests/._dlloader-api.atbin0 -> 239 bytes
-rw-r--r--tests/._dumpbin-symbols.atbin0 -> 239 bytes
-rw-r--r--tests/._duplicate_conv.atbin0 -> 239 bytes
-rw-r--r--tests/._duplicate_deps.atbin0 -> 239 bytes
-rwxr-xr-xtests/._duplicate_members.atbin0 -> 239 bytes
-rw-r--r--tests/._early-libtool.atbin0 -> 239 bytes
-rw-r--r--tests/._exceptions.atbin0 -> 239 bytes
-rw-r--r--tests/._execute-mode.atbin0 -> 239 bytes
-rw-r--r--tests/._exeext.atbin0 -> 239 bytes
-rwxr-xr-xtests/._export-def.atbin0 -> 239 bytes
-rw-r--r--tests/._export.atbin0 -> 239 bytes
-rw-r--r--tests/._f77demo.atbin0 -> 239 bytes
-rw-r--r--tests/._fail.atbin0 -> 239 bytes
-rw-r--r--tests/._fcdemo.atbin0 -> 239 bytes
-rw-r--r--tests/._flags.atbin0 -> 239 bytes
-rw-r--r--tests/._help.atbin0 -> 239 bytes
-rw-r--r--tests/._indirect_deps.atbin0 -> 239 bytes
-rw-r--r--tests/._infer-tag.atbin0 -> 239 bytes
-rw-r--r--tests/._inherited_flags.atbin0 -> 239 bytes
-rw-r--r--tests/._install.atbin0 -> 239 bytes
-rw-r--r--tests/._lalib-syntax.atbin0 -> 239 bytes
-rwxr-xr-xtests/._libtool.atbin0 -> 239 bytes
-rw-r--r--tests/._libtoolize.atbin0 -> 239 bytes
-rw-r--r--tests/._link-order.atbin0 -> 239 bytes
-rw-r--r--tests/._link-order2.atbin0 -> 239 bytes
-rw-r--r--tests/._loadlibrary.atbin0 -> 239 bytes
-rw-r--r--tests/._localization.atbin0 -> 239 bytes
-rw-r--r--tests/._lt_dladvise.atbin0 -> 239 bytes
-rw-r--r--tests/._lt_dlexit.atbin0 -> 238 bytes
-rw-r--r--tests/._lt_dlopen.atbin0 -> 239 bytes
-rw-r--r--tests/._lt_dlopen_a.atbin0 -> 239 bytes
-rw-r--r--tests/._lt_dlopenext.atbin0 -> 239 bytes
-rw-r--r--tests/._ltdl-api.atbin0 -> 239 bytes
-rw-r--r--tests/._ltdl-libdir.atbin0 -> 239 bytes
-rw-r--r--tests/._mdemo.atbin0 -> 239 bytes
-rw-r--r--tests/._need_lib_prefix.atbin0 -> 239 bytes
-rw-r--r--tests/._no-executables.atbin0 -> 239 bytes
-rw-r--r--tests/._nocase.atbin0 -> 239 bytes
-rw-r--r--tests/._nonrecursive.atbin0 -> 239 bytes
-rw-r--r--tests/._old-ltdl-iface.atbin0 -> 239 bytes
-rw-r--r--tests/._old-m4-iface.atbin0 -> 239 bytes
-rw-r--r--tests/._package.m4bin0 -> 239 bytes
-rw-r--r--tests/._pic_flag.atbin0 -> 239 bytes
-rw-r--r--tests/._recursive.atbin0 -> 239 bytes
-rw-r--r--tests/._resident.atbin0 -> 239 bytes
-rw-r--r--tests/._runpath-in-lalib.atbin0 -> 239 bytes
-rw-r--r--tests/._search-path.atbin0 -> 239 bytes
-rw-r--r--tests/._shlibpath.atbin0 -> 239 bytes
-rw-r--r--tests/._slist.atbin0 -> 239 bytes
-rw-r--r--tests/._standalone.atbin0 -> 239 bytes
-rw-r--r--tests/._static.atbin0 -> 239 bytes
-rw-r--r--tests/._stresstest.atbin0 -> 238 bytes
-rw-r--r--tests/._subproject.atbin0 -> 239 bytes
-rw-r--r--tests/._sysroot.atbin0 -> 239 bytes
-rw-r--r--tests/._tagdemo.atbin0 -> 239 bytes
-rw-r--r--tests/._template.atbin0 -> 239 bytes
-rwxr-xr-xtests/._testsuitebin0 -> 239 bytes
-rw-r--r--tests/._testsuite.atbin0 -> 239 bytes
-rw-r--r--tests/._versioning.atbin0 -> 239 bytes
-rw-r--r--tests/._with-pic.atbin0 -> 239 bytes
-rw-r--r--tests/am-subdir.at150
-rw-r--r--tests/archive-in-archive.at59
-rw-r--r--tests/bindir.at361
-rw-r--r--tests/cdemo.at193
-rw-r--r--tests/cmdline_wrap.at50
-rw-r--r--tests/configure-iface.at328
-rw-r--r--tests/convenience.at289
-rw-r--r--tests/ctor.at67
-rw-r--r--tests/cwrapper.at263
-rw-r--r--tests/darwin.at446
-rw-r--r--tests/demo.at981
-rw-r--r--tests/depdemo.at430
-rw-r--r--tests/deplib-in-subdir.at157
-rw-r--r--tests/deplibs-ident.at80
-rw-r--r--tests/deplibs-mingw.at97
-rw-r--r--tests/destdir.at142
-rw-r--r--tests/dlloader-api.at441
-rw-r--r--tests/dumpbin-symbols.at111
-rw-r--r--tests/duplicate_conv.at91
-rw-r--r--tests/duplicate_deps.at76
-rwxr-xr-xtests/duplicate_members.at78
-rw-r--r--tests/early-libtool.at229
-rw-r--r--tests/exceptions.at401
-rw-r--r--tests/execute-mode.at221
-rw-r--r--tests/exeext.at53
-rwxr-xr-xtests/export-def.at139
-rw-r--r--tests/export.at197
-rw-r--r--tests/f77demo.at337
-rw-r--r--tests/fail.at123
-rw-r--r--tests/fcdemo.at351
-rw-r--r--tests/flags.at116
-rw-r--r--tests/help.at191
-rw-r--r--tests/indirect_deps.at117
-rw-r--r--tests/infer-tag.at97
-rw-r--r--tests/inherited_flags.at113
-rw-r--r--tests/install.at52
-rw-r--r--tests/lalib-syntax.at137
-rwxr-xr-xtests/libtool.at244
-rw-r--r--tests/libtoolize.at1166
-rw-r--r--tests/link-order.at127
-rw-r--r--tests/link-order2.at150
-rw-r--r--tests/loadlibrary.at269
-rw-r--r--tests/localization.at73
-rw-r--r--tests/lt_dladvise.at389
-rw-r--r--tests/lt_dlexit.at164
-rw-r--r--tests/lt_dlopen.at103
-rw-r--r--tests/lt_dlopen_a.at97
-rw-r--r--tests/lt_dlopenext.at251
-rw-r--r--tests/ltdl-api.at39
-rw-r--r--tests/ltdl-libdir.at124
-rw-r--r--tests/mdemo.at855
-rw-r--r--tests/need_lib_prefix.at197
-rw-r--r--tests/no-executables.at79
-rw-r--r--tests/nocase.at85
-rw-r--r--tests/nonrecursive.at150
-rw-r--r--tests/old-ltdl-iface.at138
-rw-r--r--tests/old-m4-iface.at197
-rw-r--r--tests/package.m47
-rw-r--r--tests/pic_flag.at63
-rw-r--r--tests/recursive.at119
-rw-r--r--tests/resident.at148
-rw-r--r--tests/runpath-in-lalib.at66
-rw-r--r--tests/search-path.at97
-rw-r--r--tests/shlibpath.at73
-rw-r--r--tests/slist.at170
-rw-r--r--tests/standalone.at89
-rw-r--r--tests/static.at379
-rw-r--r--tests/stresstest.at290
-rw-r--r--tests/subproject.at122
-rw-r--r--tests/sysroot.at208
-rw-r--r--tests/tagdemo.at395
-rw-r--r--tests/template.at324
-rwxr-xr-xtests/testsuite51534
-rw-r--r--tests/testsuite.at530
-rw-r--r--tests/versioning.at244
-rw-r--r--tests/with-pic.at64
152 files changed, 67583 insertions, 0 deletions
diff --git a/tests/._am-subdir.at b/tests/._am-subdir.at
new file mode 100644
index 0000000..a586cc0
--- /dev/null
+++ b/tests/._am-subdir.at
Binary files differ
diff --git a/tests/._archive-in-archive.at b/tests/._archive-in-archive.at
new file mode 100644
index 0000000..100ed62
--- /dev/null
+++ b/tests/._archive-in-archive.at
Binary files differ
diff --git a/tests/._bindir.at b/tests/._bindir.at
new file mode 100644
index 0000000..33dab8c
--- /dev/null
+++ b/tests/._bindir.at
Binary files differ
diff --git a/tests/._cdemo.at b/tests/._cdemo.at
new file mode 100644
index 0000000..8989019
--- /dev/null
+++ b/tests/._cdemo.at
Binary files differ
diff --git a/tests/._cmdline_wrap.at b/tests/._cmdline_wrap.at
new file mode 100644
index 0000000..a737909
--- /dev/null
+++ b/tests/._cmdline_wrap.at
Binary files differ
diff --git a/tests/._configure-iface.at b/tests/._configure-iface.at
new file mode 100644
index 0000000..45df713
--- /dev/null
+++ b/tests/._configure-iface.at
Binary files differ
diff --git a/tests/._convenience.at b/tests/._convenience.at
new file mode 100644
index 0000000..cb87325
--- /dev/null
+++ b/tests/._convenience.at
Binary files differ
diff --git a/tests/._ctor.at b/tests/._ctor.at
new file mode 100644
index 0000000..c605160
--- /dev/null
+++ b/tests/._ctor.at
Binary files differ
diff --git a/tests/._cwrapper.at b/tests/._cwrapper.at
new file mode 100644
index 0000000..83a5907
--- /dev/null
+++ b/tests/._cwrapper.at
Binary files differ
diff --git a/tests/._darwin.at b/tests/._darwin.at
new file mode 100644
index 0000000..02eec5c
--- /dev/null
+++ b/tests/._darwin.at
Binary files differ
diff --git a/tests/._demo.at b/tests/._demo.at
new file mode 100644
index 0000000..73f7066
--- /dev/null
+++ b/tests/._demo.at
Binary files differ
diff --git a/tests/._depdemo.at b/tests/._depdemo.at
new file mode 100644
index 0000000..cc8e107
--- /dev/null
+++ b/tests/._depdemo.at
Binary files differ
diff --git a/tests/._deplib-in-subdir.at b/tests/._deplib-in-subdir.at
new file mode 100644
index 0000000..7d65817
--- /dev/null
+++ b/tests/._deplib-in-subdir.at
Binary files differ
diff --git a/tests/._deplibs-ident.at b/tests/._deplibs-ident.at
new file mode 100644
index 0000000..529e55c
--- /dev/null
+++ b/tests/._deplibs-ident.at
Binary files differ
diff --git a/tests/._deplibs-mingw.at b/tests/._deplibs-mingw.at
new file mode 100644
index 0000000..ff672cb
--- /dev/null
+++ b/tests/._deplibs-mingw.at
Binary files differ
diff --git a/tests/._destdir.at b/tests/._destdir.at
new file mode 100644
index 0000000..b0f183d
--- /dev/null
+++ b/tests/._destdir.at
Binary files differ
diff --git a/tests/._dlloader-api.at b/tests/._dlloader-api.at
new file mode 100644
index 0000000..504f700
--- /dev/null
+++ b/tests/._dlloader-api.at
Binary files differ
diff --git a/tests/._dumpbin-symbols.at b/tests/._dumpbin-symbols.at
new file mode 100644
index 0000000..7108eb3
--- /dev/null
+++ b/tests/._dumpbin-symbols.at
Binary files differ
diff --git a/tests/._duplicate_conv.at b/tests/._duplicate_conv.at
new file mode 100644
index 0000000..b48a16a
--- /dev/null
+++ b/tests/._duplicate_conv.at
Binary files differ
diff --git a/tests/._duplicate_deps.at b/tests/._duplicate_deps.at
new file mode 100644
index 0000000..ecea4bc
--- /dev/null
+++ b/tests/._duplicate_deps.at
Binary files differ
diff --git a/tests/._duplicate_members.at b/tests/._duplicate_members.at
new file mode 100755
index 0000000..3ae25b2
--- /dev/null
+++ b/tests/._duplicate_members.at
Binary files differ
diff --git a/tests/._early-libtool.at b/tests/._early-libtool.at
new file mode 100644
index 0000000..9c11712
--- /dev/null
+++ b/tests/._early-libtool.at
Binary files differ
diff --git a/tests/._exceptions.at b/tests/._exceptions.at
new file mode 100644
index 0000000..85883aa
--- /dev/null
+++ b/tests/._exceptions.at
Binary files differ
diff --git a/tests/._execute-mode.at b/tests/._execute-mode.at
new file mode 100644
index 0000000..587bc8a
--- /dev/null
+++ b/tests/._execute-mode.at
Binary files differ
diff --git a/tests/._exeext.at b/tests/._exeext.at
new file mode 100644
index 0000000..1ca44bc
--- /dev/null
+++ b/tests/._exeext.at
Binary files differ
diff --git a/tests/._export-def.at b/tests/._export-def.at
new file mode 100755
index 0000000..719ff19
--- /dev/null
+++ b/tests/._export-def.at
Binary files differ
diff --git a/tests/._export.at b/tests/._export.at
new file mode 100644
index 0000000..e907f4d
--- /dev/null
+++ b/tests/._export.at
Binary files differ
diff --git a/tests/._f77demo.at b/tests/._f77demo.at
new file mode 100644
index 0000000..14008fd
--- /dev/null
+++ b/tests/._f77demo.at
Binary files differ
diff --git a/tests/._fail.at b/tests/._fail.at
new file mode 100644
index 0000000..bf740d0
--- /dev/null
+++ b/tests/._fail.at
Binary files differ
diff --git a/tests/._fcdemo.at b/tests/._fcdemo.at
new file mode 100644
index 0000000..edc9cd4
--- /dev/null
+++ b/tests/._fcdemo.at
Binary files differ
diff --git a/tests/._flags.at b/tests/._flags.at
new file mode 100644
index 0000000..07d8d1a
--- /dev/null
+++ b/tests/._flags.at
Binary files differ
diff --git a/tests/._help.at b/tests/._help.at
new file mode 100644
index 0000000..b70c1b0
--- /dev/null
+++ b/tests/._help.at
Binary files differ
diff --git a/tests/._indirect_deps.at b/tests/._indirect_deps.at
new file mode 100644
index 0000000..9d51298
--- /dev/null
+++ b/tests/._indirect_deps.at
Binary files differ
diff --git a/tests/._infer-tag.at b/tests/._infer-tag.at
new file mode 100644
index 0000000..a9ff2f2
--- /dev/null
+++ b/tests/._infer-tag.at
Binary files differ
diff --git a/tests/._inherited_flags.at b/tests/._inherited_flags.at
new file mode 100644
index 0000000..5be857b
--- /dev/null
+++ b/tests/._inherited_flags.at
Binary files differ
diff --git a/tests/._install.at b/tests/._install.at
new file mode 100644
index 0000000..04c8ee6
--- /dev/null
+++ b/tests/._install.at
Binary files differ
diff --git a/tests/._lalib-syntax.at b/tests/._lalib-syntax.at
new file mode 100644
index 0000000..4576f0c
--- /dev/null
+++ b/tests/._lalib-syntax.at
Binary files differ
diff --git a/tests/._libtool.at b/tests/._libtool.at
new file mode 100755
index 0000000..8a1c64e
--- /dev/null
+++ b/tests/._libtool.at
Binary files differ
diff --git a/tests/._libtoolize.at b/tests/._libtoolize.at
new file mode 100644
index 0000000..bf4705e
--- /dev/null
+++ b/tests/._libtoolize.at
Binary files differ
diff --git a/tests/._link-order.at b/tests/._link-order.at
new file mode 100644
index 0000000..16a6ed1
--- /dev/null
+++ b/tests/._link-order.at
Binary files differ
diff --git a/tests/._link-order2.at b/tests/._link-order2.at
new file mode 100644
index 0000000..bf343e8
--- /dev/null
+++ b/tests/._link-order2.at
Binary files differ
diff --git a/tests/._loadlibrary.at b/tests/._loadlibrary.at
new file mode 100644
index 0000000..c67b9fa
--- /dev/null
+++ b/tests/._loadlibrary.at
Binary files differ
diff --git a/tests/._localization.at b/tests/._localization.at
new file mode 100644
index 0000000..b77db54
--- /dev/null
+++ b/tests/._localization.at
Binary files differ
diff --git a/tests/._lt_dladvise.at b/tests/._lt_dladvise.at
new file mode 100644
index 0000000..793625d
--- /dev/null
+++ b/tests/._lt_dladvise.at
Binary files differ
diff --git a/tests/._lt_dlexit.at b/tests/._lt_dlexit.at
new file mode 100644
index 0000000..9ab7bc7
--- /dev/null
+++ b/tests/._lt_dlexit.at
Binary files differ
diff --git a/tests/._lt_dlopen.at b/tests/._lt_dlopen.at
new file mode 100644
index 0000000..2ff4b7e
--- /dev/null
+++ b/tests/._lt_dlopen.at
Binary files differ
diff --git a/tests/._lt_dlopen_a.at b/tests/._lt_dlopen_a.at
new file mode 100644
index 0000000..9fc4933
--- /dev/null
+++ b/tests/._lt_dlopen_a.at
Binary files differ
diff --git a/tests/._lt_dlopenext.at b/tests/._lt_dlopenext.at
new file mode 100644
index 0000000..ad84bf0
--- /dev/null
+++ b/tests/._lt_dlopenext.at
Binary files differ
diff --git a/tests/._ltdl-api.at b/tests/._ltdl-api.at
new file mode 100644
index 0000000..ba35a8d
--- /dev/null
+++ b/tests/._ltdl-api.at
Binary files differ
diff --git a/tests/._ltdl-libdir.at b/tests/._ltdl-libdir.at
new file mode 100644
index 0000000..1946d99
--- /dev/null
+++ b/tests/._ltdl-libdir.at
Binary files differ
diff --git a/tests/._mdemo.at b/tests/._mdemo.at
new file mode 100644
index 0000000..bf3ff5d
--- /dev/null
+++ b/tests/._mdemo.at
Binary files differ
diff --git a/tests/._need_lib_prefix.at b/tests/._need_lib_prefix.at
new file mode 100644
index 0000000..bc1c2b9
--- /dev/null
+++ b/tests/._need_lib_prefix.at
Binary files differ
diff --git a/tests/._no-executables.at b/tests/._no-executables.at
new file mode 100644
index 0000000..8b9f375
--- /dev/null
+++ b/tests/._no-executables.at
Binary files differ
diff --git a/tests/._nocase.at b/tests/._nocase.at
new file mode 100644
index 0000000..7058bd2
--- /dev/null
+++ b/tests/._nocase.at
Binary files differ
diff --git a/tests/._nonrecursive.at b/tests/._nonrecursive.at
new file mode 100644
index 0000000..b9e37a8
--- /dev/null
+++ b/tests/._nonrecursive.at
Binary files differ
diff --git a/tests/._old-ltdl-iface.at b/tests/._old-ltdl-iface.at
new file mode 100644
index 0000000..dd0aa01
--- /dev/null
+++ b/tests/._old-ltdl-iface.at
Binary files differ
diff --git a/tests/._old-m4-iface.at b/tests/._old-m4-iface.at
new file mode 100644
index 0000000..d8470af
--- /dev/null
+++ b/tests/._old-m4-iface.at
Binary files differ
diff --git a/tests/._package.m4 b/tests/._package.m4
new file mode 100644
index 0000000..348e2d6
--- /dev/null
+++ b/tests/._package.m4
Binary files differ
diff --git a/tests/._pic_flag.at b/tests/._pic_flag.at
new file mode 100644
index 0000000..30ab2d7
--- /dev/null
+++ b/tests/._pic_flag.at
Binary files differ
diff --git a/tests/._recursive.at b/tests/._recursive.at
new file mode 100644
index 0000000..5859c35
--- /dev/null
+++ b/tests/._recursive.at
Binary files differ
diff --git a/tests/._resident.at b/tests/._resident.at
new file mode 100644
index 0000000..ec13c69
--- /dev/null
+++ b/tests/._resident.at
Binary files differ
diff --git a/tests/._runpath-in-lalib.at b/tests/._runpath-in-lalib.at
new file mode 100644
index 0000000..e2b9981
--- /dev/null
+++ b/tests/._runpath-in-lalib.at
Binary files differ
diff --git a/tests/._search-path.at b/tests/._search-path.at
new file mode 100644
index 0000000..e045196
--- /dev/null
+++ b/tests/._search-path.at
Binary files differ
diff --git a/tests/._shlibpath.at b/tests/._shlibpath.at
new file mode 100644
index 0000000..1be9d2e
--- /dev/null
+++ b/tests/._shlibpath.at
Binary files differ
diff --git a/tests/._slist.at b/tests/._slist.at
new file mode 100644
index 0000000..f444631
--- /dev/null
+++ b/tests/._slist.at
Binary files differ
diff --git a/tests/._standalone.at b/tests/._standalone.at
new file mode 100644
index 0000000..3a26cc5
--- /dev/null
+++ b/tests/._standalone.at
Binary files differ
diff --git a/tests/._static.at b/tests/._static.at
new file mode 100644
index 0000000..3d9d902
--- /dev/null
+++ b/tests/._static.at
Binary files differ
diff --git a/tests/._stresstest.at b/tests/._stresstest.at
new file mode 100644
index 0000000..82c099c
--- /dev/null
+++ b/tests/._stresstest.at
Binary files differ
diff --git a/tests/._subproject.at b/tests/._subproject.at
new file mode 100644
index 0000000..7f2bbd9
--- /dev/null
+++ b/tests/._subproject.at
Binary files differ
diff --git a/tests/._sysroot.at b/tests/._sysroot.at
new file mode 100644
index 0000000..6521bc9
--- /dev/null
+++ b/tests/._sysroot.at
Binary files differ
diff --git a/tests/._tagdemo.at b/tests/._tagdemo.at
new file mode 100644
index 0000000..58983c6
--- /dev/null
+++ b/tests/._tagdemo.at
Binary files differ
diff --git a/tests/._template.at b/tests/._template.at
new file mode 100644
index 0000000..a76058c
--- /dev/null
+++ b/tests/._template.at
Binary files differ
diff --git a/tests/._testsuite b/tests/._testsuite
new file mode 100755
index 0000000..4c1291c
--- /dev/null
+++ b/tests/._testsuite
Binary files differ
diff --git a/tests/._testsuite.at b/tests/._testsuite.at
new file mode 100644
index 0000000..8cec554
--- /dev/null
+++ b/tests/._testsuite.at
Binary files differ
diff --git a/tests/._versioning.at b/tests/._versioning.at
new file mode 100644
index 0000000..a9a2e3d
--- /dev/null
+++ b/tests/._versioning.at
Binary files differ
diff --git a/tests/._with-pic.at b/tests/._with-pic.at
new file mode 100644
index 0000000..e0b3264
--- /dev/null
+++ b/tests/._with-pic.at
Binary files differ
diff --git a/tests/am-subdir.at b/tests/am-subdir.at
new file mode 100644
index 0000000..5d5dfcd
--- /dev/null
+++ b/tests/am-subdir.at
@@ -0,0 +1,150 @@
+# am-subdir.at -- libtool subdir-objects support -*- Autotest -*-
+
+# Copyright (C) 2004, 2008, 2011-2015 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 <stdio.h>
+
+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 <stdio.h>
+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/tests/archive-in-archive.at b/tests/archive-in-archive.at
new file mode 100644
index 0000000..9d06805
--- /dev/null
+++ b/tests/archive-in-archive.at
@@ -0,0 +1,59 @@
+# dmacks.at -- test for dmacks bug -*- Autotest -*-
+#
+# Copyright (C) 2007-2008, 2010-2015 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/tests/bindir.at b/tests/bindir.at
new file mode 100644
index 0000000..7e4b6e9
--- /dev/null
+++ b/tests/bindir.at
@@ -0,0 +1,361 @@
+# bindir.at - Test the -bindir option
+#
+# Copyright (C) 2009-2015 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 <stdlib.h>
+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 <stdlib.h>
+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/tests/cdemo.at b/tests/cdemo.at
new file mode 100644
index 0000000..ce4a4af
--- /dev/null
+++ b/tests/cdemo.at
@@ -0,0 +1,193 @@
+# cdemo.at -- Using Automake to build a program and library -*- Autotest -*-
+#
+# Copyright (C) 2003-2004, 2011-2015 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#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/tests/cmdline_wrap.at b/tests/cmdline_wrap.at
new file mode 100644
index 0000000..1a02bb9
--- /dev/null
+++ b/tests/cmdline_wrap.at
@@ -0,0 +1,50 @@
+# cmdline_wrap.at -- run tests with low max_cmd_len -*- Autotest -*-
+
+# Copyright (C) 2007, 2009, 2011-2015 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/tests/configure-iface.at b/tests/configure-iface.at
new file mode 100644
index 0000000..1fb561c
--- /dev/null
+++ b/tests/configure-iface.at
@@ -0,0 +1,328 @@
+# configure-iface.at -- test ltdl configure interface -*- Autotest -*-
+#
+# Copyright (C) 2007-2008, 2011-2015 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 <ltdl.h>
+#include <stdio.h>
+
+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/tests/convenience.at b/tests/convenience.at
new file mode 100644
index 0000000..ad3accb
--- /dev/null
+++ b/tests/convenience.at
@@ -0,0 +1,289 @@
+# convenience.at -- testing C convenience archives -*- Autotest -*-
+
+# Copyright (C) 2005, 2007-2015 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 <<EOF
+extern int a1(void);
+int main(void) { return a1() != 1; }
+EOF
+cat >main2.c <<EOF
+extern int a1(void), a2(void);
+int main(void) { return a1() + a2() != 3; }
+EOF
+cat >main3.c <<EOF
+extern int a1(void), a2(void), a3(void);
+int main(void) { return a1() + a2() + a3() != 6; }
+EOF
+for i in 1 2 3; do
+ echo "int a$i(void) { return $i; }" > 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 <<EOF
+extern int a1(void);
+int main(void) { return a1() != 1; }
+EOF
+cat >main2.cpp <<EOF
+extern int a1(void), a2(void);
+int main(void) { return a1() + a2() != 3; }
+EOF
+cat >main3.cpp <<EOF
+extern int a1(void), a2(void), a3(void);
+int main(void) { return a1() + a2() + a3() != 6; }
+EOF
+for i in 1 2 3; do
+ echo "int a$i(void) { return $i; }" > 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 <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ end
+EOF
+cat >main2.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ call a2(res)
+ end
+EOF
+cat >main3.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ call a2(res)
+ call a3(res)
+ end
+EOF
+
+for i in 1 2 3; do
+ cat >a$i.f <<EOF
+ subroutine a$i(res)
+ implicit none
+ integer*4 res
+ res=$i
+ return
+ end
+EOF
+ $LIBTOOL --tag=F77 --mode=compile $F77 $FFLAGS -c main$i.f
+ $LIBTOOL --tag=F77 --mode=compile $F77 $FFLAGS -c a$i.f
+ $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba$i.la a$i.lo
+done
+AT_CHECK([$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist],
+ [0],[ignore],[ignore])
+AT_CHECK([$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $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=F77 --mode=link $F77 $FFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la],
+ [0],[ignore],[ignore])
+ AT_CHECK([$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $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([FC convenience archives])
+LT_AT_TAG([FC])
+AT_KEYWORDS([libtool])
+
+cat >main1.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ end
+EOF
+cat >main2.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ call a2(res)
+ end
+EOF
+cat >main3.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ call a2(res)
+ call a3(res)
+ end
+EOF
+
+for i in 1 2 3; do
+ cat >a$i.f <<EOF
+ subroutine a$i(res)
+ implicit none
+ integer*4 res
+ res=$i
+ return
+ end
+EOF
+ $LIBTOOL --tag=FC --mode=compile $FC $FCFLAGS -c main$i.f
+ $LIBTOOL --tag=FC --mode=compile $FC $FCFLAGS -c a$i.f
+ $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba$i.la a$i.lo
+done
+AT_CHECK([$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist],
+ [0],[ignore],[ignore])
+AT_CHECK([$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $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=FC --mode=link $FC $FCFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la],
+ [0],[ignore],[ignore])
+ AT_CHECK([$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $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([Java convenience archives])
+LT_AT_EXEC_TAG([GCJ])
+AT_KEYWORDS([libtool])
+
+cat >foo1.java <<EOF
+public class foo1 {
+ public static void main(String[[]] argv) {
+ A1 a1 = new A1();
+ }
+}
+EOF
+cat >foo2.java <<EOF
+public class foo2 {
+ public static void main(String[[]] argv) {
+ A1 a1 = new A1(); A2 a2 = new A2();
+ }
+}
+EOF
+cat >foo3.java <<EOF
+public class foo3 {
+ public static void main(String[[]] argv) {
+ A1 a1 = new A1(); A2 a2 = new A2(); A3 a3 = new A3();
+ }
+}
+EOF
+for i in 1 2 3; do
+ cat >A$i.java <<EOF
+public class A$i {
+ private int a;
+ public A$i () { a = 0; }
+};
+EOF
+
+ # Workaround http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143
+ # 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, so
+ # we have to make .class files first, and then compile those to native
+ # objects:
+ $GCJ $GCJFLAGS -C foo$i.java
+ $GCJ $GCJFLAGS -C A$i.java
+
+ $LIBTOOL --tag=GCJ --mode=compile $GCJ $GCJFLAGS -c foo$i.class
+ $LIBTOOL --tag=GCJ --mode=compile $GCJ $GCJFLAGS -c A$i.class
+ $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba$i.la A$i.lo
+done
+AT_CHECK([$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist],
+ [0],[ignore],[ignore])
+AT_CHECK([$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $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=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -static --main=foo$i -o main_static$EXEEXT foo$i.lo liba$conv.la],
+ [0],[ignore],[ignore])
+ AT_CHECK([$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS --main=foo$i -o main$EXEEXT foo$i.lo liba$conv.la],
+ [0],[ignore],[ignore])
+ LT_AT_EXEC_CHECK([./main_static])
+ LT_AT_EXEC_CHECK([./main])
+done
+AT_CLEANUP
diff --git a/tests/ctor.at b/tests/ctor.at
new file mode 100644
index 0000000..b052ec8
--- /dev/null
+++ b/tests/ctor.at
@@ -0,0 +1,67 @@
+# ctor.at -- Test constructors via C++ -*- Autotest -*-
+#
+# Copyright (C) 2007-2008, 2011-2015 Free Software Foundation, Inc.
+# Written by Noah Misch, 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([Constructors.])
+
+AT_SETUP([C++ static constructors])
+LT_AT_TAG([CXX])
+AT_KEYWORDS([libtool])
+
+AT_DATA(class.h,
+[[#define magic 0xaabbccdd
+class Foo {
+public:
+ Foo() { bar = magic; }
+ unsigned bar;
+};
+
+extern Foo instance;
+]])
+
+AT_DATA(libctor.cpp,
+[[#include "class.h"
+Foo instance;
+]])
+
+AT_DATA(main.cpp,
+[[#include "class.h"
+
+int main(void)
+{
+ return instance.bar != magic;
+}
+]])
+
+AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS \
+ -c libctor.cpp -o libctor.lo], [0], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS \
+ -c main.cpp -o main.lo], [0], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS \
+ libctor.lo -o libctor.la -rpath /none], [0], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS \
+ main.lo libctor.la -o main$EXEEXT], [0], [ignore], [ignore])
+
+LT_AT_EXEC_CHECK([./main], [0])
+
+AT_CLEANUP
diff --git a/tests/cwrapper.at b/tests/cwrapper.at
new file mode 100644
index 0000000..e6d6761
--- /dev/null
+++ b/tests/cwrapper.at
@@ -0,0 +1,263 @@
+# cwrapper.at -- test cwrapper compliance with standards -*- Autotest -*-
+
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Written by Charles Wilson, 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.
+####
+
+AT_SETUP([cwrapper for uninstalled executables])
+AT_KEYWORDS([libtool])
+
+# make sure existing libtool is configured for shared libraries
+AT_CHECK([$LIBTOOL --features | $GREP 'disable shared libraries' && exit 77],
+ [1], [ignore])
+
+AT_DATA([trivial.c],
+[[
+int main (void)
+{
+ return 0;
+}
+]])
+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;
+}
+]])
+
+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
+
+ 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/tests/darwin.at b/tests/darwin.at
new file mode 100644
index 0000000..6134c32
--- /dev/null
+++ b/tests/darwin.at
@@ -0,0 +1,446 @@
+# darwin.at - tests specific to Mac OS X
+#
+# Copyright (C) 2008-2009, 2011-2015 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:
+# <http://sources.redhat.com/autobook/autobook/autobook_169.html>
+# so if it needs changes, be sure to notify the Autobook authors
+# about them.
+
+AT_DATA([simple-module.c],
+[[
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C"
+#endif
+int
+run (const char *argument)
+{
+ printf ("Hello, %s!\n", argument);
+ return 0;
+}
+]])
+
+AT_DATA([ltdl-loader.c],
+[[
+#include <stdio.h>
+#include <stdlib.h>
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+# define EXIT_SUCCESS 0
+#endif
+
+#include <limits.h>
+#ifndef PATH_MAX
+# define PATH_MAX 255
+#endif
+
+#include <string.h>
+#include <ltdl.h>
+
+#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/tests/demo.at b/tests/demo.at
new file mode 100644
index 0000000..7c6f5dc
--- /dev/null
+++ b/tests/demo.at
@@ -0,0 +1,981 @@
+# demo.at -- Linking and loading. -*- Autotest -*-
+#
+# Copyright (C) 2003-2004, 2011-2015 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+]])
+
+AT_DATA([hell2.c],
+[[#include <config.h>
+int hell2 (void) { return 2; }
+]])
+
+AT_DATA([hello.c],
+[[#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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
+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 \
+ | $FGREP "$objdir" > /dev/null 2>&1; then
+ hardcoded=yes
+
+ elif $FGREP "$objdir" $file > /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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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/tests/depdemo.at b/tests/depdemo.at
new file mode 100644
index 0000000..625b7f2
--- /dev/null
+++ b/tests/depdemo.at
@@ -0,0 +1,430 @@
+# depdemo.at -- Library interdependencies -*- Autotest -*-
+#
+# Copyright (C) 2003-2004, 2011-2015 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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $ECHO '#include <math.h>'
+ $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/tests/deplib-in-subdir.at b/tests/deplib-in-subdir.at
new file mode 100644
index 0000000..9046d0c
--- /dev/null
+++ b/tests/deplib-in-subdir.at
@@ -0,0 +1,157 @@
+# deplib-in-subdir.at -- -*- Autotest -*-
+
+# Copyright (C) 2010-2015 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/tests/deplibs-ident.at b/tests/deplibs-ident.at
new file mode 100644
index 0000000..b59fb28
--- /dev/null
+++ b/tests/deplibs-ident.at
@@ -0,0 +1,80 @@
+# deplibs-ident.at -- detecting identical deplibs -*- Autotest -*-
+
+# Copyright (C) 2005, 2007-2008, 2011-2015 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/tests/deplibs-mingw.at b/tests/deplibs-mingw.at
new file mode 100644
index 0000000..b40f48c
--- /dev/null
+++ b/tests/deplibs-mingw.at
@@ -0,0 +1,97 @@
+# deplibs-mingw.at -- -*- Autotest -*-
+
+# Copyright (C) 2010-2015 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/tests/destdir.at b/tests/destdir.at
new file mode 100644
index 0000000..f3676a9
--- /dev/null
+++ b/tests/destdir.at
@@ -0,0 +1,142 @@
+# destdir.at -- test various DESTDIR issues -*- Autotest -*-
+
+# Copyright (C) 2006-2007, 2011-2015 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/tests/dlloader-api.at b/tests/dlloader-api.at
new file mode 100644
index 0000000..a40546d
--- /dev/null
+++ b/tests/dlloader-api.at
@@ -0,0 +1,441 @@
+# dlloader.at -- test dlloader functionality -*- Autotest -*-
+#
+# Copyright (C) 2010-2015 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 <ltdl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+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/tests/dumpbin-symbols.at b/tests/dumpbin-symbols.at
new file mode 100644
index 0000000..139f428
--- /dev/null
+++ b/tests/dumpbin-symbols.at
@@ -0,0 +1,111 @@
+# dumpbin-symbols.at -- libtool "dumpbin -symbols" support -*- Autotest -*-
+
+# Copyright (C) 2010-2015 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<bool,0>::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/tests/duplicate_conv.at b/tests/duplicate_conv.at
new file mode 100644
index 0000000..2466bcf
--- /dev/null
+++ b/tests/duplicate_conv.at
@@ -0,0 +1,91 @@
+# duplicate_conv.at -- duplicate convenience archive names -*- Autotest -*-
+
+# Copyright (C) 2006, 2008, 2011-2015 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/tests/duplicate_deps.at b/tests/duplicate_deps.at
new file mode 100644
index 0000000..b5d1fee
--- /dev/null
+++ b/tests/duplicate_deps.at
@@ -0,0 +1,76 @@
+# duplicate_deps.at -- preserve duplicate convenience deps -*- Autotest -*-
+
+# Copyright (C) 2006-2008, 2011-2015 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/tests/duplicate_members.at b/tests/duplicate_members.at
new file mode 100755
index 0000000..cd71031
--- /dev/null
+++ b/tests/duplicate_members.at
@@ -0,0 +1,78 @@
+# duplicate_members.at -- duplicate members in archive tests -*- Autotest -*-
+
+# Copyright (C) 2005, 2007-2009, 2011-2015 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/tests/early-libtool.at b/tests/early-libtool.at
new file mode 100644
index 0000000..ae18992
--- /dev/null
+++ b/tests/early-libtool.at
@@ -0,0 +1,229 @@
+# early-libtool.at -- early libtool script generation -*- Autotest -*-
+
+# Copyright (C) 2005-2008, 2011-2015 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 <stdio.h>
+
+void
+hello (void)
+{
+ printf ("** This is not GNU Hello. There is no built-in mail reader. **\n");
+}
+]])
+
+AT_DATA([main.c],
+[[#include <stdio.h>
+
+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 <stdio.h>
+
+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 <stdio.h>
+
+void
+hello (void)
+{
+ printf ("** This is not GNU Hello. There is no built-in mail reader. **\n");
+}
+]])
+
+AT_DATA([main.c],
+[[#include <stdio.h>
+
+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/tests/exceptions.at b/tests/exceptions.at
new file mode 100644
index 0000000..e0352b3
--- /dev/null
+++ b/tests/exceptions.at
@@ -0,0 +1,401 @@
+# exception.at -- test C++ exception handling with libtool -*- Autotest -*-
+#
+# Copyright (C) 2010-2015 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 <exception>
+#include <string>
+
+#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 <iostream>
+#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 <exception>
+#include <string>
+
+
+#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 <iostream>
+#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 <ltdl.h>
+#include <cstdlib>
+#include <iostream>
+#include <exception>
+#include <string>
+#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/tests/execute-mode.at b/tests/execute-mode.at
new file mode 100644
index 0000000..bc68911
--- /dev/null
+++ b/tests/execute-mode.at
@@ -0,0 +1,221 @@
+# execute-mode.at -- libtool --mode=execute -*- Autotest -*-
+#
+# Copyright (C) 2008-2015 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 <stdio.h>
+extern int a ();
+int main (int argc, char **argv)
+{
+ int i;
+ for (i=1; i<argc; ++i)
+ {
+ if (i != 1)
+ fputc ('\n', stdout);
+ fputs (argv[i], stdout);
+ }
+ fputc ('\n', stdout);
+ return a ();
+}
+]])
+
+LDFLAGS="$LDFLAGS -no-undefined"
+instdir=`pwd`/inst
+libdir=$instdir/lib
+
+AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c],
+ [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la -rpath $libdir liba.lo],
+ [], [ignore], [ignore])
+AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c],
+ [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la],
+ [], [ignore], [ignore])
+
+# 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.
+
+AT_CHECK([$LIBTOOL --mode=execute ./foo])
+AT_CHECK([$LIBTOOL --mode=execute sub/foo])
+AT_CHECK([$LIBTOOL --mode=execute ./foo foo], [], [foo
+])
+AT_CHECK([$LIBTOOL --mode=execute ./lt-wrapper foo </dev/null], [], [foo
+])
+AT_CHECK([cd sub && $LIBTOOL --mode=execute ./foo ../foo], [], [../foo
+])
+# suppose that ./foo is gdb, and lt-wrapper is the wrapper script.
+AT_CHECK([$LIBTOOL --mode=execute ./foo lt-wrapper bar baz </dev/null], [],
+ [./lt-real
+bar
+baz
+])
+
+# check that stdin works even with -dlopen.
+AT_CHECK([echo bar | $LIBTOOL --mode=execute -dlopen libfakelib.la ./lt-wrapper foo],
+ [], [foo
+bar
+])
+
+# 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
+AT_CHECK([$LIBTOOL --mode=execute ./lt-wrapper foo </dev/null || exit 1],
+ [1], [ignore], [ignore])
+mv -f lt-backup lt-real
+
+# Now use arguments that require decent quoting.
+AT_CHECK([$LIBTOOL --mode=execute ./foo "arg with special chars: \$!&*'\`()"],
+ [], [arg with special chars: $!&*'`()
+])
+AT_CHECK([$LIBTOOL --mode=execute ./lt-wrapper "arg with special chars: \$!&*'\`()" </dev/null],
+ [], [arg with special chars: $!&*'`()
+])
+AT_CHECK([$LIBTOOL --mode=execute ./foo lt-wrapper "arg with special chars: \$!&*'\`()"],
+ [], [./lt-real
+arg with special chars: $!&*'`()
+])
+LT_AT_NOINST_EXEC_CHECK([./main], [], [], [stdout], [ignore],
+ ["arg with special chars: \$!&*'\`()"])
+AT_CHECK([$FGREP 'arg with special chars: $!&*'\''`()' stdout], [], [ignore])
+
+# 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\\\\' '' \
+ '<' '>' \
+ '<def>' ''
+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 </dev/null], [], [stdout])
+ 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 ./foo lt-wrapper abc "$arg1" "$arg2" xyz], [], [stdout])
+ 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 ./main$EXEEXT abc "$arg1" "$arg2" xyz], [], [stdout])
+ AT_CHECK([$FGREP "$arg1" stdout], [], [ignore])
+ AT_CHECK([test -z "$arg2" || $FGREP "$arg2" stdout], [], [ignore])
+ # Do not match EOL here, cross setups may have an extra \r here.
+ AT_CHECK([test `$SED -n '/^abc/,/^xyz/p' stdout | wc -l` -eq 4])
+ arg1=
+done
+
+# Check that .la files are not transformed by the wrapper searching loop.
+AT_CHECK([$LIBTOOL --mode=execute echo ./main$EXEEXT liba.lo libfakelib.la], [], [stdout])
+# This could be .libs/lt-main or similar (or just plain 'main').
+AT_CHECK([$GREP main stdout], [], [ignore])
+AT_CHECK([$GREP liba.lo stdout], [], [ignore])
+AT_CHECK([$GREP libfakelib.la stdout], [], [ignore])
+
+AT_CLEANUP
diff --git a/tests/exeext.at b/tests/exeext.at
new file mode 100644
index 0000000..321f7c3
--- /dev/null
+++ b/tests/exeext.at
@@ -0,0 +1,53 @@
+# exeext.at -- ensure that exeext handling works -*- Autotest -*-
+#
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Written by Peter Rosin
+#
+# 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([both of -o prog and -o prog$EXEEXT work])
+AT_KEYWORDS([libtool])
+
+AT_CHECK([test -n "$EXEEXT" || exit 77])
+
+bin=`pwd`/bin
+binext=`pwd`/binext
+mkdir src $bin srcext $binext
+
+AT_DATA(src/prog.c,
+[[
+int main(void) { return 0; }
+]])
+
+$CC $CPPFLAGS $CFLAGS -c src/prog.c -o src/prog.$OBJEXT
+
+AT_CHECK($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/prog src/prog.$OBJEXT,
+ [0], [ignore], [ignore])
+AT_CHECK($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o srcext/prog$EXEEXT src/prog.$OBJEXT,
+ [0], [ignore], [ignore])
+
+$LIBTOOL --mode=install cp src/prog $bin/prog
+$LIBTOOL --mode=install cp srcext/prog$EXEEXT $binext/prog$EXEEXT
+
+LT_AT_EXEC_CHECK([$bin/prog])
+LT_AT_EXEC_CHECK([$binext/prog$EXEEXT])
+
+AT_CLEANUP
diff --git a/tests/export-def.at b/tests/export-def.at
new file mode 100755
index 0000000..d679b5b
--- /dev/null
+++ b/tests/export-def.at
@@ -0,0 +1,139 @@
+# export-def.at -- test module-definition files -*- Autotest -*-
+
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Written by Peter Rosin, 2013
+#
+# 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([export from a DLL with a .def file])
+AT_KEYWORDS([libtool])
+
+AT_CHECK([$LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77)],
+ [1], [ignore])
+eval `$LIBTOOL --config | $EGREP '^(shrext_cmds|libname_spec|soname_spec)='`
+
+eval shared_ext=\"$shrext_cmds\"
+
+# skip if not building a .dll
+AT_CHECK([test .dll = "$shared_ext" || (exit 77)])
+
+LDFLAGS="$LDFLAGS -no-undefined"
+libdir=`pwd`/inst/lib
+mkdir inst inst/lib
+
+AT_DATA([a.c],
+[[/* a */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int v1 = -1;
+int v2 (void) { return -2; }
+
+#ifdef __cplusplus
+}
+#endif
+]])
+
+AT_DATA([syms],
+[[v1
+v2
+]])
+
+AT_DATA([def1],
+[[EXPORTS
+v1 DATA
+v2
+]])
+
+AT_DATA([def2],
+[[; Def file
+ ; with some very important comments
+EXPORTS
+v1 DATA
+v2
+]])
+
+AT_DATA([def3],
+[[
+ EXPORTS v1 DATA
+ v2
+]])
+
+AT_DATA([def4],
+[[ LIBRARY %soname%
+EXPORTS
+v1 DATA
+v2
+]])
+
+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.
+ *
+ * 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;
+}
+]])
+
+name=a
+eval libname=\"$libname_spec\"
+major=0
+versuffix=-$major
+eval soname=\"$soname_spec\"
+
+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])
+
+for exportsyms in syms def1 def2 def3 def4
+do
+ $SED "s/%soname%/$soname/" -i $exportsyms
+
+ LT_AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \
+ -rpath $libdir' -export-symbols $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])
+done
+
+AT_CLEANUP
diff --git a/tests/export.at b/tests/export.at
new file mode 100644
index 0000000..b8114dd
--- /dev/null
+++ b/tests/export.at
@@ -0,0 +1,197 @@
+# export.at -- test symbol exports -*- Autotest -*-
+
+# Copyright (C) 2007-2008, 2011-2015 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([Export test])
+AT_KEYWORDS([libtool])
+
+AT_CHECK([$LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77)],
+ [1], [ignore])
+AT_CHECK([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])
+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/tests/f77demo.at b/tests/f77demo.at
new file mode 100644
index 0000000..d68c54a
--- /dev/null
+++ b/tests/f77demo.at
@@ -0,0 +1,337 @@
+# f77demo.at -- Fortran 77 language support. -*- Autotest -*-
+#
+# Copyright (C) 2003, 2005-2006, 2011-2015 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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+
+/* 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 <config.h>
+#include <stdio.h>
+
+#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/tests/fail.at b/tests/fail.at
new file mode 100644
index 0000000..431450e
--- /dev/null
+++ b/tests/fail.at
@@ -0,0 +1,123 @@
+# fail.at -- test that libtool really fail when it should -*- Autotest -*-
+#
+# Copyright (C) 2005, 2008-2009, 2011-2015 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/tests/fcdemo.at b/tests/fcdemo.at
new file mode 100644
index 0000000..32316cb
--- /dev/null
+++ b/tests/fcdemo.at
@@ -0,0 +1,351 @@
+# fcdemo.at -- Fortran 90/95 language support. -*- Autotest -*-
+#
+# Copyright (C) 2003, 2005-2006, 2011-2015 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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+
+/* 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 <config.h>
+#include <stdio.h>
+
+#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/tests/flags.at b/tests/flags.at
new file mode 100644
index 0000000..2789b13
--- /dev/null
+++ b/tests/flags.at
@@ -0,0 +1,116 @@
+# flags.at -- libtool passing of flags -*- Autotest -*-
+#
+# Copyright (C) 2009-2015 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/tests/help.at b/tests/help.at
new file mode 100644
index 0000000..081796d
--- /dev/null
+++ b/tests/help.at
@@ -0,0 +1,191 @@
+# help.at -- standard command line options -*- Autotest -*-
+#
+# Copyright (C) 2009-2015 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/tests/indirect_deps.at b/tests/indirect_deps.at
new file mode 100644
index 0000000..0d294a4
--- /dev/null
+++ b/tests/indirect_deps.at
@@ -0,0 +1,117 @@
+# indirect_deps.at -- support for link_all_deplibs=no -*- Autotest -*-
+
+# Copyright (C) 2007-2008, 2011-2015 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 <math.h>
+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/tests/infer-tag.at b/tests/infer-tag.at
new file mode 100644
index 0000000..cb0b270
--- /dev/null
+++ b/tests/infer-tag.at
@@ -0,0 +1,97 @@
+# infer-tag.at -- libtool without --tag -*- Autotest -*-
+#
+# Copyright (C) 2008, 2010-2015 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/tests/inherited_flags.at b/tests/inherited_flags.at
new file mode 100644
index 0000000..0ba5720
--- /dev/null
+++ b/tests/inherited_flags.at
@@ -0,0 +1,113 @@
+# inherited_flags.at -- test inherited_linker_flags -*- Autotest -*-
+#
+# Copyright (C) 2005-2008, 2011-2015 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/tests/install.at b/tests/install.at
new file mode 100644
index 0000000..ba2f461
--- /dev/null
+++ b/tests/install.at
@@ -0,0 +1,52 @@
+# install.at -- install mode tests -*- Autotest -*-
+#
+# Copyright (C) 2008-2009, 2011-2015 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/tests/lalib-syntax.at b/tests/lalib-syntax.at
new file mode 100644
index 0000000..ce16b81
--- /dev/null
+++ b/tests/lalib-syntax.at
@@ -0,0 +1,137 @@
+# lalib-syntax.at -- parsing .la files robustly -*- Autotest -*-
+#
+# Copyright (C) 2009-2015 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 <ltdl.h>
+#include <stdio.h>
+#include <assert.h>
+
+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/tests/libtool.at b/tests/libtool.at
new file mode 100755
index 0000000..8162f5e
--- /dev/null
+++ b/tests/libtool.at
@@ -0,0 +1,244 @@
+# libtool.at -- basic libtool operation tests -*- Autotest -*-
+#
+# Copyright (C) 2003-2005, 2008, 2011-2015 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/tests/libtoolize.at b/tests/libtoolize.at
new file mode 100644
index 0000000..705abad
--- /dev/null
+++ b/tests/libtoolize.at
@@ -0,0 +1,1166 @@
+# libtoolize.at -- test libtoolize operation -*- Autotest -*-
+#
+# Copyright (C) 2005, 2007-2008, 2011-2015 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/tests/link-order.at b/tests/link-order.at
new file mode 100644
index 0000000..cfc6aa7
--- /dev/null
+++ b/tests/link-order.at
@@ -0,0 +1,127 @@
+# link-order.at -- ensure that library linking order matches -*- Autotest -*-
+#
+# Copyright (C) 2005, 2007-2008, 2011-2015 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 <<EOF
+/* w32 fun, MSVC needs to dllimport when using a shared library, so use
+ * DLL_EXPORT to discriminate as that happens to coinside in this case.
+ * gnu has auto import.
+ */
+#if defined _MSC_VER && defined DLL_EXPORT
+# define LIBCEE_SCOPE __declspec(dllimport)
+#else
+# define LIBCEE_SCOPE extern
+#endif
+LIBCEE_SCOPE int c;
+extern int b_$i();
+int a_$i() { return c + b_$i(); }
+EOF
+
+ cat >src/b_$i.c <<EOF
+/* w32 fun, MSVC needs to dllimport when using a shared library, so use
+ * DLL_EXPORT to discriminate as that happens to coinside in this case.
+ * gnu has auto import.
+ */
+#if defined _MSC_VER && defined DLL_EXPORT
+# define LIBCEE_SCOPE __declspec(dllimport)
+#else
+# define LIBCEE_SCOPE extern
+#endif
+LIBCEE_SCOPE int c;
+int b_$i() { return 1 + c; }
+EOF
+
+ prefix=`eval echo \\$prefix_$i`
+ $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/a_$i.c -o src/a.lo
+ $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/b_$i.c -o src/b.lo
+ $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/libb.la src/b.lo \
+ -L$prefix_old/lib -lcee -rpath $prefix/lib
+ $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/liba.la src/a.lo \
+ src/libb.la -L$prefix_old/lib -lcee -rpath $prefix/lib
+ $LIBTOOL --mode=install cp src/libb.la $prefix/lib/libb.la
+ AT_CHECK([$LIBTOOL --mode=install cp src/liba.la $prefix/lib/liba.la],
+ [0], [stdout], [stderr])
+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)
+ AT_CHECK([if $EGREP relinking stderr; then
+ $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout
+ else :; fi], [0], [ignore], [], [echo "wrong link order"])
+ ;;
+ *)
+ AT_CHECK([if $EGREP relinking stderr; then
+ $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout
+ else :; fi], [0], [ignore], [], [echo "wrong link order"])
+ ;;
+ esac
+ ;;
+esac
+
+for i in old new; do
+ cat >src/main_$i.c <<EOF
+extern int a_$i();
+int main(void) { return a_$i() != 3; }
+EOF
+
+ prefix=`eval echo \\$prefix_$i`
+ $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/main_$i.c -o src/main_$i.lo
+ AT_CHECK($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/main_$i$EXEEXT src/main_$i.lo -L$prefix/lib -la,
+ [0], [ignore], [ignore])
+ LT_AT_EXEC_CHECK([src/main_$i])
+done
+
+AT_CLEANUP
diff --git a/tests/link-order2.at b/tests/link-order2.at
new file mode 100644
index 0000000..7e48d76
--- /dev/null
+++ b/tests/link-order2.at
@@ -0,0 +1,150 @@
+# link-order2.at -- test link order of deplibs -*- Autotest -*-
+#
+# Copyright (C) 2006-2008, 2011-2015 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.
+####
+
+# link-order2.test: make sure that depdepls are added right after
+# the libs that pull them in: necessary at least for static linking
+# and on systems where libraries do not link against other libraries.
+#
+# We test by overriding one symbol from a depdepl library.
+# Test both a libtool library and a non-libtool library (simulated
+# by removing the .la file, and setting $shlibpath_var so it is
+# found at runtime). In order to ensure that the depdepl is
+# actually loaded in each case, we also use an unrelated symbol
+# from it directly in the main program. We test for failure by
+# reversing the link order.
+# We test both static and shared: it should work in both cases.
+# But for the static case to work, the two symbols in the depdepl
+# need to be in separate object files, otherwise duplicate symbol
+# definitions can happen.
+
+# The shared case fails on AIX without runtimelinking and on Darwin.
+# On Darwin, using shared libs this only works without -no-undefined
+# and only with MACOS_DEPLOYMENT_TARGET 10.2 and earlier
+# (in that case $allow_undefined_flag contains -flat_namespace).
+
+AT_SETUP([Link order of deplibs])
+AT_KEYWORDS([libtool])
+AT_KEYWORDS([interactive])dnl running 'wrong' may cause a popup window.
+
+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 <stdlib.h>
+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
+ AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0],
+ [], [ignore], [ignore])
+ LT_AT_EXEC_CHECK([./main])
+ # Now test that if we reverse the link order, the program fails.
+ AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la],
+ [], [ignore], [ignore])
+ if test yes, != "$shared_fails,$static"; then
+ LT_AT_EXEC_CHECK([./wrong], [1], [], [ignore], [|| (exit 1)])
+ 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_AT_EXEC_CHECK([$bindir/main])
+ if test yes, = "$shared_fails,$static"; then
+ LT_AT_EXEC_CHECK([$bindir/wrong], [1], [], [ignore], [|| (exit 1)])
+ fi
+ done
+done
+
+AT_CHECK([test no = "$shared_fails" || (exit 77)])
+
+# Now the converse: if both the program and the library need libm, then
+# it needs to be sorted last. (TODO)
+
+AT_CLEANUP
diff --git a/tests/loadlibrary.at b/tests/loadlibrary.at
new file mode 100644
index 0000000..a8f33a3
--- /dev/null
+++ b/tests/loadlibrary.at
@@ -0,0 +1,269 @@
+# loadlibrary.at -- test loadlibrary functionality -*- Autotest -*-
+#
+# Copyright (C) 2010-2015 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([loadlibrary error messages])
+AT_KEYWORDS([libltdl])
+
+eval "`$LIBTOOL --config | $EGREP '^(objdir)='`"
+
+AT_DATA([main.c],
+[[#include <ltdl.h>
+#include <stdio.h>
+
+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;
+}
+]])
+
+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/tests/localization.at b/tests/localization.at
new file mode 100644
index 0000000..d3c4310
--- /dev/null
+++ b/tests/localization.at
@@ -0,0 +1,73 @@
+# localization.at -- libtool and locales -*- Autotest -*-
+#
+# Copyright (C) 2008-2015 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/tests/lt_dladvise.at b/tests/lt_dladvise.at
new file mode 100644
index 0000000..02e665c
--- /dev/null
+++ b/tests/lt_dladvise.at
@@ -0,0 +1,389 @@
+# lt_dladvise.at -- test libltdl functionality -*- Autotest -*-
+#
+# Copyright (C) 2007-2009, 2011-2015 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 <ltdl.h>
+#include <stdio.h>
+
+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/tests/lt_dlexit.at b/tests/lt_dlexit.at
new file mode 100644
index 0000000..a4d12fa
--- /dev/null
+++ b/tests/lt_dlexit.at
@@ -0,0 +1,164 @@
+# lt_dlexit.at -- test libltdl functionality -*- Autotest -*-
+#
+# Copyright (C) 2007-2008, 2010-2015 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 <ltdl.h>
+#include <stdio.h>
+#include <string.h>
+
+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/tests/lt_dlopen.at b/tests/lt_dlopen.at
new file mode 100644
index 0000000..7c07f5e
--- /dev/null
+++ b/tests/lt_dlopen.at
@@ -0,0 +1,103 @@
+# lt_dlopen.at -- test libltdl functionality -*- Autotest -*-
+#
+# Copyright (C) 2009, 2011-2015 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 <ltdl.h>
+#include <stdio.h>
+
+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/tests/lt_dlopen_a.at b/tests/lt_dlopen_a.at
new file mode 100644
index 0000000..16744f9
--- /dev/null
+++ b/tests/lt_dlopen_a.at
@@ -0,0 +1,97 @@
+# lt_dlopen_a.at -- test libltdl functionality -*- Autotest -*-
+#
+# Copyright (C) 2009, 2011-2015 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 <ltdl.h>
+#include <stdio.h>
+
+/* 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/tests/lt_dlopenext.at b/tests/lt_dlopenext.at
new file mode 100644
index 0000000..25f4d92
--- /dev/null
+++ b/tests/lt_dlopenext.at
@@ -0,0 +1,251 @@
+# lt_dlopenext.at -- test libltdl functionality -*- Autotest -*-
+#
+# Copyright (C) 2009-2015 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:
+# <http://sources.redhat.com/autobook/autobook/autobook_169.html>
+# so if it needs changes, be sure to notify the Autobook authors
+# about them.
+
+AT_DATA([simple-module.c],
+[[
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C"
+#endif
+int
+run (const char *argument)
+{
+ printf ("Hello, %s!\n", argument);
+ return 0;
+}
+]])
+
+AT_DATA([ltdl-loader.c],
+[[
+#include <stdio.h>
+#include <stdlib.h>
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+# define EXIT_SUCCESS 0
+#endif
+
+#include <limits.h>
+#ifndef PATH_MAX
+# define PATH_MAX 255
+#endif
+
+#include <string.h>
+#include <ltdl.h>
+
+#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/tests/ltdl-api.at b/tests/ltdl-api.at
new file mode 100644
index 0000000..79fce99
--- /dev/null
+++ b/tests/ltdl-api.at
@@ -0,0 +1,39 @@
+# ltdl-api.at -- test libltdl API -*- Autotest -*-
+#
+# Copyright (C) 2008, 2011-2015 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/tests/ltdl-libdir.at b/tests/ltdl-libdir.at
new file mode 100644
index 0000000..73e5a50
--- /dev/null
+++ b/tests/ltdl-libdir.at
@@ -0,0 +1,124 @@
+# ltdl-libdir.at -- test libltdl functionality -*- Autotest -*-
+#
+# Copyright (C) 2010-2015 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 <stdio.h>
+#include <ltdl.h>
+
+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/tests/mdemo.at b/tests/mdemo.at
new file mode 100644
index 0000000..8988acf
--- /dev/null
+++ b/tests/mdemo.at
@@ -0,0 +1,855 @@
+# demo.at -- Dynamic ltdl runtime loading -*- Autotest -*-
+#
+# Copyright (C) 1998, 2002-2004, 2011-2015 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+void sub (void) { printf ("sub() called\n"); }
+]])
+
+AT_DATA([main.c],
+[[#include <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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 <stdio.h>
+#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/tests/need_lib_prefix.at b/tests/need_lib_prefix.at
new file mode 100644
index 0000000..c3a704c
--- /dev/null
+++ b/tests/need_lib_prefix.at
@@ -0,0 +1,197 @@
+# need-lib-prefix.at -- test libltdl functionality -*- Autotest -*-
+#
+# Copyright (C) 2007-2008, 2010-2015 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 <ltdl.h>
+#include <stdio.h>
+
+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/tests/no-executables.at b/tests/no-executables.at
new file mode 100644
index 0000000..b2f4bbe
--- /dev/null
+++ b/tests/no-executables.at
@@ -0,0 +1,79 @@
+# no-executables.at -- Libtool usage in GCC -*- Autotest -*-
+
+# Copyright (C) 2008, 2010-2015 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/tests/nocase.at b/tests/nocase.at
new file mode 100644
index 0000000..a0e412c
--- /dev/null
+++ b/tests/nocase.at
@@ -0,0 +1,85 @@
+# nocase.at -- test for nocase lib search -*- Autotest -*-
+#
+# Copyright (C) 2010-2015 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/tests/nonrecursive.at b/tests/nonrecursive.at
new file mode 100644
index 0000000..df856e5
--- /dev/null
+++ b/tests/nonrecursive.at
@@ -0,0 +1,150 @@
+# nonrecursive.at -- test nonrecursive Automake Libltdl -*- Autotest -*-
+#
+# Copyright (C) 2005, 2008-2009, 2011-2015 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/tests/old-ltdl-iface.at b/tests/old-ltdl-iface.at
new file mode 100644
index 0000000..768ebde
--- /dev/null
+++ b/tests/old-ltdl-iface.at
@@ -0,0 +1,138 @@
+# old-ltdl-iface.at -- exercise old libtoolize interface to libltdl
+#
+# Copyright (C) 2011-2015 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 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.
+####
+
+# FIXME: Remove this test in 2013, along with support for Makefile.inc
+
+
+AT_BANNER([Support for older libltdl interfaces.])
+
+
+## ------------------------- ##
+## Support for Makefile.inc. ##
+## ------------------------- ##
+
+AT_SETUP([Makefile.inc])
+
+AT_DATA([configure.in],
+[[AC_INIT([old-ltdl-iface-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
+AC_CONFIG_MACRO_DIRS([m4])
+AC_CONFIG_LIBOBJ_DIR([ltdl])
+LT_CONFIG_LTDL_DIR([ltdl])
+AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE([foreign subdir-objects])
+LT_INIT
+LTDL_INIT([nonrecursive])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+]])
+
+AT_DATA([Makefile.am],
+[[ACLOCAL_AMFLAGS = -I m4
+BUILT_SOURCES =
+AM_CPPFLAGS =
+AM_LDFLAGS =
+include_HEADERS =
+noinst_LTLIBRARIES =
+lib_LTLIBRARIES =
+EXTRA_LTLIBRARIES =
+EXTRA_DIST =
+CLEANFILES =
+MOSTLYCLEANFILES =
+include ltdl/Makefile.inc
+bin_PROGRAMS = old
+old_LDADD = -Lltdl $(LIBLTDL)
+]])
+
+AT_DATA([old.c],
+[[#include <stdio.h>
+#include "ltdl.h"
+int main () {
+ putchar ('.');
+ putchar (lt_dlinit () ? 'E' : '.');
+ putchar (lt_dlexit () ? 'E' : '.');
+ return 0;
+}
+]])
+
+AT_DATA([expout],
+[[libtoolize: putting auxiliary files in '.'.
+libtoolize: linking file './config.guess'
+libtoolize: linking file './config.sub'
+libtoolize: linking file './install-sh'
+libtoolize: linking file './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/README'
+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: creating file 'ltdl/ltdl.mk'
+libtoolize: renaming file 'ltdl/Makefile.inc'
+libtoolize: linking file 'ltdl/slist.c'
+libtoolize: Consider updating to use of 'include ltdl/ltdl.mk' in Makefile.am.
+]])
+
+AT_DATA([experr],
+[[libtoolize: error: Use of 'include ltdl/Makefile.inc' is deprecated!
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--ltdl=ltdl --nonrecursive --install], 0, [expout], [experr])
+
+AT_CHECK([test -f ltdl/Makefile.inc])
+
+LT_AT_BOOTSTRAP([ignore], [-I m4], [], [--add-missing], [--force])
+
+LT_AT_EXEC_CHECK([./old], 0, [[...]])
+
+AT_CLEANUP
diff --git a/tests/old-m4-iface.at b/tests/old-m4-iface.at
new file mode 100644
index 0000000..aa85491
--- /dev/null
+++ b/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-2015 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 <stdio.h>
+
+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/tests/package.m4 b/tests/package.m4
new file mode 100644
index 0000000..13d09c4
--- /dev/null
+++ b/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.5])
+m4_define([AT_PACKAGE_STRING], [GNU Libtool 2.4.5])
+m4_define([AT_PACKAGE_BUGREPORT], [bug-libtool@gnu.org])
+m4_define([AT_PACKAGE_URL], [http://www.gnu.org/software/libtool/])
diff --git a/tests/pic_flag.at b/tests/pic_flag.at
new file mode 100644
index 0000000..effdae4
--- /dev/null
+++ b/tests/pic_flag.at
@@ -0,0 +1,63 @@
+# pic_flag.at -- override the pic_flag at configure time -*- Autotest -*-
+
+# Copyright (C) 2010-2015 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/tests/recursive.at b/tests/recursive.at
new file mode 100644
index 0000000..e59ff39
--- /dev/null
+++ b/tests/recursive.at
@@ -0,0 +1,119 @@
+# recursive.at -- test recursive Automake libltdl build -*- Autotest -*-
+#
+# Copyright (C) 2005, 2008, 2011-2015 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/tests/resident.at b/tests/resident.at
new file mode 100644
index 0000000..2bc25c3
--- /dev/null
+++ b/tests/resident.at
@@ -0,0 +1,148 @@
+# resident.at -- test resident modules -*- Autotest -*-
+
+# Copyright (C) 2010-2015 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 <ltdl.h>
+#include <stdio.h>
+
+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 <stdlib.h>
+#include <stdio.h>
+
+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/tests/runpath-in-lalib.at b/tests/runpath-in-lalib.at
new file mode 100644
index 0000000..fb14b24
--- /dev/null
+++ b/tests/runpath-in-lalib.at
@@ -0,0 +1,66 @@
+# runpath-in-lalib.at -- -*- Autotest -*-
+
+# Copyright (C) 2007-2008, 2011-2015 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/tests/search-path.at b/tests/search-path.at
new file mode 100644
index 0000000..a66df0a
--- /dev/null
+++ b/tests/search-path.at
@@ -0,0 +1,97 @@
+# search-path.at -- test sys_lib_search_path_spec -*- Autotest -*-
+#
+# Copyright (C) 2006, 2008, 2010-2015 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 <windows.h>
+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/tests/shlibpath.at b/tests/shlibpath.at
new file mode 100644
index 0000000..263ced7
--- /dev/null
+++ b/tests/shlibpath.at
@@ -0,0 +1,73 @@
+# shlibpath.at -- Test shlibpath settings -*- Autotest -*-
+#
+# Copyright (C) 2006, 2008, 2011-2015 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/tests/slist.at b/tests/slist.at
new file mode 100644
index 0000000..a183224
--- /dev/null
+++ b/tests/slist.at
@@ -0,0 +1,170 @@
+# slist.at -- test slist.c -*- Autotest -*-
+#
+# Copyright (C) 2009, 2011-2015 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 <config.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <stdio.h>
+#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/tests/standalone.at b/tests/standalone.at
new file mode 100644
index 0000000..343ba4f
--- /dev/null
+++ b/tests/standalone.at
@@ -0,0 +1,89 @@
+# standalone.at -- test standalone libltdl builds -*- Autotest -*-
+#
+# Copyright (C) 2005, 2008, 2011-2015 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/tests/static.at b/tests/static.at
new file mode 100644
index 0000000..3308da9
--- /dev/null
+++ b/tests/static.at
@@ -0,0 +1,379 @@
+# static.at -- test flags for static/dynamic linking -*- Autotest -*-
+#
+# Copyright (C) 2006-2008, 2011-2015 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/tests/stresstest.at b/tests/stresstest.at
new file mode 100644
index 0000000..d1fc063
--- /dev/null
+++ b/tests/stresstest.at
@@ -0,0 +1,290 @@
+# stresstest.at -- Libtool stress test -*- Autotest -*-
+#
+# Copyright (C) 2005-2008, 2011-2015 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/tests/subproject.at b/tests/subproject.at
new file mode 100644
index 0000000..43995bc
--- /dev/null
+++ b/tests/subproject.at
@@ -0,0 +1,122 @@
+# subproject.at -- test subproject Libltdl builds -*- Autotest -*-
+#
+# Copyright (C) 2005, 2008, 2011-2015 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/tests/sysroot.at b/tests/sysroot.at
new file mode 100644
index 0000000..779bcf0
--- /dev/null
+++ b/tests/sysroot.at
@@ -0,0 +1,208 @@
+# static.at -- test flags for sysrooting -*- Autotest -*-
+#
+# Copyright (C) 2009, 2011-2015 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 <string.h>
+#include <stdlib.h>
+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 <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+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 <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+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/tests/tagdemo.at b/tests/tagdemo.at
new file mode 100644
index 0000000..9662a46
--- /dev/null
+++ b/tests/tagdemo.at
@@ -0,0 +1,395 @@
+# tagdemo.at -- C++ Language support. -*- Autotest -*-
+#
+# Copyright (C) 2003-2005, 2011-2015 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 <iostream>
+#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 <config.h>
+#if HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#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 <config.h>
+#ifdef HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#endif
+
+#ifdef HAVE_NAMESPACES
+namespace std { }
+using namespace std;
+#endif
+
+#include <math.h>
+
+#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 <config.h>
+
+#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 <config.h>
+
+#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/tests/template.at b/tests/template.at
new file mode 100644
index 0000000..5d2cb0c
--- /dev/null
+++ b/tests/template.at
@@ -0,0 +1,324 @@
+# template.at -- test C++ templates with libtool -*- Autotest -*-
+#
+# Copyright (C) 2005, 2007-2008, 2011-2015 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<typename T>
+
+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<typename T>
+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 <class T>
+unsigned int a(const T&);
+
+template <class T>
+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 <class T>
+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/tests/testsuite b/tests/testsuite
new file mode 100755
index 0000000..34baf50
--- /dev/null
+++ b/tests/testsuite
@@ -0,0 +1,51534 @@
+#! /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;libtoolize.at:84;libtoolize macro installation;libtoolize;
+2;libtoolize.at:109;libtoolize macro directory mismatch error;libtoolize;
+3;libtoolize.at:130;multiple AC_CONFIG_MACRO_DIRS invocation;libtoolize;
+4;libtoolize.at:158;multiple AC_CONFIG_MACRO_DIRS directories;libtoolize;
+5;libtoolize.at:190;libtoolize ACLOCAL_AMFLAGS extraction;libtoolize;
+6;libtoolize.at:225;libtoolize macro serial update;libtoolize;
+7;libtoolize.at:298;libtoolize config files serial update;libtoolize;
+8;libtoolize.at:378;diagnose missing LT_CONFIG_LTDL_DIR;libtoolize;
+9;libtoolize.at:523;copy ltdl.m4 with shared macro directory;libtoolize;
+10;libtoolize.at:535;correctly parse LTDL_INIT from configure.ac;libtoolize;
+11;libtoolize.at:547;diagnose missing LTDL_INIT invocation;libtoolize;
+12;libtoolize.at:624;upgrading verbatim style aclocal.m4;libtoolize automake;
+13;libtoolize.at:748;verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS;libtoolize automake;
+14;libtoolize.at:877;nonrecursive ltdl with AC_CONFIG_MACRO_DIRS;libtoolize;
+15;libtoolize.at:948;subproject ltdl with unconventional layout;libtoolize;
+16;libtoolize.at:1024;Subproject ltdl without GNU M4;;
+17;libtoolize.at:1096;LIBTOOLIZE_OPTIONS;libtoolize;
+18;libtoolize.at:1142;cleanup old installation;libtoolize;
+19;libtool.at:33;check help output;;
+20;libtool.at:48;diagnose no mode specified;;
+21;libtool.at:60;quote shell meta-characters in filenames;;
+22;libtool.at:155;transform source suffices;;
+23;libtool.at:183;check link mode operation;;
+24;libtool.at:205;check objectlist file operation;;
+25;libtool.at:217;test LT_SUPPORTED_TAG interface;;
+26;demo.at:383;link against a preloaded static library;libtoolize automake autoconf;
+27;demo.at:400;build and dynamically load a module;libtoolize automake autoconf;
+28;demo.at:417;preload static and dynamic module;libtoolize automake autoconf;
+29;demo.at:437;deplibs_check_method;libtoolize automake autoconf;
+30;demo.at:478;disable fast install;libtoolize automake autoconf;
+31;demo.at:496;force PIC objects;libtoolize automake autoconf;
+32;demo.at:510;force non-PIC objects;libtoolize automake autoconf;
+33;demo.at:548;hardcoding library path;libtoolize automake autoconf;
+34;demo.at:714;binary relinking at install time;interactive libtoolize automake autoconf;
+35;demo.at:786;uninstalled libraries have priority;libtoolize automake autoconf;
+36;demo.at:809;linking with long file names;libtoolize automake autoconf;
+37;pic_flag.at:24;override pic_flag at configure time;libtoolize automake autoconf;
+38;with-pic.at:24;test --with-pic;libtoolize automake autoconf;
+39;cdemo.at:135;build and link against a static library;libtoolize automake autoconf;
+40;cdemo.at:150;build and link against a dynamic library;libtoolize automake autoconf;
+41;cdemo.at:165;build both static and dynamic;libtoolize automake autoconf;
+42;cdemo.at:180;allow_undefined_flag;libtoolize automake autoconf;
+43;convenience.at:30;C convenience archives;libtool;
+44;convenience.at:69;C++ convenience archives;cxx libtool;
+45;convenience.at:109;F77 convenience archives;f77 libtool;
+46;convenience.at:169;FC convenience archives;fc libtool;
+47;convenience.at:229;Java convenience archives;gcj libtool;
+48;depdemo.at:285;static library interdependencies;libtoolize automake autoconf;
+49;depdemo.at:302;shared library interdependencies;libtoolize automake autoconf;
+50;depdemo.at:319;shared and static interdependencies;libtoolize automake autoconf;
+51;depdemo.at:336;disable fast install;libtoolize automake autoconf;
+52;depdemo.at:354;binary relinking at install time;interactive libtoolize automake autoconf;
+53;help.at:26;standard command line options;libtool libtoolize;
+54;help.at:45;mode short-hands;;
+55;help.at:97;debug tracing;;
+56;duplicate_members.at:26;duplicate members in archive tests;libtool;
+57;duplicate_conv.at:25;duplicate convenience archive names;libtool;
+58;duplicate_deps.at:25;preserve duplicate convenience deps;libtool;
+59;flags.at:116;passing CC flags through libtool;libtool cc;
+60;flags.at:116;passing CXX flags through libtool;libtool cxx;
+61;flags.at:116;passing F77 flags through libtool;libtool f77;
+62;flags.at:116;passing FC flags through libtool;libtool fc;
+63;flags.at:116;passing GCJ flags through libtool;libtool gcj;
+64;inherited_flags.at:26;inherited_linker_flags;libtool;
+65;link-order.at:27;Link order test;libtool;
+66;link-order2.at:46;Link order of deplibs;libtool interactive;
+67;fail.at:28;Failure tests;libtool;
+68;shlibpath.at:25;shlibpath_overrides_runpath;libtool;
+69;runpath-in-lalib.at:25;Runpath in libtool library files;libtool;
+70;static.at:68;static linking flags for programs;libtool interactive;
+71;static.at:359;ccache -all-static;;
+72;export.at:25;Export test;libtool;
+73;export-def.at:25;export from a DLL with a .def file;libtool;
+74;search-path.at:24;sys_lib_search_path;libtool;
+75;search-path.at:62;sys_lib_search_path on w32;libtool;
+76;indirect_deps.at:25;indirect convenience;libtool;
+77;indirect_deps.at:71;indirect uninstalled;libtool;
+78;archive-in-archive.at:26;static library contains static library;libtool;
+79;exeext.at:26;both of -o prog and -o prog\$EXEEXT work;libtool;
+80;execute-mode.at:25;execute mode;libtool;
+81;bindir.at:64;bindir basic lib test;;
+82;bindir.at:173;bindir install tests;;
+83;cwrapper.at:25;cwrapper for uninstalled executables;libtool;
+84;cwrapper.at:138;cwrapper string length;;
+85;cwrapper.at:201;cwrapper and installed shared libraries;libtool;
+86;deplib-in-subdir.at:34;deplib in subdir;libtool;
+87;infer-tag.at:30;inferred tag;libtool;
+88;infer-tag.at:42;CXX inferred tag;cxx libtool;
+89;infer-tag.at:55;F77 inferred tag;f77 libtool;
+90;infer-tag.at:69;FC inferred tag;fc libtool;
+91;infer-tag.at:83;GCJ inferred tag;gcj libtool;
+92;localization.at:24;localized compiler messages;libtool;
+93;nocase.at:26;nocase library search;libtool;
+94;install.at:25;Install tests;libtool;
+95;versioning.at:24;versioning;libtool;
+96;destdir.at:48;Simple DESTDIR install;libtool;
+97;destdir.at:75;DESTDIR with in-package deplibs;libtool;
+98;old-m4-iface.at:41;AM_PROG_LIBTOOL;libtoolize autoconf;
+99;old-m4-iface.at:113;AC_WITH_LTDL;libtoolize automake autoconf;
+100;old-m4-iface.at:173;AC_CONFIG_MACRO_DIR;libtoolize;
+101;old-ltdl-iface.at:35;Makefile.inc;libtoolize automake autoconf;
+102;am-subdir.at:33;C subdir-objects;libtoolize automake autoconf;
+103;am-subdir.at:93;C++ subdir-objects;cxx libtoolize automake autoconf;
+104;lt_dlexit.at:30;lt_dlexit unloading libs;libltdl;
+105;lt_dladvise.at:28;lt_dlopenadvise library loading;libltdl;
+106;lt_dlopen.at:23;lt_dlopen error messages;libltdl;
+107;lt_dlopen_a.at:23;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:25;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:24;SList functionality;;
+116;need_lib_prefix.at:25;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:31;compiling softlinked libltdl;libtoolize;
+123;standalone.at:46;compiling copied libltdl;libtoolize;
+124;standalone.at:61;installable libltdl;libtoolize;
+125;standalone.at:79;linking libltdl without autotools;libtoolize;
+126;subproject.at:57;compiling softlinked libltdl;libtoolize automake autoconf;
+127;subproject.at:73;compiling copied libltdl;libtoolize automake autoconf;
+128;subproject.at:89;installable libltdl;libtoolize automake autoconf;
+129;subproject.at:109;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:60;compiling softlinked libltdl;libtoolize autoconf automake;
+134;recursive.at:80;compiling copied libltdl;libtoolize autoconf automake;
+135;recursive.at:100;installable libltdl;libtoolize autoconf automake;
+136;tagdemo.at:338;static library;cxx libtool libtoolize automake autoconf;
+137;tagdemo.at:353;shared library;cxx libtool libtoolize automake autoconf;
+138;tagdemo.at:368;shared and static together;cxx libtool libtoolize automake autoconf;
+139;tagdemo.at:383;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:27;C++ static constructors;cxx libtool;
+143;exceptions.at:24;C++ exception handling;libtool libltdl;
+144;early-libtool.at:32;config.status;libtoolize automake autoconf;
+145;early-libtool.at:126;config.lt;libtoolize automake autoconf;
+146;no-executables.at:25;AC_NO_EXECUTABLES;libtoolize automake autoconf;
+147;deplibs-ident.at:33;build tree relpaths;libtool;
+148;configure-iface.at:102;installable libltdl;libltdl libtoolize automake autoconf;
+149;configure-iface.at:162;--with-ltdl-include/lib;libltdl libtoolize automake autoconf;
+150;configure-iface.at:243;--with-included-ltdl;libltdl libtoolize automake autoconf;
+151;configure-iface.at:304;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:26;darwin fat compile;;
+159;darwin.at:103;darwin concurrent library extraction;;
+160;darwin.at:152;darwin gdb debug information;;
+161;darwin.at:208;darwin ld warnings changing configure results;libtoolize autoconf automake;
+162;darwin.at:232;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:203;-L=.../lib -l;libtool sysroot libtoolize automake autoconf;
+166;sysroot.at:204;-L SYSROOT/.../lib -l;libtool sysroot libtoolize automake autoconf;
+167;sysroot.at:205;SYSROOT/.../*.la;libtool sysroot libtoolize automake autoconf;
+168;stresstest.at:31;Link option thorough search test;libtool expensive;
+169;cmdline_wrap.at:28;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 <bug-libtool@gnu.org>.
+GNU Libtool home page: <http://www.gnu.org/software/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>.
+_ATEOF
+ exit $at_write_fail
+fi
+
+# List of tests.
+if $at_list_p; then
+ cat <<_ATEOF || at_write_fail=1
+GNU Libtool 2.4.5 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.5)" &&
+ 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. libtoolize.at:27
+# Category starts at test group 1.
+at_banner_text_1="Libtoolize operation."
+# Banner 2. libtool.at:26
+# Category starts at test group 19.
+at_banner_text_2="Basic libtool operation."
+# Banner 3. demo.at:26
+# Category starts at test group 26.
+at_banner_text_3="Linking and loading."
+# Banner 4. cdemo.at:26
+# Category starts at test group 39.
+at_banner_text_4="Convenience libraries."
+# Banner 5. depdemo.at:26
+# Category starts at test group 48.
+at_banner_text_5="Library interdependencies."
+# Banner 6. help.at:24
+# Category starts at test group 53.
+at_banner_text_6="Testing libtool functions."
+# Banner 7. destdir.at:25
+# Category starts at test group 96.
+at_banner_text_7="DESTDIR tests"
+# Banner 8. old-m4-iface.at:27
+# Category starts at test group 98.
+at_banner_text_8="Support for older m4 interface."
+# Banner 9. old-ltdl-iface.at:28
+# Category starts at test group 101.
+at_banner_text_9="Support for older libltdl interfaces."
+# Banner 10. am-subdir.at:26
+# Category starts at test group 102.
+at_banner_text_10="Libtool subdir-objects support."
+# Banner 11. lt_dlexit.at:28
+# 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:25
+# Category starts at test group 122.
+at_banner_text_13="Standalone Libltdl."
+# Banner 14. subproject.at:25
+# 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:25
+# Category starts at test group 133.
+at_banner_text_16="Recursive Automake Libltdl."
+# Banner 17. tagdemo.at:26
+# 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:25
+# Category starts at test group 142.
+at_banner_text_19="Constructors."
+# Banner 20. early-libtool.at:25
+# Category starts at test group 144.
+at_banner_text_20="libtool script generation."
+# Banner 21. no-executables.at:24
+# 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:25
+# 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:25
+# 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:202
+# Category starts at test group 165.
+at_banner_text_28="sysroot tests"
+# Banner 29. stresstest.at:30
+# 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.5 test suite. ##
+## ----------------------------- ##"
+{
+ $as_echo "## ----------------------------- ##
+## GNU Libtool 2.4.5 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:524: $at_program_ --version"
+ "$at_program_" --version </dev/null
+ echo
+ } >&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 <bug-libtool@gnu.org>.
+_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: <bug-libtool@gnu.org>
+ Subject: [GNU Libtool 2.4.5] $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 'libtoolize.at:84' \
+ "libtoolize macro installation" " " 1
+at_xfail=no
+(
+ $as_echo "1. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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_1
+#AT_START_2
+at_fn_group_banner 2 'libtoolize.at:109' \
+ "libtoolize macro directory mismatch error" " " 1
+at_xfail=no
+(
+ $as_echo "2. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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_2
+#AT_START_3
+at_fn_group_banner 3 'libtoolize.at:130' \
+ "multiple AC_CONFIG_MACRO_DIRS invocation" " " 1
+at_xfail=no
+(
+ $as_echo "3. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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_3
+#AT_START_4
+at_fn_group_banner 4 'libtoolize.at:158' \
+ "multiple AC_CONFIG_MACRO_DIRS directories" " " 1
+at_xfail=no
+(
+ $as_echo "4. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtooize-demo], 2.4.5, 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_4
+#AT_START_5
+at_fn_group_banner 5 'libtoolize.at:190' \
+ "libtoolize ACLOCAL_AMFLAGS extraction" " " 1
+at_xfail=no
+(
+ $as_echo "5. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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_5
+#AT_START_6
+at_fn_group_banner 6 'libtoolize.at:225' \
+ "libtoolize macro serial update" " " 1
+at_xfail=no
+(
+ $as_echo "6. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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_6
+#AT_START_7
+at_fn_group_banner 7 'libtoolize.at:298' \
+ "libtoolize config files serial update" " " 1
+at_xfail=no
+(
+ $as_echo "7. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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_7
+#AT_START_8
+at_fn_group_banner 8 'libtoolize.at:378' \
+ "diagnose missing LT_CONFIG_LTDL_DIR" " " 1
+at_xfail=no
+(
+ $as_echo "8. $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.5, 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_8
+#AT_START_9
+at_fn_group_banner 9 'libtoolize.at:523' \
+ "copy ltdl.m4 with shared macro directory" " " 1
+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: 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.5, 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_9
+#AT_START_10
+at_fn_group_banner 10 'libtoolize.at:535' \
+ "correctly parse LTDL_INIT from configure.ac" " " 1
+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.5, 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_10
+#AT_START_11
+at_fn_group_banner 11 'libtoolize.at:547' \
+ "diagnose missing LTDL_INIT invocation" " " 1
+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: 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.5, 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_11
+#AT_START_12
+at_fn_group_banner 12 'libtoolize.at:624' \
+ "upgrading verbatim style aclocal.m4" " " 1
+at_xfail=no
+ test no = "$ACLOCAL" && at_xfail=yes
+(
+ $as_echo "12. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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.5, 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; }
+
+
+
+
+
+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_12
+#AT_START_13
+at_fn_group_banner 13 'libtoolize.at:748' \
+ "verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS" " " 1
+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.5, 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; }
+
+
+
+
+
+## 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_13
+#AT_START_14
+at_fn_group_banner 14 'libtoolize.at:877' \
+ "nonrecursive ltdl with AC_CONFIG_MACRO_DIRS" " " 1
+at_xfail=no
+(
+ $as_echo "14. $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.5, 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_14
+#AT_START_15
+at_fn_group_banner 15 'libtoolize.at:948' \
+ "subproject ltdl with unconventional layout" " " 1
+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, '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.5, 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_15
+#AT_START_16
+at_fn_group_banner 16 'libtoolize.at:1024' \
+ "Subproject ltdl without GNU M4" " " 1
+at_xfail=no
+(
+ $as_echo "16. $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_16
+#AT_START_17
+at_fn_group_banner 17 'libtoolize.at:1096' \
+ "LIBTOOLIZE_OPTIONS" " " 1
+at_xfail=no
+(
+ $as_echo "17. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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_17
+#AT_START_18
+at_fn_group_banner 18 'libtoolize.at:1142' \
+ "cleanup old installation" " " 1
+at_xfail=no
+(
+ $as_echo "18. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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_18
+#AT_START_19
+at_fn_group_banner 19 'libtool.at:33' \
+ "check help output" " " 2
+at_xfail=no
+(
+ $as_echo "19. $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_19
+#AT_START_20
+at_fn_group_banner 20 'libtool.at:48' \
+ "diagnose no mode specified" " " 2
+at_xfail=no
+(
+ $as_echo "20. $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_20
+#AT_START_21
+at_fn_group_banner 21 'libtool.at:60' \
+ "quote shell meta-characters in filenames" " " 2
+at_xfail=no
+(
+ $as_echo "21. $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:102: \$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:102"
+( $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:102"
+$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:116: \$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:116"
+( $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:116"
+$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:120: \$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:120"
+( $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:120"
+$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:125: \$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:125"
+( $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:125"
+$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:134: \$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:134"
+( $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:134"
+$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:143: \$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:143"
+( $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:143"
+$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_21
+#AT_START_22
+at_fn_group_banner 22 'libtool.at:155' \
+ "transform source suffices" " " 2
+at_xfail=no
+(
+ $as_echo "22. $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:165: \$LIBTOOL -n --mode=compile compiler -c foo.\$ext"
+at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=compile compiler -c foo.$ext" "libtool.at:165"
+( $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:165"
+$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:172: \$LIBTOOL -n --mode=compile compiler -c \$name"
+at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=compile compiler -c $name" "libtool.at:172"
+( $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:172"
+$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_22
+#AT_START_23
+at_fn_group_banner 23 'libtool.at:183' \
+ "check link mode operation" " " 2
+at_xfail=no
+(
+ $as_echo "23. $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_23
+#AT_START_24
+at_fn_group_banner 24 'libtool.at:205' \
+ "check objectlist file operation" " " 2
+at_xfail=no
+(
+ $as_echo "24. $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_24
+#AT_START_25
+at_fn_group_banner 25 'libtool.at:217' \
+ "test LT_SUPPORTED_TAG interface" " " 2
+at_xfail=no
+(
+ $as_echo "25. $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:235: \$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:235"
+( $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:235"
+$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:241: \$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:241"
+( $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:241"
+$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_25
+#AT_START_26
+at_fn_group_banner 26 'demo.at:383' \
+ "link against a preloaded static library" " " 3
+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 "26. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([demo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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; }
+
+
+
+
+{ 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:389: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:389"
+( $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:389"
+$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:389: if \"\$lt_exe\" ; 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:389"
+( $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:389"
+$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:389: if \"\$lt_exe\" ; 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:389"
+( $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:389"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:389: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:389"
+( $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:389"
+$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: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=$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: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=$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: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: \$prefix/bin/helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:390"
+( $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:390"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in uninstall
+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
+
+
+leftovers=`find $prefix ! -type d ! -name '.*' -print`
+{ set +x
+$as_echo "$at_srcdir/demo.at:391: test -z \"\$leftovers\""
+at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:391"
+( $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:391"
+$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:400' \
+ "build and dynamically load a module" " " 3
+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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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; }
+
+
+
+
+{ 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:406: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:406"
+( $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:406"
+$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:406: if \"\$lt_exe\" ; 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:406"
+( $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:406"
+$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:406: if \"\$lt_exe\" ; 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:406"
+( $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:406"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:406: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:406"
+( $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:406"
+$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: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=$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: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=$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: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: \$prefix/bin/helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:407"
+( $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:407"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in uninstall
+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
+
+
+leftovers=`find $prefix ! -type d ! -name '.*' -print`
+{ set +x
+$as_echo "$at_srcdir/demo.at:408: test -z \"\$leftovers\""
+at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:408"
+( $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:408"
+$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:417' \
+ "preload static and dynamic module" " " 3
+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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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; }
+
+
+
+
+{ 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:423: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:423"
+( $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:423"
+$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:423: if \"\$lt_exe\" ; 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:423"
+( $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:423"
+$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:423: if \"\$lt_exe\" ; 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:423"
+( $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:423"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:423: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:423"
+( $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:423"
+$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: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=$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: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=$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: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: \$prefix/bin/helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:424"
+( $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:424"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in uninstall
+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
+
+
+leftovers=`find $prefix ! -type d ! -name '.*' -print`
+{ set +x
+$as_echo "$at_srcdir/demo.at:425: test -z \"\$leftovers\""
+at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:425"
+( $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:425"
+$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:437' \
+ "deplibs_check_method" " " 3
+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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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:467: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:467"
+( $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:467"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:467: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:467"
+( $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:467"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:467: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:467"
+( $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:467"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/demo.at:467: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:467"
+( $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:467"
+$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:467: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:467"
+( $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:467"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:467: : \${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:467"
+( $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:467"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+for target in deplibs-check
+do
+ { set +x
+$as_echo "$at_srcdir/demo.at:468: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:468"
+( $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:468"
+$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:469: if \"\$lt_exe\" ; 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:469"
+( $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:469"
+$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:478' \
+ "disable fast install" " " 3
+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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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:482: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:482"
+( $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:482"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:482: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:482"
+( $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:482"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:482: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:482"
+( $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:482"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/demo.at:482: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:482"
+( $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:482"
+$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:482: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:482"
+( $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:482"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:482: : \${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:482"
+( $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:482"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:483: \$EGREP '^hardcode_action=relink' libtool && (exit 77)"
+at_fn_check_prepare_dynamic "$EGREP '^hardcode_action=relink' libtool && (exit 77)" "demo.at:483"
+( $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:483"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/demo.at:485: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:485"
+( $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:485"
+$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:485: if \"\$lt_exe\" ; 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:485"
+( $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:485"
+$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:485: if \"\$lt_exe\" ; 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:485"
+( $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:485"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:485: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:485"
+( $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:485"
+$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: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=$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: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=$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: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: \$prefix/bin/helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:486"
+( $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:486"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in uninstall
+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
+
+
+leftovers=`find $prefix ! -type d ! -name '.*' -print`
+{ set +x
+$as_echo "$at_srcdir/demo.at:487: test -z \"\$leftovers\""
+at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:487"
+( $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:487"
+$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:496' \
+ "force PIC objects" " " 3
+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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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:500: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:500"
+( $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:500"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:500: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:500"
+( $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:500"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:500: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:500"
+( $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:500"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/demo.at:500: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:500"
+( $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:500"
+$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:500: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:500"
+( $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:500"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:500: : \${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:500"
+( $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:500"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/demo.at:501: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:501"
+( $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:501"
+$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:501: if \"\$lt_exe\" ; 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:501"
+( $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:501"
+$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:501: if \"\$lt_exe\" ; 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:501"
+( $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:501"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:501: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:501"
+( $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:501"
+$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:510' \
+ "force non-PIC objects" " " 3
+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
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:535: 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:535"
+( $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:535"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([demo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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:538: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:538"
+( $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:538"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:538: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:538"
+( $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:538"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:538: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:538"
+( $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:538"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/demo.at:538: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:538"
+( $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:538"
+$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:538: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:538"
+( $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:538"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:538: : \${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:538"
+( $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:538"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/demo.at:539: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:539"
+( $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:539"
+$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:539: if \"\$lt_exe\" ; 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:539"
+( $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:539"
+$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:539: if \"\$lt_exe\" ; 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:539"
+( $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:539"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:539: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:539"
+( $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: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_32
+#AT_START_33
+at_fn_group_banner 33 'demo.at:548' \
+ "hardcoding library path" " " 3
+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
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([demo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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:611: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:611"
+( $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:611"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:611: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:611"
+( $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:611"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:611: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:611"
+( $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:611"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/demo.at:611: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:611"
+( $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:611"
+$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:611: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:611"
+( $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:611"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:611: : \${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:611"
+( $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:611"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/demo.at:612: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:612"
+( $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:612"
+$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:612: if \"\$lt_exe\" ; 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:612"
+( $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:612"
+$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:612: if \"\$lt_exe\" ; 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:612"
+( $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:612"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:612: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:612"
+( $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:612"
+$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: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=$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: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=$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: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: \$prefix/bin/helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:613"
+( $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:613"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+eval `$EGREP '^library_names=' libhello.la`
+{ set +x
+$as_echo "$at_srcdir/demo.at:616: test -n \"\$library_names\" || (exit 77)"
+at_fn_check_prepare_dynamic "test -n \"$library_names\" || (exit 77)" "demo.at:616"
+( $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:616"
+$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:621: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:621"
+( $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:621"
+$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:705: exit_status=0
+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 \\
+ | \$FGREP \"\$objdir\" > /dev/null 2>&1; then
+ hardcoded=yes
+
+ elif \$FGREP \"\$objdir\" \$file > /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:705"
+( $at_check_trace; exit_status=0
+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 \
+ | $FGREP "$objdir" > /dev/null 2>&1; then
+ hardcoded=yes
+
+ elif $FGREP "$objdir" $file > /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:705"
+$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:714' \
+ "binary relinking at install time" " " 3
+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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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:719: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:719"
+( $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:719"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:719: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:719"
+( $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:719"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:719: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:719"
+( $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:719"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/demo.at:719: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:719"
+( $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:719"
+$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:719: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:719"
+( $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:719"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:719: : \${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:719"
+( $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:719"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/demo.at:720: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:720"
+( $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:720"
+$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:720: if \"\$lt_exe\" ; 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:720"
+( $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:720"
+$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:720: if \"\$lt_exe\" ; 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:720"
+( $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:720"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:720: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:720"
+( $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:720"
+$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:721: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:721"
+( $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:721"
+$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:721: if \"\$lt_exe\" ; 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:721"
+( $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:721"
+$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:721: if \"\$lt_exe\" ; 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:721"
+( $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:721"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:721: \$prefix/bin/helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:721"
+( $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:721"
+$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:725: test -n \"\$library_names\" || (exit 77)"
+at_fn_check_prepare_dynamic "test -n \"$library_names\" || (exit 77)" "demo.at:725"
+( $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:725"
+$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:745: ./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:745"
+( $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:745"
+$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:748: \$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:748"
+( $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:748"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:749: test -f libhello.la"
+at_fn_check_prepare_trace "demo.at:749"
+( $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:749"
+$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:755: ./hell || (exit 1)"
+at_fn_check_prepare_trace "demo.at:755"
+( $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:755"
+$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:760: rm -f \$objdir/lt-hell\$EXEEXT"
+at_fn_check_prepare_dynamic "rm -f $objdir/lt-hell$EXEEXT" "demo.at:760"
+( $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:760"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/demo.at:761: cp \$objdir/hell\$EXEEXT \$objdir/lt-hell\$EXEEXT"
+at_fn_check_prepare_dynamic "cp $objdir/hell$EXEEXT $objdir/lt-hell$EXEEXT" "demo.at:761"
+( $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:761"
+$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:766: ./hell"
+at_fn_check_prepare_trace "demo.at:766"
+( $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:766"
+$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_34
+#AT_START_35
+at_fn_group_banner 35 'demo.at:786' \
+ "uninstalled libraries have priority" " " 3
+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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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:790: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:790"
+( $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:790"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:790: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:790"
+( $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:790"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:790: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:790"
+( $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:790"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/demo.at:790: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:790"
+( $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:790"
+$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:790: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:790"
+( $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:790"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:790: : \${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:790"
+( $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:790"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/demo.at:791: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:791"
+( $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:791"
+$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:791: if \"\$lt_exe\" ; 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:791"
+( $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:791"
+$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:791: if \"\$lt_exe\" ; 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:791"
+( $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:791"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:791: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:791"
+( $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:791"
+$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:792: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:792"
+( $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:792"
+$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:792: if \"\$lt_exe\" ; 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:792"
+( $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:792"
+$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:792: if \"\$lt_exe\" ; 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:792"
+( $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:792"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:792: \$prefix/bin/helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:792"
+( $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:792"
+$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:800: \$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:800"
+( $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:800"
+$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_35
+#AT_START_36
+at_fn_group_banner 36 'demo.at:809' \
+ "linking with long file names" " " 3
+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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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:977: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:977"
+( $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:977"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:977: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:977"
+( $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:977"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:977: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:977"
+( $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:977"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/demo.at:977: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:977"
+( $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:977"
+$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:977: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:977"
+( $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:977"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:977: : \${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:977"
+( $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:977"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/demo.at:978: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:978"
+( $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:978"
+$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:978: if \"\$lt_exe\" ; 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:978"
+( $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:978"
+$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:978: if \"\$lt_exe\" ; 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:978"
+( $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:978"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:978: ./helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:978"
+( $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:978"
+$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:979: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:979"
+( $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:979"
+$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:979: if \"\$lt_exe\" ; 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:979"
+( $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:979"
+$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:979: if \"\$lt_exe\" ; 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:979"
+( $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:979"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/demo.at:979: \$prefix/bin/helldl\$EXEEXT |
+ \$EGREP '(Welcome to .*GNU Hell|unsupported)'"
+at_fn_check_prepare_notrace 'an embedded newline' "demo.at:979"
+( $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:979"
+$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 'pic_flag.at:24' \
+ "override pic_flag at configure time" " " 3
+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
+
+
+# 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:37: \$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:37"
+( $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:37"
+$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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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:53: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "pic_flag.at:53"
+( $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:53"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/pic_flag.at:53: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "pic_flag.at:53"
+( $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:53"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/pic_flag.at:53: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "pic_flag.at:53"
+( $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:53"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/pic_flag.at:53: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "pic_flag.at:53"
+( $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:53"
+$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:53: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "pic_flag.at:53"
+( $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:53"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/pic_flag.at:57: : \${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:57"
+( $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:57"
+$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:61: 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:61"
+( $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:61"
+$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 'with-pic.at:24' \
+ "test --with-pic" " " 3
+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
+
+
+# Set up a tests/demo.at style project.
+cat >configure.ac <<'_ATEOF'
+AC_INIT([demo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+int hell1 (void) { return 1; }
+_ATEOF
+
+
+cat >hell2.c <<'_ATEOF'
+#include <config.h>
+int hell2 (void) { return 2; }
+_ATEOF
+
+
+cat >hello.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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*)&nothing;
+#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:32: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "with-pic.at:32"
+( $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:32"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/with-pic.at:32: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "with-pic.at:32"
+( $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:32"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/with-pic.at:32: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "with-pic.at:32"
+( $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:32"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/with-pic.at:32: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "with-pic.at:32"
+( $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:32"
+$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:32: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "with-pic.at:32"
+( $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:32"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/with-pic.at:32: : \${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:32"
+( $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:32"
+$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_38
+#AT_START_39
+at_fn_group_banner 39 'cdemo.at:135' \
+ "build and link against a 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 "39. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([cdemo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#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; }
+
+
+
+
+{ 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:141: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.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/cdemo.at:141"
+$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:141: if \"\$lt_exe\" ; 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:141"
+( $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:141"
+$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_39
+#AT_START_40
+at_fn_group_banner 40 'cdemo.at:150' \
+ "build and link against a dynamic 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 "40. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([cdemo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#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; }
+
+
+
+
+{ 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:156: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:156"
+( $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:156"
+$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:156: if \"\$lt_exe\" ; 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:156"
+( $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:156"
+$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:165' \
+ "build both static and dynamic" " " 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 "41. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([cdemo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#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; }
+
+
+
+
+{ 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:171: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:171"
+( $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:171"
+$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:171: if \"\$lt_exe\" ; 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:171"
+( $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:171"
+$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:180' \
+ "allow_undefined_flag" " " 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 "42. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([cdemo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#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:184: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "cdemo.at:184"
+( $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:184"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/cdemo.at:184: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "cdemo.at:184"
+( $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:184"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/cdemo.at:184: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "cdemo.at:184"
+( $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:184"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/cdemo.at:184: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "cdemo.at:184"
+( $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:184"
+$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:184: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "cdemo.at:184"
+( $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:184"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/cdemo.at:184: : \${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:184"
+( $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:184"
+$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:191: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:191"
+( $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:191"
+$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:191: if \"\$lt_exe\" ; 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:191"
+( $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:191"
+$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 'convenience.at:30' \
+ "C convenience archives" " " 4
+at_xfail=no
+(
+ $as_echo "43. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+cat >main1.c <<EOF
+extern int a1(void);
+int main(void) { return a1() != 1; }
+EOF
+cat >main2.c <<EOF
+extern int a1(void), a2(void);
+int main(void) { return a1() + a2() != 3; }
+EOF
+cat >main3.c <<EOF
+extern int a1(void), a2(void), a3(void);
+int main(void) { return a1() + a2() + a3() != 6; }
+EOF
+for i in 1 2 3; do
+ echo "int a$i(void) { return $i; }" > 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:63: 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:63"
+( $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: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/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; }
+
+
+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_43
+#AT_START_44
+at_fn_group_banner 44 'convenience.at:69' \
+ "C++ convenience archives" " " 4
+at_xfail=no
+(
+ $as_echo "44. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/convenience.at:70: { 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:70"
+( $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:70"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/convenience.at:70: 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:70"
+( $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:70"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+cat >main1.cpp <<EOF
+extern int a1(void);
+int main(void) { return a1() != 1; }
+EOF
+cat >main2.cpp <<EOF
+extern int a1(void), a2(void);
+int main(void) { return a1() + a2() != 3; }
+EOF
+cat >main3.cpp <<EOF
+extern int a1(void), a2(void), a3(void);
+int main(void) { return a1() + a2() + a3() != 6; }
+EOF
+for i in 1 2 3; do
+ echo "int a$i(void) { return $i; }" > 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:103: 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:103"
+( $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:103"
+$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: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; }
+
+
+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:109' \
+ "F77 convenience archives" " " 4
+at_xfail=no
+(
+ $as_echo "45. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/convenience.at:110: { 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:110"
+( $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:110"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+cat >main1.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ end
+EOF
+cat >main2.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ call a2(res)
+ end
+EOF
+cat >main3.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ call a2(res)
+ call a3(res)
+ end
+EOF
+
+for i in 1 2 3; do
+ cat >a$i.f <<EOF
+ subroutine a$i(res)
+ implicit none
+ integer*4 res
+ res=$i
+ return
+ end
+EOF
+ $LIBTOOL --tag=F77 --mode=compile $F77 $FFLAGS -c main$i.f
+ $LIBTOOL --tag=F77 --mode=compile $F77 $FFLAGS -c a$i.f
+ $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba$i.la a$i.lo
+done
+{ set +x
+$as_echo "$at_srcdir/convenience.at:152: \$LIBTOOL --tag=F77 --mode=link \$F77 \$FFLAGS \$LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist"
+at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" "convenience.at:152"
+( $at_check_trace; $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $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: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:163: 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:163"
+( $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:163"
+$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: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; }
+
+
+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:169' \
+ "FC convenience archives" " " 4
+at_xfail=no
+(
+ $as_echo "46. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/convenience.at:170: { 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:170"
+( $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:170"
+$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:170: \$FC \$FCFLAGS fc_test.f90 || exit 77"
+at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "convenience.at:170"
+( $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:170"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+cat >main1.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ end
+EOF
+cat >main2.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ call a2(res)
+ end
+EOF
+cat >main3.f <<EOF
+ program main
+ implicit none
+ integer*4 res
+ call a1(res)
+ call a2(res)
+ call a3(res)
+ end
+EOF
+
+for i in 1 2 3; do
+ cat >a$i.f <<EOF
+ subroutine a$i(res)
+ implicit none
+ integer*4 res
+ res=$i
+ return
+ end
+EOF
+ $LIBTOOL --tag=FC --mode=compile $FC $FCFLAGS -c main$i.f
+ $LIBTOOL --tag=FC --mode=compile $FC $FCFLAGS -c a$i.f
+ $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba$i.la a$i.lo
+done
+{ set +x
+$as_echo "$at_srcdir/convenience.at:212: \$LIBTOOL --tag=FC --mode=link \$FC \$FCFLAGS \$LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist"
+at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" "convenience.at:212"
+( $at_check_trace; $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $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: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:223: 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:223"
+( $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:223"
+$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: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; }
+
+
+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:229' \
+ "Java convenience archives" " " 4
+at_xfail=no
+(
+ $as_echo "47. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/convenience.at:230: { 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:230"
+( $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:230"
+$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:230: \$GCJ \$GCJFLAGS -c gcj_test.java || exit 77"
+at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS -c gcj_test.java || exit 77" "convenience.at:230"
+( $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:230"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/convenience.at:230: \$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:230"
+( $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:230"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/convenience.at:230: ./gcj_test\$EXEEXT || exit 77"
+at_fn_check_prepare_dynamic "./gcj_test$EXEEXT || exit 77" "convenience.at:230"
+( $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:230"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+cat >foo1.java <<EOF
+public class foo1 {
+ public static void main(String[] argv) {
+ A1 a1 = new A1();
+ }
+}
+EOF
+cat >foo2.java <<EOF
+public class foo2 {
+ public static void main(String[] argv) {
+ A1 a1 = new A1(); A2 a2 = new A2();
+ }
+}
+EOF
+cat >foo3.java <<EOF
+public class foo3 {
+ public static void main(String[] argv) {
+ A1 a1 = new A1(); A2 a2 = new A2(); A3 a3 = new A3();
+ }
+}
+EOF
+for i in 1 2 3; do
+ cat >A$i.java <<EOF
+public class A$i {
+ private int a;
+ public A$i () { a = 0; }
+};
+EOF
+
+ # Workaround http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143
+ # 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, so
+ # we have to make .class files first, and then compile those to native
+ # objects:
+ $GCJ $GCJFLAGS -C foo$i.java
+ $GCJ $GCJFLAGS -C A$i.java
+
+ $LIBTOOL --tag=GCJ --mode=compile $GCJ $GCJFLAGS -c foo$i.class
+ $LIBTOOL --tag=GCJ --mode=compile $GCJ $GCJFLAGS -c A$i.class
+ $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba$i.la A$i.lo
+done
+{ set +x
+$as_echo "$at_srcdir/convenience.at:275: \$LIBTOOL --tag=GCJ --mode=link \$GCJ \$GCJFLAGS \$LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist"
+at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" "convenience.at:275"
+( $at_check_trace; $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $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: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:286: 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:286"
+( $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:286"
+$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: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; }
+
+
+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 'depdemo.at:285' \
+ "static library interdependencies" " " 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 "48. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([depdemo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $ECHO '#include <math.h>'
+ $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; }
+
+
+
+
+{ 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:291: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:291"
+( $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:291"
+$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:291: if \"\$lt_exe\" ; 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:291"
+( $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:291"
+$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:291: if \"\$lt_exe\" ; 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:291"
+( $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:291"
+$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: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=$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: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=$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: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; }
+
+
+
+
+
+
+
+for target in uninstall
+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
+
+
+leftovers=`find $prefix ! -type d ! -name '.*' -print`
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:293: test -z \"\$leftovers\""
+at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:293"
+( $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:293"
+$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_48
+#AT_START_49
+at_fn_group_banner 49 'depdemo.at:302' \
+ "shared library interdependencies" " " 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 "49. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([depdemo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $ECHO '#include <math.h>'
+ $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; }
+
+
+
+
+{ 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:308: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:308"
+( $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:308"
+$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:308: if \"\$lt_exe\" ; 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:308"
+( $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:308"
+$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:308: if \"\$lt_exe\" ; 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:308"
+( $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:308"
+$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: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=$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: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=$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: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; }
+
+
+
+
+
+
+
+for target in uninstall
+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
+
+
+leftovers=`find $prefix ! -type d ! -name '.*' -print`
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:310: test -z \"\$leftovers\""
+at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:310"
+( $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:310"
+$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:319' \
+ "shared and static interdependencies" " " 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 "50. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([depdemo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $ECHO '#include <math.h>'
+ $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; }
+
+
+
+
+{ 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:325: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:325"
+( $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:325"
+$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:325: if \"\$lt_exe\" ; 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:325"
+( $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:325"
+$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:325: if \"\$lt_exe\" ; 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:325"
+( $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:325"
+$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: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=$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: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=$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: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; }
+
+
+
+
+
+
+
+for target in uninstall
+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
+
+
+leftovers=`find $prefix ! -type d ! -name '.*' -print`
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:327: test -z \"\$leftovers\""
+at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:327"
+( $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:327"
+$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:336' \
+ "disable fast install" " " 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 "51. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([depdemo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $ECHO '#include <math.h>'
+ $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:340: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:340"
+( $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:340"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:340: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:340"
+( $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:340"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:340: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:340"
+( $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:340"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/depdemo.at:340: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:340"
+( $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:340"
+$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:340: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:340"
+( $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:340"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:340: : \${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:340"
+( $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:340"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:341: \$EGREP '^hardcode_action=relink' libtool && (exit 77)"
+at_fn_check_prepare_dynamic "$EGREP '^hardcode_action=relink' libtool && (exit 77)" "depdemo.at:341"
+( $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:341"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/depdemo.at:343: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:343"
+( $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:343"
+$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:343: if \"\$lt_exe\" ; 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:343"
+( $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:343"
+$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:343: if \"\$lt_exe\" ; 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:343"
+( $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:343"
+$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: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=$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: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=$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: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; }
+
+
+
+
+
+
+
+for target in uninstall
+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
+
+
+leftovers=`find $prefix ! -type d ! -name '.*' -print`
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:345: test -z \"\$leftovers\""
+at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:345"
+( $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: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_51
+#AT_START_52
+at_fn_group_banner 52 'depdemo.at:354' \
+ "binary relinking at install time" " " 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 "52. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([depdemo], 2.4.5, 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 <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $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 <config.h>'
+ $ECHO '#include <stdio.h>'
+ $ECHO '#include <math.h>'
+ $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:359: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:359"
+( $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:359"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:359: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:359"
+( $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:359"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:359: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:359"
+( $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:359"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/depdemo.at:359: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:359"
+( $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:359"
+$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:359: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:359"
+( $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:359"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:359: : \${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:359"
+( $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:359"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/depdemo.at:360: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.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/depdemo.at:360"
+$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: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" "depdemo.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/depdemo.at:360"
+$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: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" "depdemo.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/depdemo.at:360"
+$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: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=$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: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=$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: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; }
+
+
+
+
+
+
+
+
+# Check to make sure we have a dynamic library.
+eval `$EGREP '^library_names=' l3/libl3.la`
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:365: test -n \"\$library_names\" || (exit 77)"
+at_fn_check_prepare_dynamic "test -n \"$library_names\" || (exit 77)" "depdemo.at:365"
+( $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:365"
+$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:377: test \"X\$host\" = \"X\$build\" || (exit 77)"
+at_fn_check_prepare_dynamic "test \"X$host\" = \"X$build\" || (exit 77)" "depdemo.at:377"
+( $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:377"
+$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:396: ./depdemo\$EXEEXT >/dev/null ||
+ ./depdemo\$EXEEXT -alt ||
+ test relink,yes = \"\$hardcode_action,\$hardcode_direct\""
+at_fn_check_prepare_notrace 'an embedded newline' "depdemo.at:396"
+( $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:396"
+$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:400: \$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:400"
+( $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:400"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+)
+{ set +x
+$as_echo "$at_srcdir/depdemo.at:402: test -f l3/libl3.la"
+at_fn_check_prepare_trace "depdemo.at:402"
+( $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:402"
+$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:408: ./depdemo\$EXEEXT || (exit 1)"
+at_fn_check_prepare_dynamic "./depdemo$EXEEXT || (exit 1)" "depdemo.at:408"
+( $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:408"
+$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:413: rm -f \$objdir/lt-depdemo\$EXEEXT"
+at_fn_check_prepare_dynamic "rm -f $objdir/lt-depdemo$EXEEXT" "depdemo.at:413"
+( $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:413"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/depdemo.at:414: cp \$objdir/depdemo\$EXEEXT \$objdir/lt-depdemo\$EXEEXT"
+at_fn_check_prepare_dynamic "cp $objdir/depdemo$EXEEXT $objdir/lt-depdemo$EXEEXT" "depdemo.at:414"
+( $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:414"
+$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:419: ./depdemo"
+at_fn_check_prepare_trace "depdemo.at:419"
+( $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:419"
+$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_52
+#AT_START_53
+at_fn_group_banner 53 'help.at:26' \
+ "standard command line options" " " 6
+at_xfail=no
+(
+ $as_echo "53. $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_53
+#AT_START_54
+at_fn_group_banner 54 'help.at:45' \
+ "mode short-hands" " " 6
+at_xfail=no
+(
+ $as_echo "54. $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:62: \$LIBTOOL compile \$CC \$CPPFLAGS \$CFLAGS -c a.c"
+at_fn_check_prepare_dynamic "$LIBTOOL compile $CC $CPPFLAGS $CFLAGS -c a.c" "help.at:62"
+( $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:62"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:64: \$LIBTOOL co \$CC \$CPPFLAGS \$CFLAGS -c main.c"
+at_fn_check_prepare_dynamic "$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c" "help.at:64"
+( $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:64"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:66: \$LIBTOOL co \$CC \$CPPFLAGS \$CFLAGS -c main.c"
+at_fn_check_prepare_dynamic "$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c" "help.at:66"
+( $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:66"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:68: \$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:68"
+( $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:68"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:70: \$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:70"
+( $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:70"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:72: \$LIBTOOL execute --dry-run ./main\$EXEEXT"
+at_fn_check_prepare_dynamic "$LIBTOOL execute --dry-run ./main$EXEEXT" "help.at:72"
+( $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:72"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:74: \$LIBTOOL exe --dry-run ./main\$EXEEXT"
+at_fn_check_prepare_dynamic "$LIBTOOL exe --dry-run ./main$EXEEXT" "help.at:74"
+( $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:74"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:76: \$LIBTOOL e --dry-run ./main\$EXEEXT"
+at_fn_check_prepare_dynamic "$LIBTOOL e --dry-run ./main$EXEEXT" "help.at:76"
+( $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:76"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:78: \$LIBTOOL install cp liba.la \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL install cp liba.la $libdir" "help.at:78"
+( $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:78"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:80: \$LIBTOOL i cp main\$EXEEXT \$bindir"
+at_fn_check_prepare_dynamic "$LIBTOOL i cp main$EXEEXT $bindir" "help.at:80"
+( $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:80"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:82: \$LIBTOOL finish \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL finish $libdir" "help.at:82"
+( $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:82"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:84: \$LIBTOOL f \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL f $libdir" "help.at:84"
+( $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:84"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:86: \$LIBTOOL uninstall rm -f \$libdir/liba.la"
+at_fn_check_prepare_dynamic "$LIBTOOL uninstall rm -f $libdir/liba.la" "help.at:86"
+( $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:86"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:88: \$LIBTOOL u rm -f \$bindir/main\$EXEEXT"
+at_fn_check_prepare_dynamic "$LIBTOOL u rm -f $bindir/main$EXEEXT" "help.at:88"
+( $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:88"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:90: \$LIBTOOL clean rm -f main\$EXEEXT"
+at_fn_check_prepare_dynamic "$LIBTOOL clean rm -f main$EXEEXT" "help.at:90"
+( $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:90"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/help.at:92: \$LIBTOOL cl liba.la"
+at_fn_check_prepare_dynamic "$LIBTOOL cl liba.la" "help.at:92"
+( $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: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_54
+#AT_START_55
+at_fn_group_banner 55 'help.at:97' \
+ "debug tracing" " " 6
+at_xfail=no
+(
+ $as_echo "55. $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:120: 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:120"
+( $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:120"
+$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:140: \$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:140"
+( $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:140"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ check_trace
+ { set +x
+$as_echo "$at_srcdir/help.at:143: \$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:143"
+( $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:143"
+$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:147: \$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:147"
+( $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:147"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ check_trace
+ { set +x
+$as_echo "$at_srcdir/help.at:150: \$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:150"
+( $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:150"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ check_trace
+ { set +x
+$as_echo "$at_srcdir/help.at:153: \$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:153"
+( $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:153"
+$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:159: \$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:159"
+( $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:159"
+$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:165: \$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:165"
+( $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:165"
+$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:169: \$GREP ' --mode=relink' stdout stderr | \$GREP ' --debug '"
+at_fn_check_prepare_notrace 'a shell pipeline' "help.at:169"
+( $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:169"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ else
+ { set +x
+$as_echo "$at_srcdir/help.at:172: \$GREP ' --mode=relink' stdout stderr | \$GREP ' --debug '"
+at_fn_check_prepare_notrace 'a shell pipeline' "help.at:172"
+( $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:172"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ fi
+ fi
+
+ { set +x
+$as_echo "$at_srcdir/help.at:177: \$LIBTOOL --mode=install cp main\$EXEEXT \$bindir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp main$EXEEXT $bindir" "help.at:177"
+( $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:177"
+$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:183: \$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:183"
+( $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:183"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ check_trace
+ { set +x
+$as_echo "$at_srcdir/help.at:186: \$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:186"
+( $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:186"
+$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_55
+#AT_START_56
+at_fn_group_banner 56 'duplicate_members.at:26' \
+ "duplicate members in archive tests" " " 6
+at_xfail=no
+(
+ $as_echo "56. $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:66: \$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:66"
+( $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:66"
+$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:70: \$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:70"
+( $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:70"
+$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:74: \$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:74"
+( $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:74"
+$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_56
+#AT_START_57
+at_fn_group_banner 57 'duplicate_conv.at:25' \
+ "duplicate convenience archive names" " " 6
+at_xfail=no
+(
+ $as_echo "57. $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:57: if \"\$lt_exe\" ; 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:57"
+( $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:57"
+$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:69: if \"\$lt_exe\" ; 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:69"
+( $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:69"
+$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:77: if \"\$lt_exe\" ; 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:77"
+( $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:77"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+$LIBTOOL --mode=clean rm -f libcee.la
+
+{ set +x
+$as_echo "$at_srcdir/duplicate_conv.at:80: test false = \"\$reload_cmds\" && exit 77"
+at_fn_check_prepare_dynamic "test false = \"$reload_cmds\" && exit 77" "duplicate_conv.at:80"
+( $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:80"
+$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:87: if \"\$lt_exe\" ; 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:87"
+( $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:87"
+$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_57
+#AT_START_58
+at_fn_group_banner 58 'duplicate_deps.at:25' \
+ "preserve duplicate convenience deps" " " 6
+at_xfail=yes
+(
+ $as_echo "58. $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:60: \$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:60"
+( $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:60"
+$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:61: 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:61"
+( $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:61"
+$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:69: \$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:69"
+( $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:69"
+$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:74: \$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:74"
+( $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:74"
+$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_58
+#AT_START_59
+at_fn_group_banner 59 'flags.at:116' \
+ "passing CC flags through libtool" " " 6
+at_xfail=no
+(
+ $as_echo "59. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/flags.at:116: { 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:116"
+( $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:116"
+$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:116: \$LIBTOOL --tag=CC --mode=compile \$compile -c \$source"
+at_fn_check_prepare_dynamic "$LIBTOOL --tag=CC --mode=compile $compile -c $source" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" -foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_prog-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ if $flags_in_liblink; then
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ else
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$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_59
+#AT_START_60
+at_fn_group_banner 60 'flags.at:116' \
+ "passing CXX flags through libtool" " " 6
+at_xfail=no
+(
+ $as_echo "60. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/flags.at:116: { 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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/flags.at:116: 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:116"
+( $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:116"
+$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:116: \$LIBTOOL --tag=CXX --mode=compile \$compile -c \$source"
+at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $compile -c $source" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" -foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_prog-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ if $flags_in_liblink; then
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ else
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116' \
+ "passing F77 flags through libtool" " " 6
+at_xfail=no
+(
+ $as_echo "61. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/flags.at:116: { 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:116"
+( $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:116"
+$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:116: \$LIBTOOL --tag=F77 --mode=compile \$compile -c \$source"
+at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=compile $compile -c $source" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" -foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_prog-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ if $flags_in_liblink; then
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ else
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116' \
+ "passing FC flags through libtool" " " 6
+at_xfail=no
+(
+ $as_echo "62. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/flags.at:116: { 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:116"
+( $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:116"
+$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:116: \$FC \$FCFLAGS fc_test.f90 || exit 77"
+at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "flags.at:116"
+( $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:116"
+$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:116: \$LIBTOOL --tag=FC --mode=compile \$compile -c \$source"
+at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=compile $compile -c $source" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" -foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_prog-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ if $flags_in_liblink; then
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ else
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116' \
+ "passing GCJ flags through libtool" " " 6
+at_xfail=no
+(
+ $as_echo "63. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/flags.at:116: { 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:116"
+( $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:116"
+$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:116: \$GCJ \$GCJFLAGS -c gcj_test.java || exit 77"
+at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS -c gcj_test.java || exit 77" "flags.at:116"
+( $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:116"
+$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:116: \$LIBTOOL --tag=GCJ --mode=compile \$compile -c \$source"
+at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=compile $compile -c $source" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" -foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_prog-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:116"
+( $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:116"
+$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:116: \$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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ if $flags_in_liblink; then
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ else
+ { set +x
+$as_echo "$at_srcdir/flags.at:116: \$FGREP \" \$flag_prefix_lib-foo\" stdout"
+at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:116"
+( $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:116"
+$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 'inherited_flags.at:26' \
+ "inherited_linker_flags" " " 6
+at_xfail=no
+(
+ $as_echo "64. $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:82: \$LIBTOOL --features | \$GREP 'disable shared libraries' && (exit 77)"
+at_fn_check_prepare_notrace 'a shell pipeline' "inherited_flags.at:82"
+( $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:82"
+$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:110: \$GREP Cocoa.ltframework stdout"
+at_fn_check_prepare_dynamic "$GREP Cocoa.ltframework stdout" "inherited_flags.at:110"
+( $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:110"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/inherited_flags.at:111: \$GREP ' -framework Cocoa' stdout"
+at_fn_check_prepare_dynamic "$GREP ' -framework Cocoa' stdout" "inherited_flags.at:111"
+( $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:111"
+$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_64
+#AT_START_65
+at_fn_group_banner 65 'link-order.at:27' \
+ "Link order test" " " 6
+at_xfail=no
+(
+ $as_echo "65. $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 <<EOF
+/* w32 fun, MSVC needs to dllimport when using a shared library, so use
+ * DLL_EXPORT to discriminate as that happens to coinside in this case.
+ * gnu has auto import.
+ */
+#if defined _MSC_VER && defined DLL_EXPORT
+# define LIBCEE_SCOPE __declspec(dllimport)
+#else
+# define LIBCEE_SCOPE extern
+#endif
+LIBCEE_SCOPE int c;
+extern int b_$i();
+int a_$i() { return c + b_$i(); }
+EOF
+
+ cat >src/b_$i.c <<EOF
+/* w32 fun, MSVC needs to dllimport when using a shared library, so use
+ * DLL_EXPORT to discriminate as that happens to coinside in this case.
+ * gnu has auto import.
+ */
+#if defined _MSC_VER && defined DLL_EXPORT
+# define LIBCEE_SCOPE __declspec(dllimport)
+#else
+# define LIBCEE_SCOPE extern
+#endif
+LIBCEE_SCOPE int c;
+int b_$i() { return 1 + c; }
+EOF
+
+ prefix=`eval echo \\$prefix_$i`
+ $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/a_$i.c -o src/a.lo
+ $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/b_$i.c -o src/b.lo
+ $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/libb.la src/b.lo \
+ -L$prefix_old/lib -lcee -rpath $prefix/lib
+ $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/liba.la src/a.lo \
+ src/libb.la -L$prefix_old/lib -lcee -rpath $prefix/lib
+ $LIBTOOL --mode=install cp src/libb.la $prefix/lib/libb.la
+ { set +x
+$as_echo "$at_srcdir/link-order.at:89: \$LIBTOOL --mode=install cp src/liba.la \$prefix/lib/liba.la"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp src/liba.la $prefix/lib/liba.la" "link-order.at:89"
+( $at_check_trace; $LIBTOOL --mode=install cp src/liba.la $prefix/lib/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/link-order.at:89"
+$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:103: 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:103"
+( $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:103"
+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:108: 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:108"
+( $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:108"
+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 <<EOF
+extern int a_$i();
+int main(void) { return a_$i() != 3; }
+EOF
+
+ prefix=`eval echo \\$prefix_$i`
+ $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/main_$i.c -o src/main_$i.lo
+ { set +x
+$as_echo "$at_srcdir/link-order.at:123: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o src/main_\$i\$EXEEXT src/main_\$i.lo -L\$prefix/lib -la"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/main_$i$EXEEXT src/main_$i.lo -L$prefix/lib -la" "link-order.at:123"
+( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/main_$i$EXEEXT src/main_$i.lo -L$prefix/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/link-order.at:123"
+$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_65
+#AT_START_66
+at_fn_group_banner 66 'link-order2.at:46' \
+ "Link order of deplibs" " " 6
+at_xfail=no
+(
+ $as_echo "66. $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 <stdlib.h>
+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:125: 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:125"
+( $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:125"
+$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:130: 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:130"
+( $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:130"
+$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:138: 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:138"
+( $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:138"
+$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:140: 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:140"
+( $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:140"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ fi
+ done
+done
+
+{ set +x
+$as_echo "$at_srcdir/link-order2.at:145: test no = \"\$shared_fails\" || (exit 77)"
+at_fn_check_prepare_dynamic "test no = \"$shared_fails\" || (exit 77)" "link-order2.at:145"
+( $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:145"
+$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_66
+#AT_START_67
+at_fn_group_banner 67 'fail.at:28' \
+ "Failure tests" " " 6
+at_xfail=no
+(
+ $as_echo "67. $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_67
+#AT_START_68
+at_fn_group_banner 68 'shlibpath.at:25' \
+ "shlibpath_overrides_runpath" " " 6
+at_xfail=no
+(
+ $as_echo "68. $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:54: 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:54"
+( $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:54"
+$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: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" "shlibpath.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
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/shlibpath.at:66"
+$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:68: 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:68"
+( $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:68"
+$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:71: if \"\$lt_exe\" ; 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:71"
+( $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: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_68
+#AT_START_69
+at_fn_group_banner 69 'runpath-in-lalib.at:25' \
+ "Runpath in libtool library files" " " 6
+at_xfail=no
+(
+ $as_echo "69. $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:57: \$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:57"
+( $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:57"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/runpath-in-lalib.at:58: \$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:58"
+( $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:58"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/runpath-in-lalib.at:59: \$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:59"
+( $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:59"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/runpath-in-lalib.at:61: \$GREP /foobar \$libdir/liba.la"
+at_fn_check_prepare_dynamic "$GREP /foobar $libdir/liba.la" "runpath-in-lalib.at:61"
+( $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:61"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/runpath-in-lalib.at:62: \$GREP /foobar \$libdir/libb.la"
+at_fn_check_prepare_dynamic "$GREP /foobar $libdir/libb.la" "runpath-in-lalib.at:62"
+( $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:62"
+$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_69
+#AT_START_70
+at_fn_group_banner 70 'static.at:68' \
+ "static linking flags for programs" " " 6
+at_xfail=no
+(
+ $as_echo "70. $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: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" "static.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/static.at:176"
+$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:180: 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:180"
+( $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:180"
+$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:196: 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:196"
+( $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:196"
+$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:200: 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:200"
+( $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:200"
+$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:263: \$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:263"
+( $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:263"
+$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:271: \$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:271"
+( $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:271"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/static.at:274: \$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:274"
+( $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:274"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/static.at:277: \$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:277"
+( $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:277"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/static.at:280: \$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:280"
+( $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:280"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/static.at:284: \$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:284"
+( $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:284"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/static.at:288: \$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:288"
+( $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:288"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/static.at:292: \$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:292"
+( $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:292"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/static.at:295: \$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:295"
+( $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:295"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/static.at:299: \$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:299"
+( $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:299"
+$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:310: \$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:310"
+( $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:310"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ if $have_static; then
+ { set +x
+$as_echo "$at_srcdir/static.at:312: \$EGREP 'relinking|has not been installed' stderr"
+at_fn_check_prepare_notrace 'a shell pipeline' "static.at:312"
+( $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:312"
+$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_70
+#AT_START_71
+at_fn_group_banner 71 'static.at:359' \
+ "ccache -all-static" " " 6
+at_xfail=no
+(
+ $as_echo "71. $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:375: \$CC \$CPPFLAGS \$CFLAGS -c a.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c a.c" "static.at:375"
+( $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:375"
+$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_71
+#AT_START_72
+at_fn_group_banner 72 'export.at:25' \
+ "Export test" " " 6
+at_xfail=no
+(
+ $as_echo "72. $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:34: 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:34"
+( $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:34"
+$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:164: \$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:164"
+( $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:164"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/export.at:165: \$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:165"
+( $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:165"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/export.at:166: \$CC \$CPPFLAGS \$CFLAGS -c broken.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c broken.c" "export.at:166"
+( $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:166"
+$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:175: 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:175"
+( $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:175"
+$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:188: 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:188"
+( $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:188"
+$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:195: \$can_hide || (exit 77)"
+at_fn_check_prepare_dynamic "$can_hide || (exit 77)" "export.at:195"
+( $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: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_72
+#AT_START_73
+at_fn_group_banner 73 'export-def.at:25' \
+ "export from a DLL with a .def file" " " 6
+at_xfail=no
+(
+ $as_echo "73. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/export-def.at:29: \$LIBTOOL --features | \$GREP 'disable shared libraries' && (exit 77)"
+at_fn_check_prepare_notrace 'a shell pipeline' "export-def.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-def.at:29"
+$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:133: 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:133"
+( $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:133"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/export-def.at:135: \$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:135"
+( $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:135"
+$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_73
+#AT_START_74
+at_fn_group_banner 74 'search-path.at:24' \
+ "sys_lib_search_path" " " 6
+at_xfail=no
+(
+ $as_echo "74. $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:56: exit 77"
+at_fn_check_prepare_trace "search-path.at:56"
+( $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:56"
+$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_74
+#AT_START_75
+at_fn_group_banner 75 'search-path.at:62' \
+ "sys_lib_search_path on w32" " " 6
+at_xfail=no
+(
+ $as_echo "75. $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 <windows.h>
+HCURSOR get_cursor (void)
+{
+ return GetCursor ();
+}
+_ATEOF
+
+
+eval "`$LIBTOOL --config | $GREP '^build_libtool_libs='`"
+{ set +x
+$as_echo "$at_srcdir/search-path.at:81: test yes = \"\$build_libtool_libs\" || exit 77"
+at_fn_check_prepare_dynamic "test yes = \"$build_libtool_libs\" || exit 77" "search-path.at:81"
+( $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:81"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/search-path.at:85: \$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:85"
+( $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:85"
+$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:91: \$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:91"
+( $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:91"
+$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:95: \$GREP old_library=\\'\\' libgc.la"
+at_fn_check_prepare_dynamic "$GREP old_library=\\'\\' libgc.la" "search-path.at:95"
+( $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: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_75
+#AT_START_76
+at_fn_group_banner 76 'indirect_deps.at:25' \
+ "indirect convenience" " " 6
+at_xfail=no
+(
+ $as_echo "76. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+cat >a.c <<'_ATEOF'
+
+#include <math.h>
+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: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" "indirect_deps.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/indirect_deps.at:64"
+$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: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; }
+
+
+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_76
+#AT_START_77
+at_fn_group_banner 77 'indirect_deps.at:71' \
+ "indirect uninstalled" " " 6
+at_xfail=no
+(
+ $as_echo "77. $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:113: 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:113"
+( $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:113"
+$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: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; }
+
+
+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 'archive-in-archive.at:26' \
+ "static library contains static library" " " 6
+at_xfail=no
+ case $AR in ar-lib\ * | *[/\\]ar-lib\ *) false;; *) :;; esac && at_xfail=yes
+(
+ $as_echo "78. $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:52: \$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:52"
+( $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:52"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/archive-in-archive.at:53: \$LIBTOOL --mode=install cp libbar.la \$thisdir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp libbar.la $thisdir" "archive-in-archive.at:53"
+( $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:53"
+$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:56: \$AR -t \$libbar | \$GREP \$libfoo"
+at_fn_check_prepare_notrace 'a shell pipeline' "archive-in-archive.at:56"
+( $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:56"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/archive-in-archive.at:57: \$AR -t \$libbar | \$GREP foo.\$OBJEXT"
+at_fn_check_prepare_notrace 'a shell pipeline' "archive-in-archive.at:57"
+( $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:57"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/archive-in-archive.at:58: \$AR -t \$libbar | \$GREP bar.\$OBJEXT"
+at_fn_check_prepare_notrace 'a shell pipeline' "archive-in-archive.at:58"
+( $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:58"
+$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_78
+#AT_START_79
+at_fn_group_banner 79 'exeext.at:26' \
+ "both of -o prog and -o prog\$EXEEXT work" " " 6
+at_xfail=no
+(
+ $as_echo "79. $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:43: \$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:43"
+( $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:43"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/exeext.at:45: \$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:45"
+( $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:45"
+$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_79
+#AT_START_80
+at_fn_group_banner 80 'execute-mode.at:25' \
+ "execute mode" " " 6
+at_xfail=no
+(
+ $as_echo "80. $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 <stdio.h>
+extern int a ();
+int main (int argc, char **argv)
+{
+ int i;
+ for (i=1; i<argc; ++i)
+ {
+ if (i != 1)
+ fputc ('\n', stdout);
+ fputs (argv[i], stdout);
+ }
+ fputc ('\n', stdout);
+ return a ();
+}
+_ATEOF
+
+
+LDFLAGS="$LDFLAGS -no-undefined"
+instdir=`pwd`/inst
+libdir=$instdir/lib
+
+{ set +x
+$as_echo "$at_srcdir/execute-mode.at:118: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba.c"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c" "execute-mode.at:118"
+( $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/execute-mode.at:118"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/execute-mode.at:120: \$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:120"
+( $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:120"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/execute-mode.at:122: \$CC \$CPPFLAGS \$CFLAGS -c main.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "execute-mode.at:122"
+( $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:122"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/execute-mode.at:124: \$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:124"
+( $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:124"
+$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:135: \$LIBTOOL --mode=execute ./foo foo"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo foo" "execute-mode.at:135"
+( $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:135"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/execute-mode.at:137: \$LIBTOOL --mode=execute ./lt-wrapper foo </dev/null"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./lt-wrapper foo </dev/null" "execute-mode.at:137"
+( $at_check_trace; $LIBTOOL --mode=execute ./lt-wrapper foo </dev/null
+) >>"$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:137"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/execute-mode.at:139: cd sub && \$LIBTOOL --mode=execute ./foo ../foo"
+at_fn_check_prepare_dynamic "cd sub && $LIBTOOL --mode=execute ./foo ../foo" "execute-mode.at:139"
+( $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:139"
+$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:145: \$LIBTOOL --mode=execute ./foo lt-wrapper bar baz </dev/null"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo lt-wrapper bar baz </dev/null" "execute-mode.at:145"
+( $at_check_trace; $LIBTOOL --mode=execute ./foo lt-wrapper bar baz </dev/null
+) >>"$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:145"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+# check that stdin works even with -dlopen.
+{ set +x
+$as_echo "$at_srcdir/execute-mode.at:151: echo bar | \$LIBTOOL --mode=execute -dlopen libfakelib.la ./lt-wrapper foo"
+at_fn_check_prepare_notrace 'a shell pipeline' "execute-mode.at:151"
+( $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:151"
+$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:158: \$LIBTOOL --mode=execute ./lt-wrapper foo </dev/null || exit 1"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./lt-wrapper foo </dev/null || exit 1" "execute-mode.at:158"
+( $at_check_trace; $LIBTOOL --mode=execute ./lt-wrapper foo </dev/null || 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/execute-mode.at:158"
+$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:164: \$LIBTOOL --mode=execute ./foo \"arg with special chars: \\\$!&*'\\\`()\""
+at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:164"
+( $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:164"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/execute-mode.at:167: \$LIBTOOL --mode=execute ./lt-wrapper \"arg with special chars: \\\$!&*'\\\`()\" </dev/null"
+at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:167"
+( $at_check_trace; $LIBTOOL --mode=execute ./lt-wrapper "arg with special chars: \$!&*'\`()" </dev/null
+) >>"$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:167"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/execute-mode.at:171: \$LIBTOOL --mode=execute ./foo lt-wrapper \"arg with special chars: \\\$!&*'\\\`()\""
+at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:171"
+( $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:171"
+$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:173: 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:173"
+( $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:173"
+$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\\\\' '' \
+ '<' '>' \
+ '<def>' ''
+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 </dev/null"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./lt-wrapper abc \"$arg1\" \"$arg2\" xyz </dev/null" "execute-mode.at:198"
+( $at_check_trace; $LIBTOOL --mode=execute ./lt-wrapper abc "$arg1" "$arg2" xyz </dev/null
+) >>"$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_80
+#AT_START_81
+at_fn_group_banner 81 'bindir.at:64' \
+ "bindir basic lib test" " " 6
+at_xfail=no
+(
+ $as_echo "81. $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 <stdlib.h>
+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_81
+#AT_START_82
+at_fn_group_banner 82 'bindir.at:173' \
+ "bindir install tests" " " 6
+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
+
+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 <stdlib.h>
+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_82
+#AT_START_83
+at_fn_group_banner 83 'cwrapper.at:25' \
+ "cwrapper for uninstalled executables" " " 6
+at_xfail=no
+(
+ $as_echo "83. $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:30: \$LIBTOOL --features | \$GREP 'disable shared libraries' && exit 77"
+at_fn_check_prepare_notrace 'a shell pipeline' "cwrapper.at:30"
+( $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:30"
+$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:70: \$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:70"
+( $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:70"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/cwrapper.at:72: \$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:72"
+( $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:72"
+$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:76: \$CC \$CPPFLAGS \$CFLAGS -c usea.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:76"
+( $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:76"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/cwrapper.at:78: \$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:78"
+( $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:78"
+$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:90: \$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:90"
+( $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:90"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/cwrapper.at:92: \$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:92"
+( $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:92"
+$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:96: \$CC \$CPPFLAGS \$CFLAGS -c usea.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:96"
+( $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:96"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/cwrapper.at:98: \$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:98"
+( $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:98"
+$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:120: \$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:120"
+( $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:120"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/cwrapper.at:122: \$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:122"
+( $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:122"
+$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:126: \$CC \$CPPFLAGS \$CFLAGS -c usea.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:126"
+( $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:126"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/cwrapper.at:128: \$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:128"
+( $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:128"
+$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_83
+#AT_START_84
+at_fn_group_banner 84 'cwrapper.at:138' \
+ "cwrapper string length" " " 6
+at_xfail=no
+(
+ $as_echo "84. $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:160: \$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:160"
+( $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:160"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/cwrapper.at:163: \$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:163"
+( $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:163"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/cwrapper.at:165: \$CC \$CPPFLAGS \$CFLAGS -c usea.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:165"
+( $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:165"
+$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:187: \$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:187"
+( $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:187"
+$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_84
+#AT_START_85
+at_fn_group_banner 85 'cwrapper.at:201' \
+ "cwrapper and installed shared libraries" " " 6
+at_xfail=no
+(
+ $as_echo "85. $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:206: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77"
+at_fn_check_prepare_notrace 'a shell pipeline' "cwrapper.at:206"
+( $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:206"
+$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:225: \$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:225"
+( $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:225"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/cwrapper.at:227: \$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:227"
+( $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:227"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/cwrapper.at:229: \$LIBTOOL --mode=install \$lt_INSTALL liba.la \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL liba.la $libdir" "cwrapper.at:229"
+( $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:229"
+$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:236: \$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:236"
+( $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:236"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/cwrapper.at:238: \$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:238"
+( $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:238"
+$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:255: \$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:255"
+( $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:255"
+$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:259: \$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:259"
+( $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:259"
+$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_85
+#AT_START_86
+at_fn_group_banner 86 'deplib-in-subdir.at:34' \
+ "deplib in subdir" " " 6
+at_xfail=no
+(
+ $as_echo "86. $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:82: \$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:82"
+( $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:82"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/deplib-in-subdir.at:84: \$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:84"
+( $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:84"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/deplib-in-subdir.at:86: \$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:86"
+( $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:86"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/deplib-in-subdir.at:90: 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:90"
+( $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:90"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+cd sub2
+{ set +x
+$as_echo "$at_srcdir/deplib-in-subdir.at:94: 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:94"
+( $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:94"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+cd subsub
+{ set +x
+$as_echo "$at_srcdir/deplib-in-subdir.at:98: 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:98"
+( $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:98"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+cd ../..
+{ set +x
+$as_echo "$at_srcdir/deplib-in-subdir.at:102: \$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:102"
+( $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:102"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+cd sub3
+{ set +x
+$as_echo "$at_srcdir/deplib-in-subdir.at:106: \$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:106"
+( $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:106"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+cd subsub
+{ set +x
+$as_echo "$at_srcdir/deplib-in-subdir.at:110: \$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:110"
+( $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:110"
+$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:143: \$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:143"
+( $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:143"
+$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_86
+#AT_START_87
+at_fn_group_banner 87 'infer-tag.at:30' \
+ "inferred tag" " " 6
+at_xfail=no
+(
+ $as_echo "87. $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_87
+#AT_START_88
+at_fn_group_banner 88 'infer-tag.at:42' \
+ "CXX inferred tag" " " 6
+at_xfail=no
+(
+ $as_echo "88. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/infer-tag.at:43: { 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:43"
+( $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:43"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/infer-tag.at:43: 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:43"
+( $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:43"
+$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_88
+#AT_START_89
+at_fn_group_banner 89 'infer-tag.at:55' \
+ "F77 inferred tag" " " 6
+at_xfail=no
+(
+ $as_echo "89. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/infer-tag.at:56: { 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:56"
+( $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:56"
+$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_89
+#AT_START_90
+at_fn_group_banner 90 'infer-tag.at:69' \
+ "FC inferred tag" " " 6
+at_xfail=no
+(
+ $as_echo "90. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/infer-tag.at:70: { 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:70"
+( $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:70"
+$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:70: \$FC \$FCFLAGS fc_test.f90 || exit 77"
+at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "infer-tag.at:70"
+( $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:70"
+$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_90
+#AT_START_91
+at_fn_group_banner 91 'infer-tag.at:83' \
+ "GCJ inferred tag" " " 6
+at_xfail=no
+(
+ $as_echo "91. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/infer-tag.at:84: { 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:84"
+( $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:84"
+$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:84: \$GCJ \$GCJFLAGS -c gcj_test.java || exit 77"
+at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS -c gcj_test.java || exit 77" "infer-tag.at:84"
+( $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:84"
+$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_91
+#AT_START_92
+at_fn_group_banner 92 'localization.at:24' \
+ "localized compiler messages" " " 6
+at_xfail=no
+(
+ $as_echo "92. $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:40: (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:40"
+( $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:40"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+# Find out about expected output.
+{ set +x
+$as_echo "$at_srcdir/localization.at:44: (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:44"
+( $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:44"
+$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:48: (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:48"
+( $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:48"
+$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:68: (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:68"
+( $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:68"
+$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_92
+#AT_START_93
+at_fn_group_banner 93 'nocase.at:26' \
+ "nocase library search" " " 6
+at_xfail=no
+(
+ $as_echo "93. $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:33: 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:33"
+( $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:33"
+$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:60: \$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:60"
+( $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:60"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/nocase.at:62: \$LIBTOOL --mode=install cp foo/libFoo.la \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp foo/libFoo.la $libdir" "nocase.at:62"
+( $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:62"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/nocase.at:64: \$LIBTOOL --mode=clean rm -f foo/libFoo.la"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f foo/libFoo.la" "nocase.at:64"
+( $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:64"
+$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:71: \$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:71"
+( $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:71"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/nocase.at:73: \$LIBTOOL --mode=install cp bar/libbar.la \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp bar/libbar.la $libdir" "nocase.at:73"
+( $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:73"
+$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:83: \$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:83"
+( $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:83"
+$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 'install.at:25' \
+ "Install tests" " " 6
+at_xfail=no
+(
+ $as_echo "94. $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:46: \$GREP ' -m 755' stdout"
+at_fn_check_prepare_dynamic "$GREP ' -m 755' stdout" "install.at:46"
+( $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:46"
+$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:49: \$GREP ' -m 755' stdout"
+at_fn_check_prepare_dynamic "$GREP ' -m 755' stdout" "install.at:49"
+( $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:49"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/install.at:50: \$GREP ' -m 644.*liba.la' stdout"
+at_fn_check_prepare_dynamic "$GREP ' -m 644.*liba.la' stdout" "install.at:50"
+( $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:50"
+$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 'versioning.at:24' \
+ "versioning" " " 6
+at_xfail=no
+(
+ $as_echo "95. $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:112: \$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:112"
+( $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:112"
+$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:119: \$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:119"
+( $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:119"
+$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:128: \$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:128"
+( $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:128"
+$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:133: \$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:133"
+( $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:133"
+$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:139: \$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:139"
+( $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:139"
+$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:170: \$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:170"
+( $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:170"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/versioning.at:172: \$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:172"
+( $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:172"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/versioning.at:174: \$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:174"
+( $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:174"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/versioning.at:176: \$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:176"
+( $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:176"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+test_uninstalled
+{ set +x
+$as_echo "$at_srcdir/versioning.at:179: \$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:179"
+( $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:179"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/versioning.at:181: \$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:181"
+( $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:181"
+$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:190: \$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:190"
+( $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:190"
+$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:207: \$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:207"
+( $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:207"
+$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:225: \$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:225"
+( $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:225"
+$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:239: :; 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:239"
+( $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:239"
+$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_95
+#AT_START_96
+at_fn_group_banner 96 'destdir.at:48' \
+ "Simple DESTDIR install" " " 7
+at_xfail=no
+ eval `$LIBTOOL --config | $GREP '^fast_install='`
+ case $fast_install in no) :;; *) false;; esac && at_xfail=yes
+(
+ $as_echo "96. $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:69: \$LIBTOOL --mode=finish \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=finish $libdir" "destdir.at:69"
+( $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:69"
+$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:70: 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:70"
+( $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:70"
+$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_96
+#AT_START_97
+at_fn_group_banner 97 'destdir.at:75' \
+ "DESTDIR with in-package deplibs" " " 7
+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 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:109: \$LIBTOOL --mode=finish \$libdir \${libdir}2"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "destdir.at:109"
+( $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:109"
+$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:127: 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:127"
+( $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:127"
+$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:131: \$OBJDUMP -p \$bindir/m\$EXEEXT | \$EGREP -i \"R(UN)?PATH.*\$DESTDIR\""
+at_fn_check_prepare_notrace 'a shell pipeline' "destdir.at:131"
+( $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:131"
+$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:136: \$OBJDUMP -p \$libdir/\$lname | \$EGREP -i \"R(UN)?PATH.*\$DESTDIR\""
+at_fn_check_prepare_notrace 'a shell pipeline' "destdir.at:136"
+( $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:136"
+$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_97
+#AT_START_98
+at_fn_group_banner 98 'old-m4-iface.at:41' \
+ "AM_PROG_LIBTOOL" " " 8
+at_xfail=no
+ test no = "$AUTOCONF" && at_xfail=yes
+(
+ $as_echo "98. $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 <stdio.h>
+
+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:89: 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:89"
+( $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:89"
+$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_98
+#AT_START_99
+at_fn_group_banner 99 'old-m4-iface.at:113' \
+ "AC_WITH_LTDL" " " 8
+at_xfail=no
+ test no = "$ACLOCAL" && at_xfail=yes
+ test no = "$AUTOCONF" && at_xfail=yes
+(
+ $as_echo "99. $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 <stdio.h>
+#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:162: \$ACLOCAL -I libltdl/m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "old-m4-iface.at:162"
+( $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:162"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/old-m4-iface.at:162: \$AUTOCONF --force"
+at_fn_check_prepare_dynamic "$AUTOCONF --force" "old-m4-iface.at:162"
+( $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:162"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/old-m4-iface.at:162: : \${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:162"
+( $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:162"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/old-m4-iface.at:162: \$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:162"
+( $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:162"
+$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_99
+#AT_START_100
+at_fn_group_banner 100 'old-m4-iface.at:173' \
+ "AC_CONFIG_MACRO_DIR" " " 8
+at_xfail=no
+(
+ $as_echo "100. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([libtoolize-demo], 2.4.5, 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_100
+#AT_START_101
+at_fn_group_banner 101 'old-ltdl-iface.at:35' \
+ "Makefile.inc" " " 9
+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 "101. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >configure.in <<'_ATEOF'
+AC_INIT([old-ltdl-iface-demo], 2.4.5, bug-libtool@gnu.org)
+AC_CONFIG_MACRO_DIRS([m4])
+AC_CONFIG_LIBOBJ_DIR([ltdl])
+LT_CONFIG_LTDL_DIR([ltdl])
+AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE([foreign subdir-objects])
+LT_INIT
+LTDL_INIT([nonrecursive])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+_ATEOF
+
+
+cat >Makefile.am <<'_ATEOF'
+ACLOCAL_AMFLAGS = -I m4
+BUILT_SOURCES =
+AM_CPPFLAGS =
+AM_LDFLAGS =
+include_HEADERS =
+noinst_LTLIBRARIES =
+lib_LTLIBRARIES =
+EXTRA_LTLIBRARIES =
+EXTRA_DIST =
+CLEANFILES =
+MOSTLYCLEANFILES =
+include ltdl/Makefile.inc
+bin_PROGRAMS = old
+old_LDADD = -Lltdl $(LIBLTDL)
+_ATEOF
+
+
+cat >old.c <<'_ATEOF'
+#include <stdio.h>
+#include "ltdl.h"
+int main () {
+ putchar ('.');
+ putchar (lt_dlinit () ? 'E' : '.');
+ putchar (lt_dlexit () ? 'E' : '.');
+ return 0;
+}
+_ATEOF
+
+
+cat >expout <<'_ATEOF'
+libtoolize: putting auxiliary files in '.'.
+libtoolize: linking file './config.guess'
+libtoolize: linking file './config.sub'
+libtoolize: linking file './install-sh'
+libtoolize: linking file './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/README'
+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: creating file 'ltdl/ltdl.mk'
+libtoolize: renaming file 'ltdl/Makefile.inc'
+libtoolize: linking file 'ltdl/slist.c'
+libtoolize: Consider updating to use of 'include ltdl/ltdl.mk' in Makefile.am.
+_ATEOF
+
+
+cat >experr <<'_ATEOF'
+libtoolize: error: Use of 'include ltdl/Makefile.inc' is deprecated!
+_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/old-ltdl-iface.at:130: \$LIBTOOLIZE --ltdl=ltdl --nonrecursive --install
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "old-ltdl-iface.at:130"
+( $at_check_trace; $LIBTOOLIZE --ltdl=ltdl --nonrecursive --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/old-ltdl-iface.at:130"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+{ set +x
+$as_echo "$at_srcdir/old-ltdl-iface.at:132: test -f ltdl/Makefile.inc"
+at_fn_check_prepare_trace "old-ltdl-iface.at:132"
+( $at_check_trace; test -f ltdl/Makefile.inc
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_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-ltdl-iface.at:132"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+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/old-ltdl-iface.at:134: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "old-ltdl-iface.at:134"
+( $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/old-ltdl-iface.at:134"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/old-ltdl-iface.at:134: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "old-ltdl-iface.at:134"
+( $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/old-ltdl-iface.at:134"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/old-ltdl-iface.at:134: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "old-ltdl-iface.at:134"
+( $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/old-ltdl-iface.at:134"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/old-ltdl-iface.at:134: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "old-ltdl-iface.at:134"
+( $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/old-ltdl-iface.at:134"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+fi
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/old-ltdl-iface.at:134: \$AUTOCONF --force"
+at_fn_check_prepare_dynamic "$AUTOCONF --force" "old-ltdl-iface.at:134"
+( $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-ltdl-iface.at:134"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/old-ltdl-iface.at:134: : \${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-ltdl-iface.at:134"
+( $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-ltdl-iface.at:134"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/old-ltdl-iface.at:134: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "old-ltdl-iface.at:134"
+( $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-ltdl-iface.at:134"
+$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-ltdl-iface.at:136: if \"\$lt_exe\" ; 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-ltdl-iface.at:136"
+( $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 "..." | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/old-ltdl-iface.at:136"
+$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:33' \
+ "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.5, 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 <stdio.h>
+
+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 <stdio.h>
+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:78: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "am-subdir.at:78"
+( $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:78"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/am-subdir.at:78: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "am-subdir.at:78"
+( $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:78"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/am-subdir.at:78: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "am-subdir.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/am-subdir.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/am-subdir.at:78: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "am-subdir.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/am-subdir.at:78"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/am-subdir.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' "am-subdir.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/am-subdir.at:78"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/am-subdir.at:78: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "am-subdir.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/am-subdir.at:78"
+$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:80: if \"\$lt_exe\" ; 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:80"
+( $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:80"
+$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:93' \
+ "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:94: { 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:94"
+( $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:94"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/am-subdir.at:94: 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:94"
+( $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:94"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([subdir-demo], 2.4.5, 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:146: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "am-subdir.at:146"
+( $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:146"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/am-subdir.at:146: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "am-subdir.at:146"
+( $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:146"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/am-subdir.at:146: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "am-subdir.at:146"
+( $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:146"
+$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:146: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "am-subdir.at:146"
+( $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:146"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/am-subdir.at:146: : \${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:146"
+( $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:146"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/am-subdir.at:146: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "am-subdir.at:146"
+( $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:146"
+$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:148: if \"\$lt_exe\" ; 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:148"
+( $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:148"
+$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:30' \
+ "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 <ltdl.h>
+#include <stdio.h>
+#include <string.h>
+
+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:143: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "lt_dlexit.at:143"
+( $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:143"
+$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:161: 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:161"
+( $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:161"
+$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:28' \
+ "lt_dlopenadvise library loading" " " 11
+at_xfail=no
+(
+ $as_echo "105. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+cat >main.c <<'_ATEOF'
+#include <ltdl.h>
+#include <stdio.h>
+
+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:317: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "lt_dladvise.at:317"
+( $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:317"
+$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:385: \$LIBTOOL --mode=clean rm -f libpreload.la"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f libpreload.la" "lt_dladvise.at:385"
+( $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:385"
+$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:387: 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:387"
+( $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:387"
+$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:23' \
+ "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:31: test unsupported != \"\$allow_undefined_flag\" || exit 77"
+at_fn_check_prepare_dynamic "test unsupported != \"$allow_undefined_flag\" || exit 77" "lt_dlopen.at:31"
+( $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:31"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+cat >main.c <<'_ATEOF'
+#include <ltdl.h>
+#include <stdio.h>
+
+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:85: \$CC \$CPPFLAGS \$CFLAGS -c main.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "lt_dlopen.at:85"
+( $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:85"
+$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:97: \$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:97"
+( $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:97"
+$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:99: 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:99"
+( $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:99"
+$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\" ./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:100"
+( $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:100"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/lt_dlopen.at:101: \$GREP 'missing symbol' stderr"
+at_fn_check_prepare_dynamic "$GREP 'missing symbol' stderr" "lt_dlopen.at:101"
+( $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: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_106
+#AT_START_107
+at_fn_group_banner 107 'lt_dlopen_a.at:23' \
+ "lt_dlopen archive" " " 11
+at_xfail=no
+(
+ $as_echo "107. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+cat >main.c <<'_ATEOF'
+#include <ltdl.h>
+#include <stdio.h>
+
+/* 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:78: \$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:78"
+( $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:78"
+$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:83: \$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:83"
+( $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:83"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/lt_dlopen_a.at:87: \$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:87"
+( $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:87"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+mkdir -p $libdir
+mkdir -p $bindir
+
+{ set +x
+$as_echo "$at_srcdir/lt_dlopen_a.at:92: \$LIBTOOL --mode=install cp plugin.la \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp plugin.la $libdir" "lt_dlopen_a.at:92"
+( $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:92"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/lt_dlopen_a.at:93: \$LIBTOOL --mode=install cp main\$EXEEXT \$bindir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp main$EXEEXT $bindir" "lt_dlopen_a.at:93"
+( $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:93"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/lt_dlopen_a.at:94: test -f \"\$libdir/plugin.a\" || exit 77"
+at_fn_check_prepare_dynamic "test -f \"$libdir/plugin.a\" || exit 77" "lt_dlopen_a.at:94"
+( $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:94"
+$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:95: 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:95"
+( $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: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_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:28: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77"
+at_fn_check_prepare_notrace 'a shell pipeline' "lt_dlopenext.at:28"
+( $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:28"
+$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:
+# <http://sources.redhat.com/autobook/autobook/autobook_169.html>
+# so if it needs changes, be sure to notify the Autobook authors
+# about them.
+
+cat >simple-module.c <<'_ATEOF'
+
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C"
+#endif
+int
+run (const char *argument)
+{
+ printf ("Hello, %s!\n", argument);
+ return 0;
+}
+_ATEOF
+
+
+cat >ltdl-loader.c <<'_ATEOF'
+
+#include <stdio.h>
+#include <stdlib.h>
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+# define EXIT_SUCCESS 0
+#endif
+
+#include <limits.h>
+#ifndef PATH_MAX
+# define PATH_MAX 255
+#endif
+
+#include <string.h>
+#include <ltdl.h>
+
+#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:190: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "lt_dlopenext.at:190"
+( $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:190"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+CPPFLAGS="$LTDLINCL $CPPFLAGS"
+LDFLAGS="$LDFLAGS -no-undefined"
+
+{ set +x
+$as_echo "$at_srcdir/lt_dlopenext.at:196: \$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:196"
+( $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:196"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/lt_dlopenext.at:199: \$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:199"
+( $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:199"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/lt_dlopenext.at:201: \$CC \$CPPFLAGS \$CFLAGS -c ltdl-loader.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c ltdl-loader.c" "lt_dlopenext.at:201"
+( $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:201"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/lt_dlopenext.at:204: \$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:204"
+( $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:204"
+$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:236: 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:236"
+( $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:236"
+$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:244: 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:244"
+( $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:244"
+$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:28: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77"
+at_fn_check_prepare_notrace 'a shell pipeline' "ltdl-libdir.at:28"
+( $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:28"
+$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 <stdio.h>
+#include <ltdl.h>
+
+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:103: \$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:103"
+( $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:103"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/ltdl-libdir.at:106: \$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:106"
+( $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:106"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/ltdl-libdir.at:108: \$CC \$CPPFLAGS \$CFLAGS -c m.c"
+at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c m.c" "ltdl-libdir.at:108"
+( $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:108"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/ltdl-libdir.at:111: \$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:111"
+( $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:111"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/ltdl-libdir.at:113: \$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:113"
+( $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:113"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/ltdl-libdir.at:115: \$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:115"
+( $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:115"
+$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:122: 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:122"
+( $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:122"
+$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:25' \
+ "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:31: test -f \"\$lt__argz_o\" || exit 77"
+at_fn_check_prepare_dynamic "test -f \"$lt__argz_o\" || exit 77" "ltdl-api.at:31"
+( $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:31"
+$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:35: \$GREP \"^T argz_\" stdout"
+at_fn_check_prepare_dynamic "$GREP \"^T argz_\" stdout" "ltdl-api.at:35"
+( $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:35"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+# and also for the _ prefixed version "_argz_"
+{ set +x
+$as_echo "$at_srcdir/ltdl-api.at:37: \$GREP \"^T _argz_\" stdout"
+at_fn_check_prepare_dynamic "$GREP \"^T _argz_\" stdout" "ltdl-api.at:37"
+( $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:37"
+$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 <ltdl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+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:419: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "dlloader-api.at:419"
+( $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:419"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+CPPFLAGS="$LTDLINCL $CPPFLAGS"
+
+{ set +x
+$as_echo "$at_srcdir/dlloader-api.at:424: \$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:424"
+( $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:424"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/dlloader-api.at:428: \$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:428"
+( $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:428"
+$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:437: \$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:437"
+( $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:437"
+$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 <ltdl.h>
+#include <stdio.h>
+
+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:219: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "loadlibrary.at:219"
+( $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:219"
+$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:228: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c \$file"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file" "loadlibrary.at:228"
+( $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:228"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+{ set +x
+$as_echo "$at_srcdir/loadlibrary.at:233: \$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:233"
+( $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:233"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/loadlibrary.at:237: \$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:237"
+( $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:237"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/loadlibrary.at:241: \$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:241"
+( $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:241"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/loadlibrary.at:245: \$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:245"
+( $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:245"
+$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 <ltdl.h>
+#include <stdio.h>
+#include <assert.h>
+
+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:77: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "lalib-syntax.at:77"
+( $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:77"
+$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:83: \$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:83"
+( $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:83"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/lalib-syntax.at:85: \$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:85"
+( $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:85"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/lalib-syntax.at:87: \$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:87"
+( $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:87"
+$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 <ltdl.h>
+#include <stdio.h>
+
+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 <stdlib.h>
+#include <stdio.h>
+
+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:130: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "resident.at:130"
+( $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:130"
+$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:139: \$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:139"
+( $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:139"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/resident.at:141: \$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:141"
+( $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:141"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/resident.at:144: \$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:144"
+( $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:144"
+$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:24' \
+ "SList functionality" " " 11
+at_xfail=no
+(
+ $as_echo "115. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+cat >test-slist.c <<'_ATEOF'
+
+#include <config.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <stdio.h>
+#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:168: 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:168"
+( $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:168"
+$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:25' \
+ "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 <ltdl.h>
+#include <stdio.h>
+
+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:151: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "need_lib_prefix.at:151"
+( $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:151"
+$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:161: test lib = \"\$libname\" || exit 77"
+at_fn_check_prepare_dynamic "test lib = \"$libname\" || exit 77" "need_lib_prefix.at:161"
+( $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:161"
+$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:195: 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:195"
+( $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: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_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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+void sub (void) { printf ("sub() called\n"); }
+_ATEOF
+
+
+cat >main.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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:630: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:630"
+( $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:630"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:630: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:630"
+( $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:630"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:630: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:630"
+( $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:630"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/mdemo.at:630: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:630"
+( $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:630"
+$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:630: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:630"
+( $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:630"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:630: : \${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:630"
+( $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:630"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:630: \$EGREP '^build_old_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "mdemo.at:630"
+( $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:630"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/mdemo.at:630: \$EGREP '^build_libtool_libs=no' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "mdemo.at:630"
+( $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:630"
+$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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+void sub (void) { printf ("sub() called\n"); }
+_ATEOF
+
+
+cat >main.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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:647: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:647"
+( $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:647"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:647: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:647"
+( $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:647"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:647: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:647"
+( $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:647"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/mdemo.at:647: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:647"
+( $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:647"
+$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:647: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:647"
+( $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:647"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:647: : \${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:647"
+( $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:647"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:647: \$EGREP '^build_old_libs=no' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "mdemo.at:647"
+( $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:647"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/mdemo.at:647: \$EGREP '^build_libtool_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "mdemo.at:647"
+( $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:647"
+$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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+void sub (void) { printf ("sub() called\n"); }
+_ATEOF
+
+
+cat >main.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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:664: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:664"
+( $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:664"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:664: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:664"
+( $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:664"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:664: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:664"
+( $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:664"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/mdemo.at:664: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:664"
+( $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:664"
+$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:664: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:664"
+( $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:664"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:664: : \${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:664"
+( $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:664"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/mdemo.at:664: \$EGREP '^build_old_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "mdemo.at:664"
+( $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:664"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/mdemo.at:664: \$EGREP '^build_libtool_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "mdemo.at:664"
+( $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:664"
+$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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+void sub (void) { printf ("sub() called\n"); }
+_ATEOF
+
+
+cat >main.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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; }
+
+
+
+
+{ 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.5, 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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+#include <math.h>
+
+#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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+#include <stdio.h>
+void sub (void) { printf ("sub() called\n"); }
+_ATEOF
+
+
+cat >main.c <<'_ATEOF'
+#include <config.h>
+#include <stdio.h>
+#include <string.h>
+
+#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 <stdio.h>
+#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; }
+
+
+
+
+{ 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:846: 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:846"
+( $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:846"
+$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:851: 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:851"
+( $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:851"
+$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:31' \
+ "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:33: \$LIBTOOLIZE --ltdl=.
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:33"
+( $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:33"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/standalone.at:34: : \${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:34"
+( $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:34"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/standalone.at:35: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "standalone.at:35"
+( $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:35"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+{ set +x
+$as_echo "$at_srcdir/standalone.at:37: test -f libltdlc.la"
+at_fn_check_prepare_trace "standalone.at:37"
+( $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:37"
+$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:46' \
+ "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:48: \$LIBTOOLIZE --copy --ltdl=.
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:48"
+( $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:48"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/standalone.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\" "
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "standalone.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"
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_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:49"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/standalone.at:50: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "standalone.at:50"
+( $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:50"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+{ set +x
+$as_echo "$at_srcdir/standalone.at:52: test -f libltdlc.la"
+at_fn_check_prepare_trace "standalone.at:52"
+( $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:52"
+$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:61' \
+ "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:65: \$LIBTOOLIZE --copy --ltdl=.
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:65"
+( $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:65"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/standalone.at:66: : \${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:66"
+( $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:66"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all install $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/standalone.at:67: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "standalone.at:67"
+( $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:67"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+{ set +x
+$as_echo "$at_srcdir/standalone.at:69: test -f \"\$prefix/lib/libltdl.la\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "standalone.at:69"
+( $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:69"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/standalone.at:70: test -f \"\$prefix/include/ltdl.h\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "standalone.at:70"
+( $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:70"
+$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:79' \
+ "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 <stdio.h>
+#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 <<EOF
+SHELL = $SHELL
+EOF
+
+
+
+{ set +x
+$as_echo "$at_srcdir/standalone.at:82: \$LIBTOOLIZE --copy --ltdl
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:82"
+( $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:82"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/standalone.at:85: \$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:85"
+( $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:85"
+$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:87: if \"\$lt_exe\" ; 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:87"
+( $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:87"
+$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:57' \
+ "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.5, 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; }
+
+
+
+
+
+{ 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:64: test -f sub/ltdl/libltdlc.la"
+at_fn_check_prepare_trace "subproject.at:64"
+( $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:64"
+$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:73' \
+ "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.5, 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; }
+
+
+
+
+
+{ 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:80: test -f sub/ltdl/libltdlc.la"
+at_fn_check_prepare_trace "subproject.at:80"
+( $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:80"
+$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:89' \
+ "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.5, 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:97: \$ACLOCAL -I sub/ltdl/m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I sub/ltdl/m4$macro_dir" "subproject.at:97"
+( $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:97"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/subproject.at:97: \$AUTOMAKE --add-missing --copy"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "subproject.at:97"
+( $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:97"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/subproject.at:97: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "subproject.at:97"
+( $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:97"
+$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:97: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "subproject.at:97"
+( $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:97"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/subproject.at:97: : \${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:97"
+( $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:97"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all install $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/subproject.at:97: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "subproject.at:97"
+( $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:97"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+
+{ set +x
+$as_echo "$at_srcdir/subproject.at:99: test -f \"\$prefix/lib/libltdl.la\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "subproject.at:99"
+( $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:99"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/subproject.at:100: test -f \"\$prefix/include/ltdl.h\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "subproject.at:100"
+( $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: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_128
+#AT_START_129
+at_fn_group_banner 129 'subproject.at:109' \
+ "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 <stdio.h>
+#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 <<EOF
+SHELL = $SHELL
+EOF
+
+
+
+$LIBTOOLIZE --copy --ltdl=sub/ltdl
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/subproject.at:115: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target CC=\"\$CC\" LIBTOOLFLAGS=\"\$LIBTOOLFLAGS\" CPPFLAGS=\"\$CPPFLAGS\" CFLAGS=\"\$CFLAGS\" LDFLAGS=\"\$LDFLAGS\" SHELL=\"\$SHELL\" MAKE=\"\${MAKE-make}\" CONFIGURE_OPTIONS=\"\$configure_options\""
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "subproject.at:115"
+( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target CC="$CC" LIBTOOLFLAGS="$LIBTOOLFLAGS" CPPFLAGS="$CPPFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" SHELL="$SHELL" MAKE="${MAKE-make}" 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/subproject.at:115"
+$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:117: if \"\$lt_exe\" ; 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:117"
+( $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: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_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.5, 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:92: \$ACLOCAL -I ltdl/m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I ltdl/m4$macro_dir" "nonrecursive.at:92"
+( $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:92"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/nonrecursive.at:92: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "nonrecursive.at:92"
+( $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:92"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/nonrecursive.at:92: \$AUTOMAKE --add-missing --copy"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "nonrecursive.at:92"
+( $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:92"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/nonrecursive.at:92: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "nonrecursive.at:92"
+( $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:92"
+$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:92: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "nonrecursive.at:92"
+( $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:92"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/nonrecursive.at:92: : \${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:92"
+( $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:92"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/nonrecursive.at:92: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "nonrecursive.at:92"
+( $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:92"
+$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.5, 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:116: \$ACLOCAL -I ltdl/m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I ltdl/m4$macro_dir" "nonrecursive.at:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/nonrecursive.at:116: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "nonrecursive.at:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/nonrecursive.at:116: \$AUTOMAKE --add-missing --copy"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "nonrecursive.at:116"
+( $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:116"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/nonrecursive.at:116: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "nonrecursive.at:116"
+( $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:116"
+$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:116: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "nonrecursive.at:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/nonrecursive.at:116: : \${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:116"
+( $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:116"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/nonrecursive.at:116: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "nonrecursive.at:116"
+( $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:116"
+$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.5, 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:142: \$ACLOCAL -I ltdl/m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I ltdl/m4$macro_dir" "nonrecursive.at:142"
+( $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:142"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/nonrecursive.at:142: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "nonrecursive.at:142"
+( $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:142"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/nonrecursive.at:142: \$AUTOMAKE --add-missing --copy"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "nonrecursive.at:142"
+( $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:142"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/nonrecursive.at:142: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "nonrecursive.at:142"
+( $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:142"
+$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:142: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "nonrecursive.at:142"
+( $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:142"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/nonrecursive.at:142: : \${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:142"
+( $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:142"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all install $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/nonrecursive.at:142: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "nonrecursive.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/nonrecursive.at:142"
+$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:60' \
+ "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.5, 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:65: if test -f ltdl/configure.ac; then false; fi"
+at_fn_check_prepare_trace "recursive.at:65"
+( $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:65"
+$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:67: \$AUTORECONF --force --verbose --install"
+at_fn_check_prepare_dynamic "$AUTORECONF --force --verbose --install" "recursive.at:67"
+( $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:67"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/recursive.at:67: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "recursive.at:67"
+( $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:67"
+$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:68: : \${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:68"
+( $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:68"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/recursive.at:69: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "recursive.at:69"
+( $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:69"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+{ set +x
+$as_echo "$at_srcdir/recursive.at:71: test -f ltdl/libltdlc.la"
+at_fn_check_prepare_trace "recursive.at:71"
+( $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: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_133
+#AT_START_134
+at_fn_group_banner 134 'recursive.at:80' \
+ "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.5, 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:85: if test -f ltdl/configure.ac; then false; fi"
+at_fn_check_prepare_trace "recursive.at:85"
+( $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:85"
+$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:87: \$AUTORECONF --force --verbose --install"
+at_fn_check_prepare_dynamic "$AUTORECONF --force --verbose --install" "recursive.at:87"
+( $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:87"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/recursive.at:87: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "recursive.at:87"
+( $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:87"
+$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:88: : \${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:88"
+( $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:88"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/recursive.at:89: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "recursive.at:89"
+( $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:89"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+{ set +x
+$as_echo "$at_srcdir/recursive.at:91: test -f ltdl/libltdlc.la"
+at_fn_check_prepare_trace "recursive.at:91"
+( $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: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_134
+#AT_START_135
+at_fn_group_banner 135 'recursive.at:100' \
+ "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.5, 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:107: if test -f ltdl/configure.ac; then false; fi"
+at_fn_check_prepare_trace "recursive.at:107"
+( $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:107"
+$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:109: \$AUTORECONF --force --verbose --install"
+at_fn_check_prepare_dynamic "$AUTORECONF --force --verbose --install" "recursive.at:109"
+( $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:109"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/recursive.at:109: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "recursive.at:109"
+( $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:109"
+$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:110: : \${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:110"
+( $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:110"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all install $tst_dist
+do
+ { set +x
+$as_echo "$at_srcdir/recursive.at:111: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "recursive.at:111"
+( $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:111"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+{ set +x
+$as_echo "$at_srcdir/recursive.at:113: test -f \"\$prefix/lib/libltdl.la\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "recursive.at:113"
+( $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:113"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/recursive.at:114: test -f \"\$prefix/include/ltdl.h\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "recursive.at:114"
+( $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:114"
+$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:338' \
+ "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:340: { 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:340"
+( $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:340"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/tagdemo.at:340: 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:340"
+( $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:340"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([tagdemo], 2.4.5, 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 <iostream>
+#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 <config.h>
+#if HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#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 <config.h>
+#ifdef HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#endif
+
+#ifdef HAVE_NAMESPACES
+namespace std { }
+using namespace std;
+#endif
+
+#include <math.h>
+
+#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 <config.h>
+
+#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 <config.h>
+
+#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; }
+
+
+
+
+{ 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:344: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.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/tagdemo.at:344"
+$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: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" "tagdemo.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/tagdemo.at:344"
+$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:353' \
+ "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:355: { 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:355"
+( $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:355"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/tagdemo.at:355: 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:355"
+( $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:355"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([tagdemo], 2.4.5, 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 <iostream>
+#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 <config.h>
+#if HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#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 <config.h>
+#ifdef HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#endif
+
+#ifdef HAVE_NAMESPACES
+namespace std { }
+using namespace std;
+#endif
+
+#include <math.h>
+
+#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 <config.h>
+
+#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 <config.h>
+
+#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; }
+
+
+
+
+{ 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:359: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:359"
+( $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:359"
+$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:359: if \"\$lt_exe\" ; 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:359"
+( $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:359"
+$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:368' \
+ "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:370: { 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:370"
+( $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:370"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/tagdemo.at:370: 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:370"
+( $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:370"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([tagdemo], 2.4.5, 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 <iostream>
+#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 <config.h>
+#if HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#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 <config.h>
+#ifdef HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#endif
+
+#ifdef HAVE_NAMESPACES
+namespace std { }
+using namespace std;
+#endif
+
+#include <math.h>
+
+#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 <config.h>
+
+#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 <config.h>
+
+#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; }
+
+
+
+
+{ 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:374: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:374"
+( $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:374"
+$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:374: if \"\$lt_exe\" ; 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:374"
+( $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:374"
+$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:383' \
+ "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:385: { 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:385"
+( $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:385"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/tagdemo.at:385: 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:385"
+( $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:385"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+cat >configure.ac <<'_ATEOF'
+AC_INIT([tagdemo], 2.4.5, 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 <iostream>
+#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 <config.h>
+#if HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#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 <config.h>
+#ifdef HAVE_IOSTREAM
+# include <iostream>
+#else
+# include <iostream.h>
+#endif
+
+#ifdef HAVE_NAMESPACES
+namespace std { }
+using namespace std;
+#endif
+
+#include <math.h>
+
+#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 <config.h>
+
+#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 <config.h>
+
+#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; }
+
+
+
+
+{ 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:392: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.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/tagdemo.at:392"
+$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:392: if \"\$lt_exe\" ; 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:392"
+( $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: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_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<typename T>
+
+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<typename T>
+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:81: \$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:81"
+( $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:81"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:83: \$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:83"
+( $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:83"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:85: \$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:85"
+( $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:85"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:87: \$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:87"
+( $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:87"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:89: \$CXX -I. \$CPPFLAGS \$CXXFLAGS -c prog.cpp"
+at_fn_check_prepare_dynamic "$CXX -I. $CPPFLAGS $CXXFLAGS -c prog.cpp" "template.at:89"
+( $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:89"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:91: \$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:91"
+( $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:91"
+$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 <class T>
+unsigned int a(const T&);
+
+template <class T>
+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 <class T>
+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:224: \$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:224"
+( $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:224"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ ;;
+*)
+ main_o=main.$OBJEXT
+ { set +x
+$as_echo "$at_srcdir/template.at:229: \$CXX \$CPPFLAGS \$CXXFLAGS -c ../src/sub/main.cpp"
+at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp" "template.at:229"
+( $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:229"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ ;;
+esac
+
+{ set +x
+$as_echo "$at_srcdir/template.at:234: \$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:234"
+( $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:234"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:236: \$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:236"
+( $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:236"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:238: \$CXX \$CPPFLAGS \$CXXFLAGS -c ../src/sub/main.cpp"
+at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp" "template.at:238"
+( $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:238"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+# both convenience
+{ set +x
+$as_echo "$at_srcdir/template.at:241: \$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:241"
+( $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:241"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:243: \$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:243"
+( $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:243"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:245: \$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:245"
+( $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:245"
+$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:250: \$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:250"
+( $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:250"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/template.at:252: \$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:252"
+( $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:252"
+$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:258: \$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:258"
+( $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:258"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+if $withundef; then
+ { set +x
+$as_echo "$at_srcdir/template.at:261: \$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:261"
+( $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:261"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/template.at:263: \$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:263"
+( $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:263"
+$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:269: \$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:269"
+( $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:269"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:271: \$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:271"
+( $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:271"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/template.at:273: \$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:273"
+( $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:273"
+$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:279: \$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:279"
+( $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:279"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/template.at:281: \$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:281"
+( $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:281"
+$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:287: \$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:287"
+( $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:287"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/template.at:289: \$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:289"
+( $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:289"
+$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:27' \
+ "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:28: { 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:28"
+( $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:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/ctor.at:28: 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:28"
+( $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:28"
+$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:65: if \"\$lt_exe\" ; 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:65"
+( $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: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_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:35: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "exceptions.at:35"
+( $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:35"
+$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 <exception>
+#include <string>
+
+#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 <iostream>
+#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 <exception>
+#include <string>
+
+
+#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 <iostream>
+#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 <ltdl.h>
+#include <cstdlib>
+#include <iostream>
+#include <exception>
+#include <string>
+#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:364: \$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:364"
+( $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:364"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/exceptions.at:366: \$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:366"
+( $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:366"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/exceptions.at:368: \$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:368"
+( $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:368"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/exceptions.at:372: \$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:372"
+( $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:372"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/exceptions.at:375: \$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:375"
+( $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:375"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/exceptions.at:378: \$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:378"
+( $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:378"
+$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:383: \$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:383"
+( $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:383"
+$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:388: \$LIBTOOL --mode=install cp l/libcommon.la \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp l/libcommon.la $libdir" "exceptions.at:388"
+( $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:388"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/exceptions.at:390: \$LIBTOOL --mode=install cp l/liba.la \$libdir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp l/liba.la $libdir" "exceptions.at:390"
+( $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:390"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/exceptions.at:392: \$LIBTOOL --mode=install cp m/module.la \$moddir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m/module.la $moddir" "exceptions.at:392"
+( $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:392"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/exceptions.at:394: \$LIBTOOL --mode=install cp main\$EXEEXT \$bindir"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp main$EXEEXT $bindir" "exceptions.at:394"
+( $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:394"
+$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:32' \
+ "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.5, 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 <stdio.h>
+
+void
+hello (void)
+{
+ printf ("** This is not GNU Hello. There is no built-in mail reader. **\n");
+}
+_ATEOF
+
+
+cat >main.c <<'_ATEOF'
+#include <stdio.h>
+
+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:109: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "early-libtool.at:109"
+( $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:109"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/early-libtool.at:110: \$AUTOCONF --force"
+at_fn_check_prepare_dynamic "$AUTOCONF --force" "early-libtool.at:110"
+( $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:110"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/early-libtool.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\" "
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "early-libtool.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"
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_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; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/early-libtool.at:112: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "early-libtool.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/early-libtool.at:112"
+$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:114: if \"\$lt_exe\" ; 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:114"
+( $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:114"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/early-libtool.at:115: \$GREP 'Welcome to GNU Hell' stdout"
+at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU Hell' stdout" "early-libtool.at:115"
+( $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:115"
+$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:126' \
+ "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.5, bug-libtool@gnu.org)
+AC_CONFIG_MACRO_DIRS([m4])
+LT_INIT
+LT_OUTPUT
+
+cat >hello.c <<\_EOF
+#include <stdio.h>
+
+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 <stdio.h>
+
+void
+hello (void)
+{
+ printf ("** This is not GNU Hello. There is no built-in mail reader. **\n");
+}
+_ATEOF
+
+
+cat >main.c <<'_ATEOF'
+#include <stdio.h>
+
+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:216: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "early-libtool.at:216"
+( $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:216"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/early-libtool.at:217: \$AUTOCONF --force"
+at_fn_check_prepare_dynamic "$AUTOCONF --force" "early-libtool.at:217"
+( $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:217"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/early-libtool.at:218: : \${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:218"
+( $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:218"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/early-libtool.at:219: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "early-libtool.at:219"
+( $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:219"
+$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:221: if \"\$lt_exe\" ; 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:221"
+( $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:221"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/early-libtool.at:222: \$GREP 'Welcome to GNU Hell' stdout"
+at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU Hell' stdout" "early-libtool.at:222"
+( $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:222"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/early-libtool.at:223: \$GREP 'This is not GNU Hello.' stdout"
+at_fn_check_prepare_dynamic "$GREP 'This is not GNU Hello.' stdout" "early-libtool.at:223"
+( $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:223"
+$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:227: \$SHELL ./config.status --recheck"
+at_fn_check_prepare_dynamic "$SHELL ./config.status --recheck" "early-libtool.at:227"
+( $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:227"
+$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:25' \
+ "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:75: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "no-executables.at:75"
+( $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:75"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/no-executables.at:75: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "no-executables.at:75"
+( $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:75"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/no-executables.at:76: : \${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:76"
+( $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: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\" test_ac_libtool_dlopen=:"
+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" 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:77"
+$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:39: \$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:39"
+( $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:39"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/deplibs-ident.at:41: \$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:41"
+( $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:41"
+$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:53: \$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:53"
+( $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:53"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/deplibs-ident.at:55: \$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:55"
+( $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:55"
+$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:68: \$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:68"
+( $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:68"
+$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:102' \
+ "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 <ltdl.h>
+#include <stdio.h>
+
+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.5, 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; }
+
+
+
+
+{ 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:148: test -f \"\$prefix/lib/libltdl.la\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "configure-iface.at:148"
+( $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:148"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.at:149: test -f \"\$prefix/include/ltdl.h\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "configure-iface.at:149"
+( $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:149"
+$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:153: \$MAKE -q main\$EXEEXT || exit 1"
+at_fn_check_prepare_dynamic "$MAKE -q main$EXEEXT || exit 1" "configure-iface.at:153"
+( $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: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_148
+#AT_START_149
+at_fn_group_banner 149 'configure-iface.at:162' \
+ "--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:171: : \${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:171"
+( $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:171"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all install
+do
+ { set +x
+$as_echo "$at_srcdir/configure-iface.at:172: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.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/configure-iface.at:172"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+)
+
+# Remove build files
+rm -rf ltdl/
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.at:178: test -f \"\$prefix/lib/libltdl.la\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "configure-iface.at:178"
+( $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:178"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.at:179: test -f \"\$prefix/include/ltdl.h\""
+at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "configure-iface.at:179"
+( $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:179"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+cat >main.c <<'_ATEOF'
+#include <ltdl.h>
+#include <stdio.h>
+
+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.5, 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:229: \$ACLOCAL -I _inst/aclocal\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I _inst/aclocal$macro_dir" "configure-iface.at:229"
+( $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:229"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.at:229: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "configure-iface.at:229"
+( $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:229"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.at:229: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "configure-iface.at:229"
+( $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:229"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/configure-iface.at:229: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "configure-iface.at:229"
+( $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:229"
+$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:229: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:229"
+( $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:229"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.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\" --with-ltdl-lib=\$prefix/lib --with-ltdl-include=\$prefix/include"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.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" --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:229"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/configure-iface.at:229: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.at:229"
+( $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:229"
+$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:234: 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:234"
+( $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:234"
+$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:243' \
+ "--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 <ltdl.h>
+#include <stdio.h>
+
+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.5, 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; }
+
+
+
+
+{ 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:286: test -f libltdl/libltdlc.la"
+at_fn_check_prepare_trace "configure-iface.at:286"
+( $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:286"
+$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:291: 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:291"
+( $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:291"
+$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:295: \$MAKE -q main\$EXEEXT || exit 1"
+at_fn_check_prepare_dynamic "$MAKE -q main$EXEEXT || exit 1" "configure-iface.at:295"
+( $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: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_150
+#AT_START_151
+at_fn_group_banner 151 'configure-iface.at:304' \
+ "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:321: \$ACLOCAL -I libltdl/m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "configure-iface.at:321"
+( $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:321"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.at:321: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:321"
+( $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:321"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.at:321: : \${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:321"
+( $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:321"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.at:322: \$MAKE print-ltdl"
+at_fn_check_prepare_dynamic "$MAKE print-ltdl" "configure-iface.at:322"
+( $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:322"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/configure-iface.at:323: \$GREP libltdl/libltdlc.la stdout"
+at_fn_check_prepare_dynamic "$GREP libltdl/libltdlc.la stdout" "configure-iface.at:323"
+( $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:323"
+$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.5, 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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+
+/* 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 <config.h>
+#include <stdio.h>
+
+#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:304: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "f77demo.at:304"
+( $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:304"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:304: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:304"
+( $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:304"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:304: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "f77demo.at:304"
+( $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:304"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/f77demo.at:304: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "f77demo.at:304"
+( $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:304"
+$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:304: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "f77demo.at:304"
+( $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:304"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:304: : \${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:304"
+( $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:304"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:304: \$EGREP '^build_old_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "f77demo.at:304"
+( $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:304"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/f77demo.at:304: \$EGREP '^build_libtool_libs=no' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "f77demo.at:304"
+( $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:304"
+$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.5, 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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+
+/* 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 <config.h>
+#include <stdio.h>
+
+#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:319: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "f77demo.at:319"
+( $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:319"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:319: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:319"
+( $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:319"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:319: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "f77demo.at:319"
+( $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:319"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/f77demo.at:319: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "f77demo.at:319"
+( $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:319"
+$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:319: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "f77demo.at:319"
+( $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:319"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:319: : \${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:319"
+( $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:319"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:319: \$EGREP '^build_old_libs=no' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "f77demo.at:319"
+( $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:319"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/f77demo.at:319: \$EGREP '^build_libtool_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "f77demo.at:319"
+( $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:319"
+$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.5, 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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+
+/* 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 <config.h>
+#include <stdio.h>
+
+#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:334: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "f77demo.at:334"
+( $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:334"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:334: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:334"
+( $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:334"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:334: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "f77demo.at:334"
+( $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:334"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/f77demo.at:334: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "f77demo.at:334"
+( $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:334"
+$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:334: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "f77demo.at:334"
+( $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:334"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:334: : \${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:334"
+( $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:334"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/f77demo.at:334: \$EGREP '^build_old_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "f77demo.at:334"
+( $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:334"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/f77demo.at:334: \$EGREP '^build_libtool_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "f77demo.at:334"
+( $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:334"
+$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.5, 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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+
+/* 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 <config.h>
+#include <stdio.h>
+
+#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:318: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "fcdemo.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/fcdemo.at:318"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:318: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.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/fcdemo.at:318"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:318: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "fcdemo.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/fcdemo.at:318"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/fcdemo.at:318: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "fcdemo.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/fcdemo.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/fcdemo.at:318: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "fcdemo.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/fcdemo.at:318"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.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-shared"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fcdemo.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-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:318"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:318: \$EGREP '^build_old_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "fcdemo.at:318"
+( $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:318"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/fcdemo.at:318: \$EGREP '^build_libtool_libs=no' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "fcdemo.at:318"
+( $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:318"
+$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.5, 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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+
+/* 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 <config.h>
+#include <stdio.h>
+
+#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:333: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "fcdemo.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/fcdemo.at:333"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:333: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.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/fcdemo.at:333"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:333: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "fcdemo.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/fcdemo.at:333"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/fcdemo.at:333: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "fcdemo.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/fcdemo.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/fcdemo.at:333: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "fcdemo.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/fcdemo.at:333"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.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\" --disable-static"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fcdemo.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" --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:333"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:333: \$EGREP '^build_old_libs=no' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "fcdemo.at:333"
+( $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:333"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/fcdemo.at:333: \$EGREP '^build_libtool_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "fcdemo.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/fcdemo.at:333"
+$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.5, 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 <config.h>
+#include <stdio.h>
+
+#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 <config.h>
+
+/* 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 <config.h>
+#include <stdio.h>
+
+#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:348: \$ACLOCAL -I m4\$macro_dir"
+at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "fcdemo.at:348"
+( $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:348"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:348: \$AUTOHEADER "
+at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:348"
+( $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:348"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:348: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "fcdemo.at:348"
+( $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:348"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/fcdemo.at:348: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "fcdemo.at:348"
+( $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:348"
+$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:348: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "fcdemo.at:348"
+( $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:348"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:348: : \${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:348"
+( $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:348"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/fcdemo.at:348: \$EGREP '^build_old_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "fcdemo.at:348"
+( $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:348"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/fcdemo.at:348: \$EGREP '^build_libtool_libs=yes' libtool"
+at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "fcdemo.at:348"
+( $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:348"
+$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:26' \
+ "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:42: \$noskip || (exit 77)"
+at_fn_check_prepare_dynamic "$noskip || (exit 77)" "darwin.at:42"
+( $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:42"
+$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:85: \$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:85"
+( $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:85"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:87: \$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:87"
+( $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:87"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:89: \$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:89"
+( $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:89"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:91: \$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:91"
+( $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:91"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:93: \$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:93"
+( $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:93"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:95: \$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:95"
+( $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:95"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:97: \$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:97"
+( $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:97"
+$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:103' \
+ "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:137: (\$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:137"
+( $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:137"
+$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:147: \$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:147"
+( $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:147"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:148: \$GREP stamp \$lockfile"
+at_fn_check_prepare_dynamic "$GREP stamp $lockfile" "darwin.at:148"
+( $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:148"
+$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:152' \
+ "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:154: gdb --version || (exit 77)"
+at_fn_check_prepare_trace "darwin.at:154"
+( $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:154"
+$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:183: \$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:183"
+( $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:183"
+$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:190: \$GREP 'Could not find object file' stderr"
+at_fn_check_prepare_dynamic "$GREP 'Could not find object file' stderr" "darwin.at:190"
+( $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:190"
+$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:204: \$GREP 'Could not find object file' stderr"
+at_fn_check_prepare_dynamic "$GREP 'Could not find object file' stderr" "darwin.at:204"
+( $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:204"
+$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:208' \
+ "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.5, 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:224: \$AUTORECONF --force --install"
+at_fn_check_prepare_dynamic "$AUTORECONF --force --install" "darwin.at:224"
+( $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:224"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/darwin.at:224: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "darwin.at:224"
+( $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:224"
+$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:225: : \${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:225"
+( $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:225"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:226: ./libtool --config"
+at_fn_check_prepare_trace "darwin.at:226"
+( $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:226"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+mv stdout expout
+{ set +x
+$as_echo "$at_srcdir/darwin.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\" LDFLAGS=-L/there/is/no/dir/here"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "darwin.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" 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:228"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:229: ./libtool --config"
+at_fn_check_prepare_trace "darwin.at:229"
+( $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:229"
+$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:232' \
+ "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:249: test \"\$shared_ext\" != \"\$module_ext\" || exit 77"
+at_fn_check_prepare_dynamic "test \"$shared_ext\" != \"$module_ext\" || exit 77" "darwin.at:249"
+( $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:249"
+$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:255: case \$LIBLTDL in #(
+ */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;;
+esac"
+at_fn_check_prepare_notrace 'an embedded newline' "darwin.at:255"
+( $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:255"
+$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:
+# <http://sources.redhat.com/autobook/autobook/autobook_169.html>
+# so if it needs changes, be sure to notify the Autobook authors
+# about them.
+
+cat >simple-module.c <<'_ATEOF'
+
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C"
+#endif
+int
+run (const char *argument)
+{
+ printf ("Hello, %s!\n", argument);
+ return 0;
+}
+_ATEOF
+
+
+cat >ltdl-loader.c <<'_ATEOF'
+
+#include <stdio.h>
+#include <stdlib.h>
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+# define EXIT_SUCCESS 0
+#endif
+
+#include <limits.h>
+#ifndef PATH_MAX
+# define PATH_MAX 255
+#endif
+
+#include <string.h>
+#include <ltdl.h>
+
+#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:420: \$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:420"
+( $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:420"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:423: \$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:423"
+( $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:423"
+$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:428: \$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:428"
+( $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:428"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:429: \$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:429"
+( $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:429"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:430: \$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:430"
+( $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:430"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:431: \$LIBTOOL --mode=clean rm -f simple-module.la"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f simple-module.la" "darwin.at:431"
+( $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:431"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/darwin.at:432: \$LIBTOOL --mode=clean rm -f libsimple-dylib.la"
+at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f libsimple-dylib.la" "darwin.at:432"
+( $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:432"
+$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:440: \$GREP \"Hello, World\" stdout"
+at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "darwin.at:440"
+( $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:440"
+$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:443: \$GREP \"Hello, World\" stdout"
+at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "darwin.at:443"
+( $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:443"
+$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<bool,0>::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:51: \$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:51"
+( $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:51"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/deplibs-mingw.at:53: 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:53"
+( $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:53"
+$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:62: \$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:62"
+( $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:62"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/deplibs-mingw.at:64: 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:64"
+( $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:64"
+$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:88: \$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:88"
+( $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:88"
+$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:203' \
+ "-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:203: test -n \"\$gcc_sysroot\" || exit 77"
+at_fn_check_prepare_dynamic "test -n \"$gcc_sysroot\" || exit 77" "sysroot.at:203"
+( $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:203"
+$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:203: test -n \"\$prefix\" || exit 77"
+at_fn_check_prepare_dynamic "test -n \"$prefix\" || exit 77" "sysroot.at:203"
+( $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:203"
+$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:203:
+(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:203"
+( $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:203"
+$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:203: mkdir lib1 lib2 prog"
+at_fn_check_prepare_trace "sysroot.at:203"
+( $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:203"
+$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 <string.h>
+#include <stdlib.h>
+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:203: \$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:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:203"
+( $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:203"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:203"
+( $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:203"
+$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:203: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: : \${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:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$MAKE install DESTDIR=\$sysroot"
+at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: test -f \"\$sysroot/\$prefix/lib/lib1.la\""
+at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib1.la\""
+at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:203"
+( $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:203"
+$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 <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+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:203: \$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:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:203"
+( $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:203"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:203"
+( $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:203"
+$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:203: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: : \${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:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$MAKE install DESTDIR=\$sysroot"
+at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: test -f \"\$sysroot/\$prefix/lib/lib2.la\""
+at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib2.la\""
+at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:203"
+( $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:203"
+$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 <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+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:203: \$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:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$AUTOMAKE --add-missing"
+at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:203"
+( $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:203"
+if $at_failed; then :
+ { set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$GREP 'require .*but have' stderr && (exit 77)"
+at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:203"
+( $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:203"
+$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:203: \$AUTOCONF "
+at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: : \${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:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+for target in all
+do
+ { set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target "
+at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+done
+
+
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$MAKE install DESTDIR=\$sysroot"
+at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: test -f \"\$sysroot/\$prefix/bin/prog\$EXEEXT\""
+at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/bin/prog\$EXEEXT\""
+at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib2.la"
+at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib2.la" "sysroot.at:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: ./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:203"
+( $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:203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/sysroot.at:203: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib[12].la"
+at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib[12].la" "sysroot.at:203"
+( $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:203"
+$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:204' \
+ "-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: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 <string.h>
+#include <stdlib.h>
+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; }
+
+
+
+
+
+{ 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$(sysroot)$(libdir) -l1
+_ATEOF
+
+
+cat >lib2/lib2.c <<'_ATEOF'
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+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; }
+
+
+
+
+
+{ 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$(sysroot)$(libdir) -l2
+_ATEOF
+
+
+cat >prog/prog.c <<'_ATEOF'
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+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; }
+
+
+
+
+
+{ 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_166
+#AT_START_167
+at_fn_group_banner 167 'sysroot.at:205' \
+ "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: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 <string.h>
+#include <stdlib.h>
+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; }
+
+
+
+
+
+{ 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 = $(sysroot)$(libdir)/lib1.la
+_ATEOF
+
+
+cat >lib2/lib2.c <<'_ATEOF'
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+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; }
+
+
+
+
+
+{ 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 = $(sysroot)$(libdir)/lib2.la
+_ATEOF
+
+
+cat >prog/prog.c <<'_ATEOF'
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+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; }
+
+
+
+
+
+{ 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_167
+#AT_START_168
+at_fn_group_banner 168 'stresstest.at:31' \
+ "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:277: if \"\$lt_exe\" ; 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:277"
+( $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:277"
+$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:282: if \"\$lt_exe\" ; 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:282"
+( $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:282"
+$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:28' \
+ "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:33: test -z \"\$fail_list\" || (exit 77)"
+at_fn_check_prepare_dynamic "test -z \"$fail_list\" || (exit 77)" "cmdline_wrap.at:33"
+( $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:33"
+$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/tests/testsuite.at b/tests/testsuite.at
new file mode 100644
index 0000000..735cb96
--- /dev/null
+++ b/tests/testsuite.at
@@ -0,0 +1,530 @@
+# Process with autom4te to create an -*- Autotest -*- test suite.
+#
+# Copyright (C) 2004-2015 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])
+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 <stdio.h>
+#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 <<EOF
+SHELL = $SHELL
+EOF
+])
+m4_popdef([_ARG_DIR])
+])# _LTDL_PROJECT_FILES
+
+
+# We use 'dnl' in zillions of places...
+m4_pattern_allow([^dnl$])
+
+# We exercise these tools.
+dnl AT_TESTED([grep autoreconf autom4te automake])
+
+# Enable colored output if available.
+m4_ifdef([AT_COLOR_TESTS], [AT_COLOR_TESTS])
+
+AT_INIT
+
+## ----------- ##
+## The suite. ##
+## ----------- ##
+
+# Tests will be appended here by the Makefile rule.
diff --git a/tests/versioning.at b/tests/versioning.at
new file mode 100644
index 0000000..8397efa
--- /dev/null
+++ b/tests/versioning.at
@@ -0,0 +1,244 @@
+# versioning.at -- test libtool versioning -*- Autotest -*-
+#
+# Copyright (C) 2009-2015 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([versioning])
+AT_KEYWORDS([libtool])
+
+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.
+
+AT_DATA([liba1.c], [[
+int a (void)
+{
+ return 0;
+}
+]])
+
+AT_DATA([liba2.c], [[
+/* 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;
+}
+]])
+
+AT_DATA([liba3.c], [[
+int a (void)
+{
+ return 0;
+}
+int aa (void)
+{
+ return 0;
+}
+]])
+
+AT_DATA([liba4.c], [[
+int aa (void)
+{
+ return 0;
+}
+]])
+
+AT_DATA([libb.c], [[
+extern int a (void);
+int b (void)
+{
+ return a ();
+}
+]])
+
+AT_DATA([prog1.c], [[
+extern int a (void);
+int main (void)
+{
+ return a ();
+}
+]])
+
+AT_DATA([prog2.c], [[
+extern int b (void);
+int main (void)
+{
+ return b ();
+}
+]])
+
+
+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.
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo ]dnl
+ [-version-info 0:0:0], [], [ignore], [stderr])
+AT_CHECK([$GREP 'version-info.*ignored for convenience' stderr], [], [ignore])
+
+# 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
+ AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo ]dnl
+ [-version-number $version_number -rpath $libdir], [], [ignore], [ignore])
+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
+ AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo ]dnl
+ [-version-info $version_info -rpath $libdir], [], [ignore], [ignore])
+done
+
+# Hypothesis: we diagnose when AGE is higher than CURRENT.
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo ]dnl
+ [-version-info 1:3:2 -rpath $libdir], [1], [ignore], [stderr])
+AT_CHECK([$GREP 'AGE.*is greater than' stderr], [], [ignore])
+
+# Hypothesis: we diagnose invalid values.
+for version_info in 1:2:3:4 -1 0:-1 0:0:-1; do
+ AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo ]dnl
+ [-version-info $version_info -rpath $libdir], [1], [ignore], [ignore])
+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_AT_EXEC_CHECK([./prog1])
+ LT_AT_EXEC_CHECK([./prog2])
+ 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_AT_EXEC_CHECK([$bindir/prog1])
+ LT_AT_EXEC_CHECK([$bindir/prog2])
+ mv temp $objdir
+}
+
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo ]dnl
+ [-version-info 0:0:0 -rpath $libdir], [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la libb.lo liba.la ]dnl
+ [-version-info 0:0:0 -rpath $libdir], [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog1$EXEEXT prog1.$OBJEXT ]dnl
+ [liba.la], [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog2$EXEEXT prog2.$OBJEXT ]dnl
+ [libb.la], [], [ignore], [ignore])
+test_uninstalled
+AT_CHECK([$LIBTOOL --mode=install cp liba.la libb.la $libdir],
+ [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=install cp prog1$EXEEXT prog2$EXEEXT $bindir],
+ [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
+test_installed
+AT_CHECK([$LIBTOOL --mode=uninstall rm -f $libdir/liba.la], [], [ignore], [ignore])
+
+
+# Hypothesis: library revision updates do not require (uninstalled
+# nor installed) programs or libraries to be relinked.
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba2.lo ]dnl
+ [-version-info 0:1:0 -rpath $libdir], [], [ignore], [ignore])
+test_uninstalled
+AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
+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.
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba3.lo ]dnl
+ [-version-info 1:0:1 -rpath $libdir], [], [ignore], [ignore])
+# Do not test the uninstalled program, it may be broken (in the second case).
+AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
+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.
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba4.lo ]dnl
+ [-version-info 2:0:0 -rpath $libdir], [], [ignore], [ignore])
+# We do not guarantee that old versions of an uninstalled library are still
+# available, so test_uninstalled will not necessarily work here any more.
+AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
+
+# 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.
+AT_CHECK([:; case $host_os,$shared_archive_member_spec,$LDFLAGS in
+aix*,,*) exit 77 ;;
+aix*,*,*-brtl*) ;;
+aix*,*) exit 77 ;;
+esac])
+
+test_installed
+
+
+AT_CLEANUP
diff --git a/tests/with-pic.at b/tests/with-pic.at
new file mode 100644
index 0000000..566ef57
--- /dev/null
+++ b/tests/with-pic.at
@@ -0,0 +1,64 @@
+# with-pic.at -- test the --with-pic flag -*- Autotest -*-
+
+# Copyright (C) 2010-2015 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([test --with-pic])
+
+# 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])
+eval `$LIBTOOL --config | $EGREP '^(pic_flag|FGREP)='`
+
+no_dlls=:
+case " $pic_flag " in
+*" -DDLL_EXPORT "*) no_dlls=false ;;
+esac
+AT_CHECK([$no_dlls || exit 77])
+AT_CHECK([test . != "$at_srcdir" || exit 77])
+
+: ${MAKE=make}
+
+LT_AT_CONFIGURE([--disable-shared --with-pic=no])
+AT_CHECK([$MAKE], [], [stdout], [ignore])
+AT_CHECK([$FGREP -v "$pic_flag" stdout], [], [ignore], [ignore])
+$MAKE clean
+
+LT_AT_CONFIGURE([--disable-shared --with-pic=yes])
+AT_CHECK([$MAKE], [], [stdout], [ignore])
+AT_CHECK([$FGREP "$pic_flag" stdout], [], [ignore], [ignore])
+$MAKE clean
+
+LT_AT_CONFIGURE([--disable-shared --with-pic="demo,foo,bar"])
+AT_CHECK([$MAKE], [], [stdout], [ignore])
+AT_CHECK([$FGREP "$pic_flag" stdout], [], [ignore], [ignore])
+$MAKE clean
+
+LT_AT_CONFIGURE([--disable-shared --with-pic="foo,bar"])
+AT_CHECK([$MAKE], [], [stdout], [ignore])
+AT_CHECK([$FGREP -v "$pic_flag" stdout], [], [ignore], [ignore])
+$MAKE clean
+
+AT_CLEANUP