libtool-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Libtool branch, master, updated. v2.4.2-28-gadb7abd


From: Gary V. Vaughan
Subject: [SCM] GNU Libtool branch, master, updated. v2.4.2-28-gadb7abd
Date: Sun, 23 Oct 2011 15:40:44 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".

The branch, master has been updated
       via  adb7abda11c748e3c8ffc05736fd8205e2c84f74 (commit)
       via  d4afacc29cc3f620439854ad54ed0e14d4425ec0 (commit)
       via  3fc61c5669df9d7547a52d619e6be034d3df5c08 (commit)
       via  8e756c52eebad122fc1d86ab16997e500758f02c (commit)
       via  b868b7c48743870d2caea1a60077a066752bf0e1 (commit)
       via  933f614f6c811eab79c1428969df1c381dec51b0 (commit)
       via  f93b09fa58a8617c105fbe901ccd0650983d180b (commit)
       via  5c10763830e2b2cf08852dfc98e776675eea5a4e (commit)
       via  25b333e759ff00ee0b1e17c821c73c72c5a28314 (commit)
       via  f14182f6e77217a9eb267dcae7d79908920629c7 (commit)
       via  7afbf5504b09e5a6fca637d8cfcc979bb7d75d2e (commit)
       via  2b96af6ed407b93a816d152e7d81c8c764d4d0ea (commit)
       via  cf1249a63cd7923b8f31e2fe4d86eaeddb625c5a (commit)
       via  e1398280b6c54b4d5cb7f9c2a98483264379710d (commit)
       via  8570766c7dda766411fd89d6a187a325f351cd0a (commit)
       via  6de3756ab27cc211aa951e14b7aad1975402aa49 (commit)
       via  2edfcdf1d43416f56af8e06c07fa95b4f07e3f5c (commit)
       via  9ff759568cbd745efbde35536f4100cb8bb9893f (commit)
       via  c73118765ef4d1887b7e326c22d2187a69c881a3 (commit)
       via  aaa7c9328cf36c4776de0c39c6219482733ae4f7 (commit)
       via  3500d098e8dbbde938e62313767b42a5be1b3be6 (commit)
       via  dc827a2dcdf240ae3152152ef70159c9ee406b44 (commit)
       via  420b992e2e3d31a4cb2030b8c8165189933179ef (commit)
       via  be85f384d5782caf480f22c52b36f3c74ddc8211 (commit)
       via  7b70f4742a46e46a71a2d6a05e5640d10ceaba3f (commit)
       via  22d802b8a89980a3b679c1f0c2e1eafbbd00e148 (commit)
       via  ade0d8f39c200c74a77d0c7f095b158a4591bb18 (commit)
      from  e9efe2cf60837796f03132ca3c2cf2f53193e619 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit adb7abda11c748e3c8ffc05736fd8205e2c84f74
Author: Gary V. Vaughan <address@hidden>
Date:   Wed Oct 19 11:48:56 2011 +0700

    maint: use gnulib's maintainer-makefile module.
    
    * bootstrap.conf (gnulib_modules): Add maintainer-makefile.
    (gnulib_tool_options): Add --avoid=dummy now that we have a real
    module to import.
    * cfg.mk: New file. Customize maint.mk for Libtool.
    * Makefile.am (EXTRA_DIST): Add GNUmakefile, cfg.mk and maint.mk.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit d4afacc29cc3f620439854ad54ed0e14d4425ec0
Author: Gary V. Vaughan <address@hidden>
Date:   Wed Oct 19 12:22:12 2011 +0700

    maint: use gnulib's canonical fdl.texi.
    
    * doc/fdl.texi: Removed.
    * bootstrap.conf (gnulib_non_module_files): Add fdl.texi.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 3fc61c5669df9d7547a52d619e6be034d3df5c08
Author: Gary V. Vaughan <address@hidden>
Date:   Tue Oct 18 21:23:31 2011 +0700

    maint: use gnulib's canonical COPYING files.
    
    * COPYING, libltdl/COPYING.LIB: Removed.
    * bootstrap.conf (gnulib_non_module_files): Add COPYING.
    (libtool_add_libltdl_copying): New func_gnulib_tool hook
    function to copy the canonical LGPL2 COPYING file from gnulib at
    bootstrap.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 8e756c52eebad122fc1d86ab16997e500758f02c
Author: Gary V. Vaughan <address@hidden>
Date:   Sat Sep 25 04:26:00 2010 +0700

    maint: use gnulib's (pending saner) bootstrap script.
    
    * bootstrap: Replaced with gnulib script.
    * bootstrap.conf: New file with Libtool specific bootstrap
    configuration.
    * Makefile.am (EXTRA_DIST): Add bootstrap.conf.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit b868b7c48743870d2caea1a60077a066752bf0e1
Author: Gary V. Vaughan <address@hidden>
Date:   Fri Sep 10 01:14:41 2010 +0700

    maint: add gnulib submodule.
    
    * configure.ac (GL_INIT, GL_EARLY): Initialise gnulib, and expand
    its configure time checks.
    * .gitmodules (gnulib): New file with configuration for our
    gnulib git submodule.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 933f614f6c811eab79c1428969df1c381dec51b0
Author: Gary V. Vaughan <address@hidden>
Date:   Wed Sep 8 14:49:32 2010 +0700

    maint: tidy, sort and consolidate .gitignore files.
    
    The `gnulib-tool' and gnulib `bootstrap' scripts  maintain
    `.gitignore' files in asciibetical order, so reorder them now
    to avoid spurious patches later.
    
    Take advantage of putting recursive file ignore matches into
    `$top_srcdir/.gitignore' and remove repetitions from other
    `.gitignore' files.

commit f93b09fa58a8617c105fbe901ccd0650983d180b
Author: Gary V. Vaughan <address@hidden>
Date:   Sat Sep 25 04:18:04 2010 +0700

    maint: don't run help2man on programs not-yet-built.
    
    * Makefile.am (doc/libtool.1, doc/libtoolize.1): Added a
    comment about why the dependencies here have to be a mite
    bizarre.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 5c10763830e2b2cf08852dfc98e776675eea5a4e
Author: Gary V. Vaughan <address@hidden>
Date:   Sun Sep 26 18:25:36 2010 +0700

    tests: remove unused `aux_dir' variable from `getopt-m4sh.test'.
    
    * tests/getopt-m4sh.at (aux_dir): Remove unused variable.

commit 25b333e759ff00ee0b1e17c821c73c72c5a28314
Author: Gary V. Vaughan <address@hidden>
Date:   Sun Sep 26 18:19:18 2010 +0700

    tests: DRYing out `tests/sh.test'.
    
    * Makefile.am (libtool_m4): Canonical location of libtool.m4 file.
    (lt_aclocal_m4_deps): Use it.

commit f14182f6e77217a9eb267dcae7d79908920629c7
Author: Gary V. Vaughan <address@hidden>
Date:   Sat Sep 25 04:01:56 2010 +0700

    maint: pass directory declarations in configure.ac into Makefile.
    
    * configure.ac (AC_CONFIG_AUX_DIR, LT_CONFIG_LTDL_DIR)
    (AC_CONFIG_MACRO_DIR): Append code to these functions to
    capture and propagate their directory arguments to Makefile.
    * Makefile.am (aux_dir, ltdl_dir, macro_dir): Remove declarations.
    * bootstrap (my_sed_trace): Also capture LT_CONFIG_LTDL_DIR into
    `$ltdl_dir'.
    <Makefile>: Output the extracted values of `aux_dir', `ltdl_dir'
    and `macro_dir' at the top of the quick'n'dirty bootstrap
    Makefile.

commit 7afbf5504b09e5a6fca637d8cfcc979bb7d75d2e
Author: Gary V. Vaughan <address@hidden>
Date:   Sun Sep 26 16:21:10 2010 +0700

    maint: factor out ltmain.sh variable deletion.
    
    * Makefile.am (ltmain_sh_edit): Expand upon bootstrap edit by
    adding the extra line to delete boilerplate variable settings
    from libltdl/config/general.m4sh that don't apply here.
    (libltdl/config/ltmain.sh): Use it.

commit 2b96af6ed407b93a816d152e7d81c8c764d4d0ea
Author: Gary V. Vaughan <address@hidden>
Date:   Sat Sep 25 03:40:27 2010 +0700

    maint: DRYing out `Makefile.am' file paths.
    
    * Makefile.am (aux_dir, macro_dir): Include `$(srcdir)' in
    declaration. Adjust all references.
    (doc_dir, ltdl_dir, m4sh_dir, tests_dir): New single location
    to hold directory paths, all including `$(srcdir)', to reduce
    typing.
    (LT_M4SH): Use `$m4sh_dir' as include directory.
    (defs): This one is for a file in the build-tree, so no
    leading `$(srcdir)'.

commit cf1249a63cd7923b8f31e2fe4d86eaeddb625c5a
Author: Gary V. Vaughan <address@hidden>
Date:   Sat Sep 25 03:25:48 2010 +0700

    CLEANUP: fix error from pushing too far up the branch.
    
    * Makefile.am (install-data-local): Undo character transposition
    from too early push of untested v2.4-17-gaf74d58.
    * ChangeLog (2010-09-16): Remove spurious entry.

commit e1398280b6c54b4d5cb7f9c2a98483264379710d
Author: Gary V. Vaughan <address@hidden>
Date:   Fri Sep 24 21:12:18 2010 +0700

    maint: use macro_dir consistently in all files.
    
    * Makefile.am: Replace all uses of m4dir with macrodir to
    match AC_CONFIG_MACRO_DIR.
    * libltdl/config/libtoolize.m4sh: Replace all uses of macrodir
    with macro_dir.
    * tests/defs.m4sh, tests/sh.test: Likewise.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 8570766c7dda766411fd89d6a187a325f351cd0a
Author: Gary V. Vaughan <address@hidden>
Date:   Fri Sep 24 21:10:19 2010 +0700

    maint: use aux_dir consistently in all files.
    
    * Makefile.am, Makefile.maint: Replace all uses of auxdir
    with aux_dir to match AC_CONFIG_AUX_DIR.
    * libltdl/config/libtoolize.m4sh: Likewise.
    * tests/defs.m4sh, tests/getopt-m4sh.at: Likewise.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 6de3756ab27cc211aa951e14b7aad1975402aa49
Author: Gary V. Vaughan <address@hidden>
Date:   Fri Sep 24 20:58:39 2010 +0700

    Makefile: try to be robust against shell meta-chars in filenames.
    
    * Makefile.am: In each rule body, unless a make variable needs
    to be seen as multiple words by the shell (for word-splitting
    loops, or because it contains several commands), quote it. Use
    single quotes unless the shell needs to perform variable inter-
    polation, in which case use double quotes.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 2edfcdf1d43416f56af8e06c07fa95b4f07e3f5c
Author: Gary V. Vaughan <address@hidden>
Date:   Fri Sep 24 20:26:36 2010 +0700

    maint: let make employ user's `SED' setting.
    
    * Makefile.am: Replace hard-coded `sed' with `$(SED)' through-
    out.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 9ff759568cbd745efbde35536f4100cb8bb9893f
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Sep 2 16:44:32 2010 +0700

    maint: simplify and improve safety of bootstrap process.
    
    * Makefile.am (bootstrap_files): List files that need to be
    generated at bootstrap time before `./configure && make' can
    work.  It turns out that this is considerably fewer files than we
    had thought necessary previously.
    (bootstrap-deps-prep): Ensure minimum set of required substitution
    variables are non-empty.
    (bootstrap-deps): Depend on `bootstrap' files.
    * bootstrap (Generate bootstrap dependencies): Now that
    `Makefile.am' is entirely responsible for rebuilding files at
    bootstrap time, we need only specify the new `bootstrap-deps'
    target, and supply values for the substitutions checked by
    `bootstrap-deps-prep'.
    * configure.ac (AC_CONFIG_SRCDIR): `libtoolize.in' is not here yet
    right after running `bootstrap'.  So rely on the presence of
    `libltdl/config/libtoolize.m4sh', which is always there.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit c73118765ef4d1887b7e326c22d2187a69c881a3
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Sep 23 19:53:48 2010 +0700

    build: eliminate superfluous temporary files from `Makefile.am'.
    
    * Makefile.am (CLEANFILES): Remove temporary file entries.
    (libtoolize.in, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4)
    (tests/defs, tests/testsuite): Factor away temporary files.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit aaa7c9328cf36c4776de0c39c6219482733ae4f7
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Sep 23 19:42:30 2010 +0700

    build: eliminate `ltmain.in' and `libtoolize.in' intermediate files.
    
    * Makefile.am (libltdl/config/ltmain.sh, libtoolize.in): Pipe
    the output of `$(LT_M4SH)' directly into `$(bootstrap_edit)' to
    avoid use of superfluous intermediate file.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 3500d098e8dbbde938e62313767b42a5be1b3be6
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Sep 23 19:31:10 2010 +0700

    build: don't hardcode repeated long paths in Makefile rules.
    
    According to the DRY principle, scattering several copies of
    something across a file or project leads to pain.  Let's not
    do that!
    * Makefile.am (Makefile_in, Makefile_inc, defs_in, defs_m4sh),
    (libtoolize_in, ltmain_m4sh, ltversion_in): New variables to
    hold the location of important files and targets.
    (EXTRA_DIST): Add the distributed ones by variable.
    (libtoolize, libltdl/Makefile.am, libltdl/m4/ltversion.m4)
    (libltdl/config/ltmain.sh, libltdl/stamp-mk, tests/defs)
    (tests/defs.in): Use the new variables to reduce noise and
    repetition.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit dc827a2dcdf240ae3152152ef70159c9ee406b44
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Sep 23 18:30:36 2010 +0700

    build: make better use of automatic variables in `Makefile.am'.
    
    * Makefile.am (libtoolize, libtoolize.in, libltdl/Makefile.am)
    (libltdl/config/mkstamp, libltdl/config/ltmain.m4sh)
    (libltdl/m4/ltversion.m4, tests/testsuite, tests/defs.in):
    Make better use of automatic variables.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 420b992e2e3d31a4cb2030b8c8165189933179ef
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Sep 23 18:44:16 2010 +0700

    build: name temporary files in `Makefile.am' consistently.
    
    Sadly, we still have to jump through hoops for MICROS~1's very
    old, very broken 8.3 naming convention, so we have to be careful
    to be unique in the first 8 letters, and not to use two periods
    in a filename, otherwise we could use the much more elegent
    `temporary files use "address@hidden"' idiom:
    * Makefile.am (libltdl/m4/ltversion.m4): Rename temporary file
    to `ltversion.tmp'.
    (libltdl/config/ltmain.sh): Rename temporary file to
    `libltdl/config/ltmain.tmp'.
    (libtoolize): Rename temporary file to `libtoolize.tmp'.
    (tests/defs): Rename temporary file to `tests/defs.tmp'
    (tests/testsuite): Rename temporary file to `tests/testsuite.tmp'.
    (CLEANFILES): Append temporary files as we create rules that
    use them.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit be85f384d5782caf480f22c52b36f3c74ddc8211
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Sep 23 18:06:09 2010 +0700

    build: factor Makefile.am `m4sh' invocations to LT_M4SH.
    
    * Makefile.am (LT_M4SH): Now that all directories are listed as
    fully qualified paths, the search path argument to M4SH is always
    the same, so factor it out into a variable.  Adjust all callers.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 7b70f4742a46e46a71a2d6a05e5640d10ceaba3f
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Sep 23 18:02:12 2010 +0700

    build: avoid unnecessary directory changes in Makefile rules.
    
    * Makefile.am (doc/notes.txt, libltdl/m4/ltversion.m4,
    (libltdl/config/ltmain.m4sh, libtoolize.in, libltdl/Makefile.am)
    (libltdl/config/mkstamp, tests/testsuite, tests/defs.in): Avoid
    unnecessary `cd' commands by using fully qualified paths to files
    outside of current directory.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit 22d802b8a89980a3b679c1f0c2e1eafbbd00e148
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Sep 23 17:37:00 2010 +0700

    build: compare `revision' rather than `correctver' in Makefile.am.
    
    * Makefile.am (rebuild): Set the shell variable `revision' rather
    than `correctver' for clarity of purpose.
    (bootstrap_edit, libltdl/config/ltmain.sh): Adjust.
    (libltdl/m4/ltversion.m4): Likewise, and alse, instead of munging
    the serial number comment line with set, extract `macro_version'
    from this file, and compare it directly with `revision'.
    (libtool): Likewise for `package_revision'.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

commit ade0d8f39c200c74a77d0c7f095b158a4591bb18
Author: Gary V. Vaughan <address@hidden>
Date:   Thu Oct 20 23:40:13 2011 +0700

    build: avoid spurious bootstrap_edit call.
    
    * Makefile.am (tests/package.m4): @FOO@ substitutions have already
    been made by the time Makefile.am has been transformed into Makefile,
    so don't try to rerun the substitutions manually with
    $(bootstrap_edit) after the fact.
    
    Signed-off-by: Gary V. Vaughan <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                |   36 +-
 .gitmodules               |    3 +
 COPYING                   |  339 -----
 ChangeLog                 |  236 ++++
 Makefile.am               |  500 ++++---
 Makefile.maint            |   10 +-
 bootstrap                 | 3333 ++++++++++++++++++++++++++++++++++++++++++---
 bootstrap.conf            |  449 ++++++
 cfg.mk                    |   72 +
 configure.ac              |   20 +-
 doc/.gitignore            |   15 +-
 doc/fdl.texi              |  506 -------
 gl/top/maint.mk.diff      |   68 +
 gnulib                    |    1 +
 libltdl/.gitignore        |    8 +-
 libltdl/COPYING.LIB       |  515 -------
 libltdl/config/.gitignore |   23 +-
 libltdl/libgnu/.gitignore |    2 +
 libltdl/m4/.gitignore     |    7 +-
 libtoolize.m4sh           |  186 ++--
 tests/.gitignore          |   10 +-
 tests/cdemo/.gitignore    |    2 +-
 tests/defs.m4sh           |    6 +-
 tests/demo/.gitignore     |   14 +-
 tests/depdemo/.gitignore  |    4 +-
 tests/f77demo/.gitignore  |    4 +-
 tests/fcdemo/.gitignore   |    4 +-
 tests/getopt-m4sh.at      |    2 -
 tests/mdemo/.gitignore    |    4 +-
 tests/mdemo2/.gitignore   |    4 +-
 tests/pdemo/.gitignore    |    6 +-
 tests/sh.test             |    4 +-
 tests/tagdemo/.gitignore  |    2 +-
 33 files changed, 4483 insertions(+), 1912 deletions(-)
 create mode 100644 .gitmodules
 delete mode 100644 COPYING
 create mode 100644 bootstrap.conf
 create mode 100644 cfg.mk
 delete mode 100644 doc/fdl.texi
 create mode 100644 gl/top/maint.mk.diff
 create mode 160000 gnulib
 delete mode 100644 libltdl/COPYING.LIB
 create mode 100644 libltdl/libgnu/.gitignore

diff --git a/.gitignore b/.gitignore
index 17050be..87096df 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,40 +1,56 @@
-*~
 *.aux
 *.cp
 *.cps
 *.dvi
 *.exe
 *.fn
+*.info*
 *.ky
 *.la
 *.lo
 *.log
 *.o
 *.obj
+*.orig
+*.pdf
 *.pg
+*.ps
+*.rej
 *.toc
 *.tp
 *.vr
+*~
 +build
 +dest
 +inst
+.#*
 .*.prcs_aux
-.clcommitrc
-.cvslog-tlasync
+.DS_Store
 .deps
 .dirstamp
 .gdb_history
+.gitmodules
 .libs
-.pc
-INSTALL
+/.pc
+/.sc-start*
+/COPYING
+/GNUmakefile
+/INSTALL
+/gnulib-local
+/libtoolize
+/libtoolize.in
+/maint.mk
+/patches
+/release
 Makefile
 Makefile.in
+\#*#
+_inst-*demo
 _libs
 acinclude.m4
 aclocal.m4
+atconfig
 autom4te.cache
-clibtool.cfg
-commit
 config-h.in
 config.*
 configure
@@ -44,8 +60,10 @@ libtool-*.tar.bz2
 libtool-*.tar.gz
 libtool-*.tar.lzma
 libtool-*.tar.xz
-libtoolize
-libtoolize.in
 manual.html
 patches
 stamp-*
+testdir*
+testsuite
+testsuite.dir
+testsuite.log
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..bb9e1ba
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "gnulib"]
+        path = gnulib
+        url = git://git.sv.gnu.org/gnulib.git
diff --git a/COPYING b/COPYING
deleted file mode 100644
index d511905..0000000
--- a/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/ChangeLog b/ChangeLog
index c51e749..a3728f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,239 @@
+2011-10-19  Gary V. Vaughan  <address@hidden>
+
+       maint: use gnulib's maintainer-makefile module.
+       * bootstrap.conf (gnulib_modules): Add maintainer-makefile.
+       (gnulib_tool_options): Add --avoid=dummy now that we have a real
+       module to import.
+       * cfg.mk: New file. Customize maint.mk for Libtool.
+       * Makefile.am (EXTRA_DIST): Add GNUmakefile, cfg.mk and maint.mk.
+
+2011-10-19  Gary V. Vaughan  <address@hidden>
+
+       maint: use gnulib's canonical fdl.texi.
+       * doc/fdl.texi: Removed.
+       * bootstrap.conf (gnulib_non_module_files): Add fdl.texi.
+
+2011-10-18  Gary V. Vaughan  <address@hidden>
+
+       maint: use gnulib's canonical COPYING files.
+       * COPYING, libltdl/COPYING.LIB: Removed.
+       * bootstrap.conf (gnulib_non_module_files): Add COPYING.
+       (libtool_add_libltdl_copying): New func_gnulib_tool hook
+       function to copy the canonical LGPL2 COPYING file from gnulib at
+       bootstrap.
+
+2010-09-16  Gary V. Vaughan  <address@hidden>
+
+       maint: use gnulib's (pending saner) bootstrap script.
+       * bootstrap: Replaced with gnulib script.
+       * bootstrap.conf: New file with Libtool specific bootstrap
+       configuration.
+       * Makefile.am (EXTRA_DIST): Add bootstrap.conf.
+
+2010-08-27  Gary V. Vaughan  <address@hidden>
+
+       maint: add gnulib submodule.
+       * configure.ac (GL_INIT, GL_EARLY): Initialise gnulib, and expand
+       its configure time checks.
+       * .gitmodules (gnulib): New file with configuration for our
+       gnulib git submodule.
+
+2010-09-01  Gary V. Vaughan  <address@hidden>
+
+       maint: don't run help2man on programs not-yet-built.
+       * Makefile.am (doc/libtool.1, doc/libtoolize.1): Added a
+       comment about why the dependencies here have to be a mite
+       bizarre.
+
+2010-09-26  Gary V. Vaughan  <address@hidden>
+
+       tests: remove unused `aux_dir' variable from `getopt-m4sh.test'.
+       * tests/getopt-m4sh.at (aux_dir): Remove unused variable.
+
+2010-09-26  Gary V. Vaughan  <address@hidden>
+
+       tests: DRYing out `tests/sh.test'.
+       * Makefile.am (libtool_m4): Canonical location of libtool.m4 file.
+       (lt_aclocal_m4_deps): Use it.
+
+2010-09-23  Gary V. Vaughan  <address@hidden>
+
+       maint: pass directory declarations in configure.ac into Makefile.
+       * configure.ac (AC_CONFIG_AUX_DIR, LT_CONFIG_LTDL_DIR)
+       (AC_CONFIG_MACRO_DIR): Append code to these functions to
+       capture and propagate their directory arguments to Makefile.
+       * Makefile.am (aux_dir, ltdl_dir, macro_dir): Remove declarations.
+       * bootstrap (my_sed_trace): Also capture LT_CONFIG_LTDL_DIR into
+       `$ltdl_dir'.
+       <Makefile>: Output the extracted values of `aux_dir', `ltdl_dir'
+       and `macro_dir' at the top of the quick'n'dirty bootstrap
+       Makefile.
+
+2010-09-26  Gary V. Vaughan  <address@hidden>
+
+       maint: factor out ltmain.sh variable deletion.
+       * Makefile.am (ltmain_sh_edit): Expand upon bootstrap edit by
+       adding the extra line to delete boilerplate variable settings
+       from libltdl/config/general.m4sh that don't apply here.
+       (libltdl/config/ltmain.sh): Use it.
+
+2010-09-25  Gary V. Vaughan  <address@hidden>
+
+       maint: DRYing out `Makefile.am' file paths.
+       * Makefile.am (aux_dir, macro_dir): Include `$(srcdir)' in
+       declaration. Adjust all references.
+       (doc_dir, ltdl_dir, m4sh_dir, tests_dir): New single location
+       to hold directory paths, all including `$(srcdir)', to reduce
+       typing.
+       (LT_M4SH): Use `$m4sh_dir' as include directory.
+       (defs): This one is for a file in the build-tree, so no
+       leading `$(srcdir)'.
+
+2010-09-25  Gary V. Vaughan  <address@hidden>
+
+       CLEANUP: fix error from pushing too far up the branch.
+       * Makefile.am (install-data-local): Undo character transposition
+       from too early push of untested v2.4-17-gaf74d58.
+
+2010-09-23  Gary V. Vaughan  <address@hidden>
+
+       maint: use macro_dir consistently in all files.
+       * Makefile.am: Replace all uses of m4dir with macrodir to
+       match AC_CONFIG_MACRO_DIR.
+       * libltdl/config/libtoolize.m4sh: Replace all uses of macrodir
+       with macro_dir.
+       * tests/defs.m4sh, tests/sh.test: Likewise.
+
+       maint: use aux_dir consistently in all files.
+       * Makefile.am, Makefile.maint: Replace all uses of auxdir
+       with aux_dir to match AC_CONFIG_AUX_DIR.
+       * libltdl/config/libtoolize.m4sh: Likewise.
+       * tests/defs.m4sh, tests/getopt-m4sh.at: Likewise.
+
+2010-09-24  Gary V. Vaughan  <address@hidden>
+
+       Makefile: try to be robust against shell meta-chars in filenames.
+       * Makefile.am: In each rule body, unless a make variable needs
+       to be seen as multiple words by the shell (for word-splitting
+       loops, or because it contains several commands), quote it. Use
+       single quotes unless the shell needs to perform variable inter-
+       polation, in which case use double quotes.
+
+2010-09-24  Gary V. Vaughan  <address@hidden>
+
+       maint: let make employ user's `SED' setting.
+       * Makefile.am: Replace hard-coded `sed' with `$(SED)' through-
+       out.
+
+2010-08-30  Gary V. Vaughan  <address@hidden>
+
+       maint: simplify and improve safety of bootstrap process.
+       * Makefile.am (bootstrap_files): List files that need to be
+       generated at bootstrap time before `./configure && make' can
+       work.  It turns out that this is considerably fewer files than we
+       had thought necessary previously.
+       (bootstrap-deps-prep): Ensure minimum set of required substitution
+       variables are non-empty.
+       (bootstrap-deps): Depend on `bootstrap' files.
+       * bootstrap (Generate bootstrap dependencies): Now that
+       `Makefile.am' is entirely responsible for rebuilding files at
+       bootstrap time, we need only specify the new `bootstrap-deps'
+       target, and supply values for the substitutions checked by
+       `bootstrap-deps-prep'.
+       * configure.ac (AC_CONFIG_SRCDIR): `libtoolize.in' is not here yet
+       right after running `bootstrap'.  So rely on the presence of
+       `libtoolize.m4sh', which is always there.
+
+2010-08-31  Gary V. Vaughan  <address@hidden>
+
+       build: eliminate superfluous temporary files from `Makefile.am'.
+       * Makefile.am (CLEANFILES): Remove temporary file entries.
+       (libtoolize.in, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4)
+       (tests/defs, tests/testsuite): Factor away temporary files.
+
+2010-08-31  Gary V. Vaughan  <address@hidden>
+
+       build: eliminate `ltmain.in' and `libtoolize.in' intermediate files.
+       * Makefile.am (libltdl/config/ltmain.sh, libtoolize.in): Pipe
+       the output of `$(LT_M4SH)' directly into `$(bootstrap_edit)' to
+       avoid use of superfluous intermediate file.
+
+2010-08-31  Gary V. Vaughan  <address@hidden>
+
+       build: don't hardcode repeated long paths in Makefile rules.
+       According to the DRY principle, scattering several copies of
+       something across a file or project leads to pain.  Let's not
+       do that!
+       * Makefile.am (Makefile_in, Makefile_inc, defs_in, defs_m4sh),
+       (libtoolize_in, ltmain_m4sh, ltversion_in): New variables to
+       hold the location of important files and targets.
+       (EXTRA_DIST): Add the distributed ones by variable.
+       (libtoolize, libltdl/Makefile.am, libltdl/m4/ltversion.m4)
+       (libltdl/config/ltmain.sh, libltdl/stamp-mk, tests/defs)
+       (tests/defs.in): Use the new variables to reduce noise and
+       repetition.
+
+2010-08-31  Gary V. Vaughan  <address@hidden>
+
+       build: make better use of automatic variables in `Makefile.am'.
+       * Makefile.am (libtoolize, libtoolize.in, libltdl/Makefile.am)
+       (libltdl/config/mkstamp, libltdl/config/ltmain.m4sh)
+       (libltdl/m4/ltversion.m4, tests/testsuite, tests/defs.in):
+       Make better use of automatic variables.
+
+2010-08-31  Gary V. Vaughan  <address@hidden>
+
+       build: name temporary files in `Makefile.am' consistently.
+       Sadly, we still have to jump through hoops for MICROS~1's very
+       old, very broken 8.3 naming convention, so we have to be careful
+       to be unique in the first 8 letters, and not to use two periods
+       in a filename, otherwise we could use the much more elegent
+       `temporary files use "address@hidden"' idiom:
+       * Makefile.am (libltdl/m4/ltversion.m4): Rename temporary file
+       to `ltversion.tmp'.
+       (libltdl/config/ltmain.sh): Rename temporary file to
+       `libltdl/config/ltmain.tmp'.
+       (libtoolize): Rename temporary file to `libtoolize.tmp'.
+       (tests/defs): Rename temporary file to `tests/defs.tmp'
+       (tests/testsuite): Rename temporary file to `tests/testsuite.tmp'.
+       (CLEANFILES): Append temporary files as we create rules that
+       use them.
+
+2010-08-31  Gary V. Vaughan  <address@hidden>
+
+       build: factor Makefile.am `m4sh' invocations to LT_M4SH.
+       * Makefile.am (LT_M4SH): Now that all directories are listed as
+       fully qualified paths, the search path argument to M4SH is always
+       the same, so factor it out into a variable.  Adjust all callers.
+
+2010-08-31  Gary V. Vaughan  <address@hidden>
+
+       build: avoid unnecessary directory changes in Makefile rules.
+       * Makefile.am (doc/notes.txt, libltdl/m4/ltversion.m4,
+       (libltdl/config/ltmain.m4sh, libtoolize.in, libltdl/Makefile.am)
+       (libltdl/config/mkstamp, tests/testsuite, tests/defs.in): Avoid
+       unnecessary `cd' commands by using fully qualified paths to files
+       outside of current directory.
+
+2010-08-31  Gary V. Vaughan  <address@hidden>
+
+       build: compare `revision' rather than `correctver' in Makefile.am.
+       * Makefile.am (rebuild): Set the shell variable `revision' rather
+       than `correctver' for clarity of purpose.
+       (bootstrap_edit, libltdl/config/ltmain.sh): Adjust.
+       (libltdl/m4/ltversion.m4): Likewise, and alse, instead of munging
+       the serial number comment line with set, extract `macro_version'
+       from this file, and compare it directly with `revision'.
+       (libtool): Likewise for `package_revision'.
+
+2010-10-20  Gary V. Vaughan  <address@hidden>
+
+       build: avoid spurious bootstrap_edit call.
+       * Makefile.am (tests/package.m4): @FOO@ substitutions have already
+       been made by the time Makefile.am has been transformed into Makefile,
+       so don't try to rerun the substitutions manually with
+       $(bootstrap_edit) after the fact.
+
 2011-10-17  Gary V. Vaughan  <address@hidden>
 
        Post-release administrivia.
diff --git a/Makefile.am b/Makefile.am
index 268b399..09b61fa 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -28,7 +28,8 @@ ACLOCAL_AMFLAGS       = -I libltdl/m4
 AM_CPPFLAGS            =
 AM_LDFLAGS             =
 
-DIST_SUBDIRS           = .
+SUBDIRS                        = .
+DIST_SUBDIRS           = $(SUBDIRS)
 EXTRA_DIST             =
 
 BUILT_SOURCES          = libtool libtoolize
@@ -43,56 +44,84 @@ noinst_LTLIBRARIES  =
 lib_LTLIBRARIES                =
 EXTRA_LTLIBRARIES      =
 
-auxdir                 = libltdl/config
-m4dir                  = libltdl/m4
+m4sh_dir               = $(aux_dir)
+
+LT_M4SH                        = $(M4SH) -B '$(m4sh_dir)'
 
 # Using `cd' in backquotes may print the directory name, use this instead:
 lt__cd         = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 
-MKSTAMP = $(SHELL) $(srcdir)/$(auxdir)/mkstamp
+MKSTAMP = '$(SHELL)' '$(aux_dir)/mkstamp'
 
-timestamp = set dummy `$(MKSTAMP) $(srcdir)`; shift; \
+timestamp = set dummy `$(MKSTAMP) '$(srcdir)'`; shift; \
        case $(VERSION) in \
          *[acegikmoqsuwy]) TIMESTAMP=" $$1 $$2" ;; \
          *) TIMESTAMP="" ;; \
        esac
 
-rebuild = rebuild=:; $(timestamp); correctver=$$1
+rebuild = rebuild=:; $(timestamp); revision=$$1
 
 
 # ---------- #
 # Bootstrap. #
 # ---------- #
 
-sh_files       = $(auxdir)/general.m4sh $(auxdir)/getopt.m4sh
-EXTRA_DIST     += bootstrap $(srcdir)/libtoolize.in $(auxdir)/ltmain.m4sh \
-                 $(auxdir)/mkstamp $(sh_files) \
-                 ChangeLog.1996 ChangeLog.1997 ChangeLog.1998 \
-                 ChangeLog.1999 ChangeLog.2000 ChangeLog.2001 \
-                 ChangeLog.2002 ChangeLog.2003 ChangeLog.2004 \
-                 ChangeLog.2005 ChangeLog.2006 ChangeLog.2007 \
-                 ChangeLog.2008 ChangeLog.2009 ChangeLog.2010
-CLEANFILES     += libtool libtoolize libtoolize.tmp \
-                 $(auxdir)/ltmain.tmp $(m4dir)/ltversion.tmp
+defs_m4sh      = $(tests_dir)/defs.m4sh
+general_m4sh   = $(m4sh_dir)/general.m4sh
+getopt_m4sh    = $(m4sh_dir)/getopt.m4sh
+libtoolize_m4sh        = $(srcdir)/libtoolize.m4sh
+ltmain_m4sh    = $(m4sh_dir)/ltmain.m4sh
+
+sh_files       = $(general_m4sh) $(getopt_m4sh)
+EXTRA_DIST     += bootstrap bootstrap.conf cfg.mk maint.mk $(aux_dir)/mkstamp \
+                 $(sh_files) ChangeLog.1996 ChangeLog.1997 ChangeLog.1998 \
+                 ChangeLog.1999 ChangeLog.2000 ChangeLog.2001 ChangeLog.2002 \
+                 ChangeLog.2003 ChangeLog.2004 ChangeLog.2005 ChangeLog.2006 \
+                 ChangeLog.2007 ChangeLog.2008 ChangeLog.2009 ChangeLog.2010 \
+                 GNUmakefile
+CLEANFILES     += libtool libtoolize
+
+## If a file is named several times below, and especially if it
+## is a distributed file created during Libtool bootstrap, we
+## put it in a variable in accordance with the DRY principle.
+## Use `$(srcdir)' for the benefit of non-GNU makes: referring
+## to them by their variable makes sure they appear as targets
+## and dependencies with `$(srcdir)' consistently.
+configure_ac   = $(srcdir)/configure.ac
+config_status  = $(top_builddir)/config.status
+libtoolize_in  = $(srcdir)/libtoolize.in
+ltmain_sh      = $(aux_dir)/ltmain.sh
+libtool_m4     = $(macro_dir)/libtool.m4
+ltversion_in   = $(macro_dir)/ltversion.in
+ltversion_m4   = $(macro_dir)/ltversion.m4
+
+EXTRA_DIST     += $(libtoolize_in) $(libtoolize_m4sh) $(ltmain_m4sh) \
+                 $(ltmain_sh) $(ltversion_in) $(ltversion_m4)
 
 ## These are the replacements that need to be made at bootstrap time,
 ## because they must be static in distributed files, and not accidentally
 ## changed by configure running on the build machine.
-bootstrap_edit  = sed \
+bootstrap_edit  = $(SED) \
                  -e 's,@MACRO_VERSION\@,$(VERSION),g' \
-                 -e "s,@MACRO_REVISION\@,$$correctver,g" \
+                 -e "s,@MACRO_REVISION\@,$$revision,g" \
                  -e "s,@MACRO_SERIAL\@,$$serial,g" \
                  -e 's,@PACKAGE\@,$(PACKAGE),g' \
                  -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' \
                  -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' \
                  -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
-                 -e "s,@package_revision\@,$$correctver,g" \
+                 -e "s,@package_revision\@,$$revision,g" \
                  -e 's,@PACKAGE_STRING\@,$(PACKAGE_NAME) $(VERSION),g' \
                  -e 's,@PACKAGE_TARNAME\@,$(PACKAGE),g' \
                  -e 's,@PACKAGE_VERSION\@,$(VERSION),g' \
                  -e "s,@TIMESTAMP\@,$$TIMESTAMP,g" \
                  -e 's,@VERSION\@,$(VERSION),g'
 
+## ltmain.sh needs some additional editing to remove unsubstituted
+## variable defaulting lines, because ltmain.sh never gets passed
+## through $(configure_edit).
+ltmain_sh_edit = $(bootstrap_edit) \
+                 -e '/^: \$${.*="@.*@"}$$/d'
+
 ## We build ltversion.m4 here, instead of from config.status,
 ## because config.status is rerun each time one of configure's
 ## dependencies change and ltversion.m4 happens to be a configure
@@ -101,29 +130,21 @@ bootstrap_edit  = sed \
 ## We used to do this with a 'stamp-vcl' file, but non-gmake builds
 ## would rerun configure on every invocation, so now we manually
 ## check the version numbers from the build rule when necessary.
-## Use `$(srcdir)/m4' for the benefit of non-GNU makes: this is
-## how ltversion.m4 appears in our dependencies.
-EXTRA_DIST += $(m4dir)/ltversion.in $(srcdir)/$(m4dir)/ltversion.m4
-$(srcdir)/$(m4dir)/ltversion.m4: $(m4dir)/ltversion.in configure.ac ChangeLog
-       @target='$(srcdir)/$(m4dir)/ltversion.m4'; $(rebuild); \
-       if test -f "$$target"; then \
-         set dummy `sed -n '/^# serial /p' "$$target"`; shift; \
-         actualver=1.$$3; \
-         test "$$actualver" = "$$correctver" && rebuild=false; \
+$(ltversion_m4): $(ltversion_in) $(configure_ac) ChangeLog
+       @$(rebuild); \
+       if test -f '$@'; then \
+         eval `'$(SED)' -n '/^macro_revision=/p' '$@'`; \
+         test x"$$macro_revision" = x"$$revision" && rebuild=false; \
        fi; \
        for prereq in $?; do \
          case $$prereq in *ChangeLog | *configure.ac);; *) rebuild=:;; esac; \
        done; \
        if $$rebuild; then \
-         cd $(srcdir); \
-         rm -f $(m4dir)/ltversion.tmp; \
-         serial=`echo "$$correctver" | sed 's,^1[.],,g'`; \
-         echo $(bootstrap_edit) \
-           $(srcdir)/$(m4dir)/ltversion.in \> $(srcdir)/$(m4dir)/ltversion.m4; 
\
-         $(bootstrap_edit) \
-                 $(m4dir)/ltversion.in > $(m4dir)/ltversion.tmp; \
-         chmod a-w $(m4dir)/ltversion.tmp; \
-         mv -f $(m4dir)/ltversion.tmp $(m4dir)/ltversion.m4; \
+         rm -f '$@'; \
+         serial=`echo "$$revision" |$(SED) 's,^1[.],,g'`; \
+         echo "$(bootstrap_edit) '$(ltversion_in)' > '$@'"; \
+         $(bootstrap_edit) '$(ltversion_in)' > '$@'; \
+         chmod a-w '$@'; \
        fi
 
 ## And for similar reasons, ltmain.sh can't be built from config.status.
@@ -131,82 +152,107 @@ $(srcdir)/$(m4dir)/ltversion.m4: $(m4dir)/ltversion.in 
configure.ac ChangeLog
 ## would rerun configure on every invocation, so now we manually
 ## check the version numbers from the build rule when necessary.
 ## !WARNING! If you edit this rule to change the contents of ltmain.sh,
-##           you must `touch $(srcdir)/$(auxdir)/ltmain.in' from the
+##           you must `touch $(m4sh_dir)/ltmain.m4sh' from the
 ##           shell if you need ltmain.sh to be regenerated.  Ideally, we
 ##           should make this rule depend on Makefile but that will break
 ##           distcheck (at least) by rebuilding ltmain.sh in the source
 ##           tree whenever config.status regenerates the Makefile.
-EXTRA_DIST += $(srcdir)/$(auxdir)/ltmain.sh
-$(srcdir)/$(auxdir)/ltmain.sh: $(sh_files) $(auxdir)/ltmain.m4sh configure.ac 
ChangeLog
-       @target='$(srcdir)/$(auxdir)/ltmain.sh'; $(rebuild); \
-       if test -f "$$target"; then \
-         eval `sed -n '/^package_revision=/p' "$$target"`; \
-         actualver=$$package_revision; \
-         test "$$actualver" = "$$correctver" && rebuild=false; \
+$(ltmain_sh): $(ltmain_m4sh) $(sh_files) $(configure_ac) ChangeLog
+       @$(rebuild); \
+       if test -f '$@'; then \
+         eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \
+         test x"$$package_revision" = x"$$revision" && rebuild=false; \
        fi; \
        for prereq in $?; do \
          case $$prereq in *ChangeLog);; *) rebuild=:;; esac; \
        done; \
        if $$rebuild; then \
-         cd $(srcdir); \
-         rm -f $(auxdir)/ltmain.in $(auxdir)/ltmain.tmp \
-           $(auxdir)/ltmain.sh; \
-         echo $(M4SH) -B $(auxdir) $(auxdir)/ltmain.m4sh \
-           \> $(auxdir)/ltmain.in; \
-         $(M4SH) -B $(auxdir) $(auxdir)/ltmain.m4sh \
-           > $(auxdir)/ltmain.in; \
-         echo $(bootstrap_edit) \
-           $(srcdir)/$(auxdir)/ltmain.in "> $$target"; \
-         $(bootstrap_edit) -e '/^: \$${.*="@.*@"}$$/d' \
-           $(auxdir)/ltmain.in > $(auxdir)/ltmain.tmp; \
-         rm -f $(auxdir)/ltmain.in; \
-         chmod a-w $(auxdir)/ltmain.tmp; \
-         mv -f $(auxdir)/ltmain.tmp $(auxdir)/ltmain.sh; \
+         rm -f '$@'; \
+         echo "$(LT_M4SH) '$(ltmain.m4sh)' | $(ltmain_sh_edit) > '$@'"; \
+         $(LT_M4SH) '$(ltmain_m4sh)' | $(ltmain_sh_edit) > '$@'; \
+         chmod a-w '$@'; \
        fi
 
-# Use `$(srcdir)' for the benefit of non-GNU makes: this is
-# how libtoolize.in appears in our dependencies.
-EXTRA_DIST += libtoolize.m4sh
-$(srcdir)/libtoolize.in: $(sh_files) libtoolize.m4sh Makefile.am
-       cd $(srcdir); \
-       rm -f libtoolize.in libtoolize.tmp; \
-       $(M4SH) -B $(auxdir) libtoolize.m4sh > libtoolize.tmp; \
-       $(bootstrap_edit) libtoolize.tmp > libtoolize.in; \
-       rm -f libtoolize.tmp
-
-$(srcdir)/libltdl/Makefile.am: $(srcdir)/libltdl/Makefile.inc
-       cd $(srcdir); \
-       in=libltdl/Makefile.inc; out=libltdl/Makefile.am; \
-       rm -f $$out; \
-       ( $(SED) -n '1,/^.. DO NOT REMOVE THIS LINE -- /p' $$in; \
-       { echo 'ACLOCAL_AMFLAGS = -I m4'; \
-         echo 'AUTOMAKE_OPTIONS = foreign'; \
-         echo 'AM_CPPFLAGS ='; \
-         echo 'AM_LDFLAGS ='; \
-         echo 'BUILT_SOURCES ='; \
-         echo 'include_HEADERS ='; \
-         echo 'noinst_LTLIBRARIES ='; \
-         echo 'lib_LTLIBRARIES ='; \
-         echo 'EXTRA_LTLIBRARIES ='; \
-         echo 'EXTRA_DIST ='; \
-         echo 'CLEANFILES ='; \
-         echo 'MOSTLYCLEANFILES ='; \
-       }; \
-       $(SED) -n '/^.. DO NOT REMOVE THIS LINE -- /,$$p' $$in | \
-       $(SED) -e 's,libltdl_,,; s,libltdl/,,; s,: libltdl/,: ,' \
-              -e 's,\$$(libltdl_,$$(,' \
-       ) | \
-       $(SED) -e '/^.. DO NOT REMOVE THIS LINE -- /d' \
-              -e '1s,^\(.. Makefile.\)inc.*,\1am -- Process this file with 
automake to produce Makefile.in,' > $$out;
-       chmod a-w $(srcdir)/libltdl/Makefile.am
-
+$(libtoolize_in): $(libtoolize_m4sh) $(sh_files) Makefile.am
+       $(LT_M4SH) '$(libtoolize_m4sh)' | $(bootstrap_edit) > '$@'
+
+lt_Makefile_am = $(ltdl_dir)/Makefile.am
+lt_Makefile_in = $(ltdl_dir)/Makefile.in
+lt_Makefile_inc        = $(ltdl_dir)/Makefile.inc
+
+$(lt_Makefile_am): $(lt_Makefile_inc)
+       rm -f '$@'
+       ( '$(SED)' -n '1,/^.. DO NOT REMOVE THIS LINE -- /p' \
+             '$(lt_Makefile_inc)'; \
+         { echo 'ACLOCAL_AMFLAGS = -I m4'; \
+           echo 'AUTOMAKE_OPTIONS = foreign'; \
+           echo 'AM_CPPFLAGS ='; \
+           echo 'AM_LDFLAGS ='; \
+           echo 'BUILT_SOURCES ='; \
+           echo 'include_HEADERS ='; \
+           echo 'noinst_LTLIBRARIES ='; \
+           echo 'lib_LTLIBRARIES ='; \
+           echo 'EXTRA_LTLIBRARIES ='; \
+           echo 'EXTRA_DIST ='; \
+           echo 'CLEANFILES ='; \
+           echo 'MOSTLYCLEANFILES ='; \
+         }; \
+         '$(SED)' -n '/^.. DO NOT REMOVE THIS LINE -- /,$$p' \
+             '$(lt_Makefile_inc)' \
+           |'$(SED)' -e 's,libltdl_,,; s,libltdl/,,; s,: libltdl/,: ,' \
+               -e 's,\$$(libltdl_,$$(,' \
+       ) |'$(SED)' -e '/^.. DO NOT REMOVE THIS LINE -- /d' \
+              -e '1s,^\(.. Makefile.\)inc.*,\1am -- Process this file with 
automake to produce Makefile.in,' > '$@'
+       chmod a-w '$@'
+
+## Document the make macros that are needed to build bootstrap-deps
+## dependencies when called from `bootstrap' (developer's machine),
+## where the Makefile.am is fed to make in its raw format before
+## `configure' has found the correct values (on the build machine).
+bootstrap_files = \
+    $(lt_Makefile_am) \
+    $(ltmain_sh) \
+    $(ltversion_m4)
+
+.PHONY: bootstrap-deps bootstrap-deps-prep
+bootstrap-deps: bootstrap-deps-prep $(bootstrap_files)
+bootstrap-deps-prep:
+## The following variables are substituted by `bootstrap-dep-preps'
+       @exit_cmd=:; \
+       test -z '$(srcdir)' \
+           && echo "ERROR: don't call $(MAKE) with srcdir unset." \
+           && exit_cmd=exit; \
+       test -z '$(M4SH)' \
+           && echo "ERROR: don't call $(MAKE) with M4SH unset." \
+           && exit_cmd=exit; \
+       test -z '$(PACKAGE)' \
+           && echo "ERROR: don't call $(MAKE) with PACKAGE unset." \
+           && exit_cmd=exit; \
+       test -z '$(PACKAGE_BUGREPORT)' \
+           && echo "ERROR: don't call $(MAKE) with PACKAGE_BUGREPORT unset." \
+           && exit_cmd=exit; \
+       test -z '$(PACKAGE_NAME)' \
+           && echo "ERROR: don't call $(MAKE) with PACKAGE_NAME unset." \
+           && exit_cmd=exit; \
+       test -z '$(PACKAGE_URL)' \
+           && echo "ERROR: don't call $(MAKE) with PACKAGE_URL unset." \
+           && exit_cmd=exit; \
+       test -z '$(SED)' \
+           && echo "ERROR: don't call $(MAKE) with SED unset." \
+           && exit_cmd=exit; \
+       test -z '$(VERSION)' \
+           && echo "ERROR: don't call $(MAKE) with VERSION unset." \
+           && exit_cmd=exit; \
+       $$exit_cmd 1
+       rm -f $(bootstrap_files)
 
 ## Unfortunately, all this bogeyness means that we have to manually
 ## keep the generated files in libltdl up to date.
-LTDL_BOOTSTRAP_DEPS = $(srcdir)/libltdl/aclocal.m4 \
-       $(srcdir)/libltdl/stamp-mk \
-       $(srcdir)/libltdl/configure \
-       $(srcdir)/libltdl/config-h.in
+LTDL_BOOTSTRAP_DEPS = \
+       $(stamp_mk) \
+       $(lt_aclocal_m4) \
+       $(lt_config_h_in) \
+       $(lt_configure)
 
 all-local: $(LTDL_BOOTSTRAP_DEPS)
 
@@ -215,7 +261,7 @@ all-local: $(LTDL_BOOTSTRAP_DEPS)
 ## Libtool scripts. ##
 ## ---------------- ##
 
-configure_edit = sed \
+configure_edit = $(SED) \
        -e 's,@aclocal_DATA\@,$(aclocalfiles),g' \
        -e 's,@aclocaldir\@,$(aclocaldir),g' \
        -e 's,@datadir\@,$(datadir),g' \
@@ -233,38 +279,36 @@ configure_edit = sed \
 # The libtool distributor and the standalone libtool script.
 bin_SCRIPTS = libtoolize libtool
 
-libtoolize: $(srcdir)/libtoolize.in $(top_builddir)/config.status
-       rm -f libtoolize.tmp libtoolize
-       $(configure_edit) \
-               $(srcdir)/libtoolize.in > libtoolize.tmp
-       chmod a+x libtoolize.tmp
-       chmod a-w libtoolize.tmp
-       mv -f libtoolize.tmp libtoolize
+libtoolize: $(libtoolize_in) $(config_status)
+       rm -f '$@'
+       $(configure_edit) '$(libtoolize_in)' > '$@'
+       chmod a+x '$@'
+       chmod a-w '$@'
 
 # We used to do this with a 'stamp-vcl' file, but non-gmake builds
 # would rerun configure on every invocation, so now we manually
 # check the version numbers from the build rule when necessary.
-libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog
-       @target=libtool; $(rebuild); \
-       if test -f "$$target"; then \
-         set dummy `./$$target --version | sed 1q`; actualver="$$5"; \
-         test "$$actualver" = "$$correctver" && rebuild=false; \
+libtool: $(ltmain_sh) $(config_status) ChangeLog
+       @$(rebuild); \
+       if test -f '$@'; then \
+         eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \
+         test "$$package_revision" = "$$revision" && rebuild=false; \
        fi; \
        for prereq in $?; do \
          case $$prereq in *ChangeLog);; *) rebuild=:;; esac; \
        done; \
        if $$rebuild; then \
-         echo $(SHELL) ./config.status $$target; \
-         cd $(top_builddir) && $(SHELL) ./config.status $$target; \
+         echo '$(SHELL) ./config.status "$@"'; \
+         cd '$(top_builddir)' && '$(SHELL)' ./config.status '$@'; \
        fi
 
 .PHONY: configure-subdirs
 configure-subdirs distdir: $(DIST_MAKEFILE_LIST)
 @DIST_MAKEFILE_LIST@:
-       dir=`echo $@ | sed 's,^[^/]*$$,.,;s,/[^/]*$$,,'`; \
-       test -d $$dir || mkdir $$dir || exit 1; \
-       abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; \
-       (cd $$dir && $$abs_srcdir/$$dir/configure --with-dist) || exit 1
+       dir=`echo '$@' |'$(SED)' 's,^[^/]*$$,.,;s,/[^/]*$$,,'`; \
+       test -d "$$dir" || mkdir "$$dir" || exit 1; \
+       abs_srcdir=`$(lt__cd) '$(srcdir)' && pwd`; \
+       (cd "$$dir" && "$$abs_srcdir/$$dir/configure" --with-dist) || exit 1
 
 
 ## -------- ##
@@ -273,68 +317,93 @@ configure-subdirs distdir: $(DIST_MAKEFILE_LIST)
 
 include libltdl/Makefile.inc
 
-EXTRA_DIST += $(srcdir)/libltdl/stamp-mk $(m4dir)/lt~obsolete.m4
+lt_aclocal_m4  = $(ltdl_dir)/aclocal.m4
+lt_config_h_in = $(ltdl_dir)/config-h.in
+lt_configure   = $(ltdl_dir)/configure
+stamp_mk       = $(ltdl_dir)/stamp-mk
 
-$(srcdir)/libltdl/Makefile.in: $(srcdir)/libltdl/Makefile.am \
-           $(srcdir)/libltdl/aclocal.m4 
-       cd $(srcdir)/libltdl && $(AUTOMAKE) Makefile
+lt_obsolete_m4 = $(macro_dir)/lt~obsolete.m4
 
-$(srcdir)/libltdl/stamp-mk: $(srcdir)/libltdl/Makefile.in
-       cd $(srcdir)/libltdl && \
-       sed -e 's,config/mdate-sh,,' -e 's,config/texinfo.tex,,' \
+EXTRA_DIST     += $(stamp_mk) $(lt_obsolete_m4)
+
+$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4)
+       cd '$(ltdl_dir)' && $(AUTOMAKE) Makefile
+
+$(stamp_mk): $(lt_Makefile_in)
+       T='$(ltdl_dir)/Makefile.tmp'; \
+       '$(SED)' -e 's,config/mdate-sh,,' -e 's,config/texinfo.tex,,' \
            -e 's,config/mkinstalldirs,,' \
-           < Makefile.in > Makefile.inT && \
-       mv -f Makefile.inT Makefile.in
-       echo stamp > $@
+           < '$(lt_Makefile_in)' > "$$T" && \
+       mv -f "$$T" '$(lt_Makefile_in)'
+       echo stamp > '$@'
 
-sub_aclocal_m4_deps = \
-       $(srcdir)/libltdl/configure.ac \
-       $(m4dir)/libtool.m4 \
-       $(m4dir)/ltoptions.m4 \
-       $(m4dir)/ltdl.m4 \
-       $(srcdir)/$(m4dir)/ltversion.m4 \
-       $(m4dir)/ltsugar.m4 \
-       $(m4dir)/argz.m4 \
-       $(m4dir)/lt~obsolete.m4
+lt_aclocal_m4_deps = \
+       $(lt_obsolete_m4) \
+       $(ltversion_m4) \
+       $(libtool_m4) \
+       $(macro_dir)/ltoptions.m4 \
+       $(macro_dir)/ltdl.m4 \
+       $(macro_dir)/ltsugar.m4 \
+       $(macro_dir)/argz.m4 \
+       $(ltdl_dir)/configure.ac
 
-sub_configure_deps = $(sub_aclocal_m4_deps) $(srcdir)/libltdl/aclocal.m4
+lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps)
 
-$(srcdir)/libltdl/aclocal.m4: $(sub_aclocal_m4_deps)
-       cd $(srcdir)/libltdl && $(ACLOCAL) -I m4
+$(lt_aclocal_m4): $(lt_aclocal_m4_deps)
+       cd '$(ltdl_dir)' && $(ACLOCAL) -I m4
 
-$(srcdir)/libltdl/configure: $(sub_configure_deps)
-       cd $(srcdir)/libltdl && $(AUTOCONF)
+$(lt_configure): $(lt_configure_deps)
+       cd '$(ltdl_dir)' && $(AUTOCONF)
 
-$(srcdir)/libltdl/config-h.in: $(sub_configure_deps)
-       cd $(srcdir)/libltdl && $(AUTOHEADER)
-       touch $@
+$(lt_config_h_in): $(lt_configure_deps)
+       cd '$(ltdl_dir)' && $(AUTOHEADER)
+       touch '$@'
 
 
 ## -------------- ##
 ## Documentation. ##
 ## -------------- ##
 
+doc_dir                = $(srcdir)/doc
+
+libtool_1      = $(doc_dir)/libtool.1
+libtoolize_1   = $(doc_dir)/libtoolize.1
+notes_texi     = $(doc_dir)/notes.texi
+notes_txt      = $(doc_dir)/notes.txt
+
+# A bug in automake 1.11.1 (at least) prevents us from using:
+#
+#   info_TEXINFOS      = $(doc_dir)/libtool.texi
+#
+# Producing the following error, even though srcdir is implicitly set:
+# "cannot open < ./@srcdir@/doc/libtool.texi: No such file or directory"
 info_TEXINFOS          = doc/libtool.texi
-doc_libtool_TEXINFOS   = doc/PLATFORMS doc/fdl.texi doc/notes.texi
-EXTRA_DIST            += $(srcdir)/doc/notes.txt
+doc_libtool_TEXINFOS   = $(doc_dir)/PLATFORMS $(doc_dir)/fdl.texi \
+                         $(notes_texi)
+EXTRA_DIST            += $(notes_txt)
 ## Workaround for a texinfo bug described here:
 ## http://thread.gmane.org/gmane.comp.tex.texinfo.bugs/3930
 DISTCLEANFILES        += libtool.dvi
 
-all-local: $(srcdir)/doc/notes.txt
+all-local: $(notes_txt)
 
-$(srcdir)/doc/notes.txt: $(srcdir)/doc/notes.texi
-       cd $(srcdir)/doc && \
-         $(MAKEINFO) --no-headers $(MAKEINFOFLAGS) -o notes.txt notes.texi
+$(notes_txt): $(notes_texi)
+       $(MAKEINFO) -P '$(srcdir)/doc' --no-headers $(MAKEINFOFLAGS) \
+           -o '$@' '$(notes_texi)'
 
-dist_man1_MANS         = $(srcdir)/doc/libtool.1 $(srcdir)/doc/libtoolize.1
+dist_man1_MANS         = $(libtool_1) $(libtoolize_1)
 MAINTAINERCLEANFILES   += $(dist_man1_MANS)
 update_mans = \
   PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \
-  $(HELP2MAN) --output=$@
-$(srcdir)/doc/libtool.1: $(srcdir)/$(auxdir)/ltmain.sh
+  $(HELP2MAN) --output='$@'
+
+# It's wrong to make distributed files (e.g. $(libtool_1)) rely on
+# files created in the build tree, so instead we regenerate the
+# manual pages if the sources for the build-tree files we want to
+# run have changed.
+$(libtool_1): $(ltmain_sh)
        $(update_mans) --help-option=--help-all libtool
-$(srcdir)/doc/libtoolize.1: $(srcdir)/libtoolize.in
+$(libtoolize_1): $(libtoolize_in)
        $(update_mans) libtoolize
 
 
@@ -377,43 +446,43 @@ ltdldatafiles     = libltdl/COPYING.LIB \
                  libltdl/lt__strl.c \
                  $(libltdl_libltdl_la_SOURCES)
 
-install-data-local: libltdl/Makefile.in
+install-data-local: $(lt_Makefile_in)
        @$(NORMAL_INSTALL)
 ## Don't install over the top of an old pkgdatadir
-       -rm -rf $(DESTDIR)$(pkgdatadir)/*
+       -rm -rf '$(DESTDIR)$(pkgdatadir)'/*
 ## To avoid spurious reconfiguration when the user installs these files
 ## with libtoolize, we have to install them in the correct order:
 ## First, put a copy of the libtool m4 macros in the aclocal dir
        $(mkinstalldirs) $(DESTDIR)$(aclocaldir)
        @list='$(aclocalfiles)'; for p in $$list; do \
-         f=`echo "$$p" | sed 's|^.*/||'`; \
-         echo " $(INSTALL_DATA) '$(srcdir)/$(m4dir)/$$f' 
'$(DESTDIR)$(aclocaldir)/$$f'"; \
-         $(INSTALL_DATA) "$(srcdir)/$(m4dir)/$$f" 
"$(DESTDIR)$(aclocaldir)/$$f"; \
+         f=`echo "$$p" |'$(SED)' 's|^.*/||'`; \
+         echo " $(INSTALL_DATA) '$(macro_dir)/$$f' 
'$(DESTDIR)$(aclocaldir)/$$f'"; \
+         $(INSTALL_DATA) "$(macro_dir)/$$f" "$(DESTDIR)$(aclocaldir)/$$f"; \
        done
 ## install the helper scripts
-       $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
-       $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/config
+       $(mkinstalldirs) '$(DESTDIR)$(pkgdatadir)'
+       $(mkinstalldirs) '$(DESTDIR)$(pkgdatadir)/config'
        @list='$(auxexefiles)' && for p in $$list; do \
-         echo " $(INSTALL_SCRIPT) '$(srcdir)/libltdl/$$p' 
'$(DESTDIR)$(pkgdatadir)/$$p'"; \
-         $(INSTALL_SCRIPT) "$(srcdir)/libltdl/$$p" 
"$(DESTDIR)$(pkgdatadir)/$$p"; \
+         echo " $(INSTALL_SCRIPT) '$(ltdl_dir)/$$p' 
'$(DESTDIR)$(pkgdatadir)/$$p'"; \
+         $(INSTALL_SCRIPT) "$(ltdl_dir)/$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \
        done
        $(INSTALL_DATA) "$(srcdir)/libltdl/config/ltmain.sh" 
"$(DESTDIR)$(pkgdatadir)/config/ltmain.sh" 
 ## install the libltdl files
-       $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/libltdl
-       $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/libltdl/libltdl
-       $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/libltdl/loaders
+       $(mkinstalldirs) '$(DESTDIR)$(pkgdatadir)/libltdl'
+       $(mkinstalldirs) '$(DESTDIR)$(pkgdatadir)/libltdl/libltdl'
+       $(mkinstalldirs) '$(DESTDIR)$(pkgdatadir)/libltdl/loaders'
        @list='$(ltdldatafiles)' && for p in $$list; do \
          echo " $(INSTALL_DATA) '$(srcdir)/$$p' 
'$(DESTDIR)$(pkgdatadir)/$$p'"; \
          $(INSTALL_DATA) "$(srcdir)/$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \
        done
-       -chmod a+x $(DESTDIR)$(pkgdatadir)/libltdl/configure
+       -chmod a+x '$(DESTDIR)$(pkgdatadir)/libltdl/configure'
 
 
 ## ------------- ##
 ## Distribution. ##
 ## ------------- ##
 
-edit_readme_alpha = $(auxdir)/edit-readme-alpha
+edit_readme_alpha = $(aux_dir)/edit-readme-alpha
 
 EXTRA_DIST += $(edit_readme_alpha)
 
@@ -424,7 +493,7 @@ uninstall-hook:
          rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
        done
        @for p in $(aclocalfiles); do \
-         f=`echo "$$p" | sed 's|^.*/||'`; \
+         f=`echo "$$p" |$(SED) 's|^.*/||'`; \
          echo " rm -f '$(DESTDIR)$(aclocaldir)/$$f'"; \
          rm -f "$(DESTDIR)$(aclocaldir)/$$f"; \
        done
@@ -432,11 +501,11 @@ uninstall-hook:
 dist-hook:
 ## Edit the README file for alpha releases.
        case $(VERSION) in \
-         *[a-z]) $(SHELL) $(srcdir)/$(edit_readme_alpha) $(distdir)/README ;; \
+         *[a-z]) $(SHELL) $(edit_readme_alpha) $(distdir)/README ;; \
        esac
 ## Ensure aclocal has not wrongly picked up old macro definitions.
        for macro in LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL; do \
-         if grep $$macro $(srcdir)/aclocal.m4 $(srcdir)/libltdl/aclocal.m4; 
then \
+         if grep "$$macro" '$(srcdir)/aclocal.m4' '$(lt_aclocal_m4)'; then \
            echo "Bogus $$macro macro contents in an aclocal.m4 file." >&2; \
            exit 1; \
          else :; fi; \
@@ -447,6 +516,10 @@ dist-hook:
 ## Test suite. ##
 ## ----------- ##
 
+tests_dir      = $(top_srcdir)/tests
+package_m4     = $(tests_dir)/package.m4
+testsuite      = $(tests_dir)/testsuite
+
 # The testsuite files are evaluated in the order given here.
 TESTSUITE      = tests/testsuite
 TESTSUITE_AT   = tests/testsuite.at \
@@ -515,7 +588,7 @@ TESTSUITE_AT        = tests/testsuite.at \
                  tests/deplibs-mingw.at \
                  tests/sysroot.at
 
-EXTRA_DIST     += $(srcdir)/$(TESTSUITE) $(TESTSUITE_AT) 
$(srcdir)/tests/package.m4
+EXTRA_DIST     += $(testsuite) $(TESTSUITE_AT) $(package_m4)
 
 # Be sure to reexport important environment variables:
 TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
@@ -539,20 +612,16 @@ BUILDCHECK_ENVIRONMENT = 
_lt_pkgdatadir="$(abs_top_srcdir)" \
        tst_aclocaldir="$(abs_top_srcdir)/libltdl/m4"
 
 INSTALLCHECK_ENVIRONMENT = \
-       LIBTOOLIZE="$(bindir)/`echo libtoolize | sed 
'$(program_transform_name)'`" \
-       LIBTOOL="$(bindir)/`echo libtool | sed '$(program_transform_name)'`" \
+       LIBTOOLIZE="$(bindir)/`echo libtoolize |$(SED) 
'$(program_transform_name)'`" \
+       LIBTOOL="$(bindir)/`echo libtool |$(SED) '$(program_transform_name)'`" \
        LTDLINCL="-I$(includedir)" \
        LIBLTDL="$(libdir)/libltdl.la" \
        tst_aclocaldir="$(aclocaldir)"
 
-# Use `$(srcdir)' for the benefit of non-GNU makes: this is
-# how `testsuite' appears in our dependencies.
-$(srcdir)/$(TESTSUITE): $(srcdir)/tests/package.m4 $(TESTSUITE_AT) Makefile.am
-       cd $(srcdir)/tests && \
-       $(AUTOTEST) `echo $(TESTSUITE_AT) | sed 's,tests/,,g'` -o testsuite.tmp 
&& \
-       mv -f testsuite.tmp testsuite
+$(testsuite): $(package_m4) $(TESTSUITE_AT) Makefile.am
+       $(AUTOTEST) -I '$(srcdir)/tests' $(TESTSUITE_AT) -o '$@'
 
-$(srcdir)/tests/package.m4: $(srcdir)/configure.ac Makefile.am
+$(package_m4): $(configure_ac) Makefile.am
        { \
          echo '# Signature of the current package.'; \
          echo 'm4_define([AT_PACKAGE_NAME],      address@hidden@])'; \
@@ -561,10 +630,10 @@ $(srcdir)/tests/package.m4: $(srcdir)/configure.ac 
Makefile.am
          echo 'm4_define([AT_PACKAGE_STRING],    address@hidden@])'; \
          echo 'm4_define([AT_PACKAGE_BUGREPORT], address@hidden@])'; \
          echo 'm4_define([AT_PACKAGE_URL],       address@hidden@])'; \
-       } | $(bootstrap_edit) > $(srcdir)/tests/package.m4
+       } > '$@'
 
-tests/atconfig: $(top_builddir)/config.status
-       $(SHELL) ./config.status tests/atconfig
+tests/atconfig: $(config_status)
+       '$(SHELL)' '$(config_status)' '$@'
 
 DISTCLEANFILES += tests/atconfig
 
@@ -577,35 +646,35 @@ testsuite_deps_uninstalled = $(testsuite_deps) 
libltdl/libltdlc.la \
 # Hook the test suite into the check rule
 check-local: $(testsuite_deps_uninstalled)
        $(CD_TESTDIR); \
-       CONFIG_SHELL="$(SHELL)" $(SHELL) $$abs_srcdir/$(TESTSUITE) \
+       CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \
          $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(TESTSUITEFLAGS)
 
 # Run the test suite on the *installed* tree.
 installcheck-local: $(testsuite_deps)
        $(CD_TESTDIR); \
-       CONFIG_SHELL="$(SHELL)" $(SHELL) $$abs_srcdir/$(TESTSUITE) \
+       CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \
          $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \
-         AUTOTEST_PATH="$(exec_prefix)/bin"
+         AUTOTEST_PATH='$(exec_prefix)/bin'
 
 check-noninteractive-old:
-       $(MAKE) $(AM_MAKEFLAGS) check-TESTS TESTS='$(NONINTERACTIVE_TESTS)'
+       '$(MAKE)' $(AM_MAKEFLAGS) check-TESTS TESTS='$(NONINTERACTIVE_TESTS)'
 check-interactive-old:
-       $(MAKE) $(AM_MAKEFLAGS) check-TESTS TESTS='$(INTERACTIVE_TESTS)'
+       '$(MAKE)' $(AM_MAKEFLAGS) check-TESTS TESTS='$(INTERACTIVE_TESTS)'
 
 # Run only noninteractive parts of the new testsuite.
 check-noninteractive-new: $(testsuite_deps_uninstalled)
        $(CD_TESTDIR); \
-       CONFIG_SHELL="$(SHELL)" $(SHELL) $$abs_srcdir/$(TESTSUITE) \
+       CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \
          $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \
-         -k !interactive INNER_TESTSUITEFLAGS=",!interactive" \
+         -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \
          $(TESTSUITEFLAGS)
 
 # Run only interactive parts of the new testsuite.
 check-interactive-new: $(testsuite_deps_uninstalled)
        $(CD_TESTDIR); \
-       CONFIG_SHELL="$(SHELL)" $(SHELL) $$abs_srcdir/$(TESTSUITE) \
+       CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \
          $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \
-         -k interactive -k recursive INNER_TESTSUITEFLAGS=",interactive" \
+         -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \
          $(TESTSUITEFLAGS)
 
 check-interactive: check-interactive-old check-interactive-new
@@ -614,8 +683,8 @@ check-noninteractive: check-noninteractive-old 
check-noninteractive-new
 # We need to remove any file droppings left behind by testsuite
 clean-local: clean-local-legacy
        -$(CD_TESTDIR); \
-       test -f $$abs_srcdir/$(TESTSUITE) && \
-           $(SHELL) $$abs_srcdir/$(TESTSUITE) --clean
+       test -f "$$abs_srcdir/$(TESTSUITE)" && \
+           '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" --clean
 
 
 ## ------------- ##
@@ -896,31 +965,30 @@ NONINTERACTIVE_TESTS += $(FC_TESTS)
 endif
 TESTS = $(NONINTERACTIVE_TESTS) $(INTERACTIVE_TESTS)
 
-EXTRA_DIST     += $(srcdir)/tests/defs.in tests/defs.m4sh \
+defs           = tests/defs
+defs_in                = $(tests_dir)/defs.in
+
+EXTRA_DIST     += $(defs_in) $(defs_m4sh) \
                  $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) $(FC_TESTS) \
                  $(INTERACTIVE_TESTS)
 DIST_SUBDIRS   += $(CONF_SUBDIRS)
 
 # The defs script shouldn't be recreated whenever the Makefile is
 # regenerated since the source tree can be read-only.
-check-recursive: tests/defs
-tests/defs: $(srcdir)/tests/defs.in
-       rm -f tests/defs.tmp tests/defs; \
-       $(configure_edit) $(srcdir)/tests/defs.in > tests/defs.tmp; \
-       mv -f tests/defs.tmp tests/defs
-
-# Use `$(srcdir)/tests' for the benefit of non-GNU makes: this is
-# how defs.in appears in our dependencies.
-$(srcdir)/tests/defs.in: $(auxdir)/general.m4sh tests/defs.m4sh Makefile.am
-       cd $(srcdir); \
-       rm -f tests/defs.in; \
-       $(M4SH) -B $(auxdir) tests/defs.m4sh > tests/defs.in
+check-recursive: $(defs)
+$(defs): $(defs_in)
+       rm -f '$@'
+       $(configure_edit) '$(defs_in)' > '$@'
+
+$(defs_in): $(defs_m4sh) $(general_m4sh) Makefile.am
+       rm -f '$@'
+       $(LT_M4SH) '$(defs_m4sh)' > '$@'
 
 # We need to remove any files that the above tests created.
 clean-local-legacy:
        -for dir in $(CONF_SUBDIRS); do \
-         if test -f $$dir/Makefile; then \
-           (cd $$dir && $(MAKE) $(AM_MAKEFLAGS) distclean); \
+         if test -f "$$dir/Makefile"; then \
+           (cd "$$dir" && '$(MAKE)' $(AM_MAKEFLAGS) distclean); \
          else :; fi; \
        done
        rm -rf _inst _inst-*
@@ -933,11 +1001,11 @@ $(distclean_recursive): fake-distclean-legacy
 .PHONY: fake-distclean-legacy
 fake-distclean-legacy:
        -for dir in $(CONF_SUBDIRS); do \
-         if test ! -f $$dir/Makefile; then \
-           $(mkinstalldirs) $$dir; \
-           echo 'distclean: ; rm -f Makefile' > $$dir/Makefile; \
+         if test ! -f "$$dir/Makefile"; then \
+           $(mkinstalldirs) "$$dir"; \
+           echo 'distclean: ; rm -f Makefile' > "$$dir/Makefile"; \
          else :; fi; \
        done
 
-$(TESTS): tests/defs
-DISTCLEANFILES += tests/defs
+$(TESTS): $(defs)
+DISTCLEANFILES += $(defs)
diff --git a/Makefile.maint b/Makefile.maint
index e176713..675e733 100644
--- a/Makefile.maint
+++ b/Makefile.maint
@@ -88,11 +88,11 @@ WGET_CGIT = $(WGET) 
'http://git.savannah.gnu.org/cgit/config.git/plain'
 ## FIXME should be a lot more here
 FETCHFILES = \
 ./INSTALL \
-$(auxdir)/compile \
-$(auxdir)/install-sh \
-$(auxdir)/config.guess \
-$(auxdir)/config.sub \
-$(auxdir)/texinfo.tex
+$(aux_dir)/compile \
+$(aux_dir)/install-sh \
+$(aux_dir)/config.guess \
+$(aux_dir)/config.sub \
+$(aux_dir)/texinfo.tex
 
 ## Fetch the latest versions of files we care about.
 .PHONY: fetch
diff --git a/bootstrap b/bootstrap
index 78b4d30..336c8a9 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,189 +1,3184 @@
 #! /bin/sh
-# bootstrap -- Helps bootstrapping libtool, when checked out from repository.
+# Print a version string.
+scriptversion=2011-10-22.09; # UTC
+
+# Bootstrap this package from checked-out sources.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Originally written by Paul Eggert.  The canonical version of this
+# script is maintained as build-aux/bootstrap in gnulib, however, to
+# be useful to your project, you should place a copy of it under
+# version control in the top-level directory of your project.  The
+# intent is that all customization can be done with a bootstrap.conf
+# file also maintained in your version control; gnulib comes with a
+# template build-aux/bootstrap.conf to get you started.
+
+# Please report bugs or propose patches to address@hidden
+
+
+## ================================================================== ##
+##                                                                    ##
+##     DO NOT EDIT THIS FILE, CUSTOMIZE IT USING A BOOTSTRAP.CONF     ##
+##                                                                    ##
+## ================================================================== ##
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase denotes values stored in the environment.  These
+# variables should generally be overridden by the user - however, we do
+# set them to `true' in some parts of this script to prevent them being
+# called at the wrong time by other tools that we call (`autoreconf',
+# for example).
+#
+# We also allow `LIBTOOLIZE' and `M4' to be overridden, and export the
+# result for child processes, but they are handled by the function
+# `func_find_tool' and not defaulted in this section.
+
+: ${ACLOCAL="aclocal"}
+: ${AUTOCONF="autoconf"}
+: ${AUTOHEADER="autoheader"}
+: ${AUTOM4TE="autom4te"}
+: ${AUTOHEADER="autoheader"}
+: ${AUTOMAKE="automake"}
+: ${AUTOPOINT="autopoint"}
+: ${AUTORECONF="autoreconf"}
+: ${CMP="cmp"}
+: ${CONFIG_SHELL="/bin/sh"}
+: ${DIFF="diff"}
+: ${EGREP="grep -E"}
+: ${FGREP="grep -F"}
+: ${GIT="git"}
+: ${GREP="grep"}
+: ${LN_S="ln -s"}
+: ${RM="rm"}
+: ${SED="sed"}
+
+export ACLOCAL
+export AUTOCONF
+export AUTOHEADER
+export AUTOM4TE
+export AUTOHEADER
+export AUTOMAKE
+export AUTOPOINT
+export AUTORECONF
+export CONFIG_SHELL
+
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# Short help message in response to `-h'.  Add to this in `bootstrap.conf'
+# if you accept any additional options.
+usage_message="Bootstrap this package from the checked-out sources.
+
+Common Bootstrap Options:
+  -c, --copy         copy files instead of creating symbolic links.
+      --debug        enable verbose shell tracing
+  -n, --dry-run      print commands rather than running them
+  -f, --force        attempt to bootstrap even if the sources seem not to have
+                     been checked out.
+      --gnulib-srcdir=DIRNAME
+                     specify a local directory where gnulib sources reside.
+                     Use this if you already have the gnulib sources on your
+                     machine, and don't want to waste your bandwidth
+                     downloading them again.  Defaults to \$GNULIB_SRCDIR.
+      --skip-git     do not fetch files from remote repositories
+      --skip-po      do not download po files.
+  -v, --verbose      verbosely report processing
+      --version      print version information and exit
+  -W, --warnings=CATEGORY
+                     report the warnings falling in CATEGORY [all]
+  -h, --help         print short or long help message and exit
+"
+
+# Warning categories used by `bootstrap', append others if you use them
+# in your `bootstrap.conf'.
+warning_categories="recommend settings upgrade"
+
+# Additional text appended to `usage_message' in response to `--help'.
+long_help_message="
+Warning categories include:
+  \`all'           show all warnings
+  \`none'          turn off all the warnings
+  \`error'         warnings are treated as fatal errors
+  \`recommend'     show warnings about missing recommended packages
+  \`settings'      show warnings about missing \`bootstrap.conf' settings
+  \`upgrade'       show warnings about out-dated files
+
+If the file $progpath.conf exists in the same directory as this script, its
+contents are read as shell variables to configure the bootstrap.
+
+For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
+are honored.
+
+Running without arguments will suffice in most cases.
+"
+
+# A newline delimited list of triples of programs (that respond to
+# --version), the minimum version numbers required (or just `-' in the
+# version field if any version will be sufficient) and homepage URLs
+# to help locate missing packages.
+buildreq=
+
+# Name of a file containing instructions on installing missing packages
+# required in `buildreq'.
+buildreq_readme=README-hacking
+
+# These are extracted from AC_INIT in configure.ac, though you can
+# override those values in `bootstrap.conf' if you prefer.
+build_aux=
+macro_dir=
+package=
+package_name=
+package_version=
+package_bugreport=
+
+# These are extracted from `gnulib-cache.m4', or else fall-back
+# automatically on the gnulib defaults; unless you set the values
+# manually in `bootstrap.conf'.
+doc_base=
+gnulib_mk=
+gnulib_name=
+local_gl_dir=
+source_base=
+tests_base=
+
+# The list of gnulib modules required at `gnulib-tool' time.  If you
+# check `gnulib-cache.m4' into your repository, then this list will be
+# extracted automatically.
+gnulib_modules=
+
+# Extra gnulib files that are not in modules, which override files of
+# the same name installed by other bootstrap tools.
+gnulib_non_module_files="
+        build-aux/compile
+        build-aux/install-sh
+        build-aux/missing
+        build-aux/mdate-sh
+        build-aux/texinfo.tex
+        build-aux/depcomp
+        build-aux/config.guess
+        build-aux/config.sub
+        doc/INSTALL
+"
+
+# Relative path to the local gnulib submodule, and url to the upstream
+# git repository. If you have a gnulib entry in your .gitmodules file,
+# these values are ignored.
+gnulib_path=
+gnulib_url=
+
+# Additional gnulib-tool options to use.
+gnulib_tool_options="
+        --no-changelog
+"
+
+# bootstrap removes any macro-files that are not included by aclocal.m4,
+# except for files listed in this variable which are always kept.
+gnulib_precious="
+        gnulib-tool.m4
+"
+
+# When truncating long commands for display, always allow at least this
+# many characters before truncating.
+min_cmd_len=160
+
+# The command to download all .po files for a specified domain into
+# a specified directory.  Fill in the first %s is the domain name, and
+# the second with the destination directory.  Use rsync's -L and -r
+# options because the latest/%s directory and the .po files within are
+# all symlinks.
+po_download_command_format=\
+"rsync --delete --exclude '*.s1' -Lrtvz \
+'translationproject.org::tp/latest/%s/' '%s'"
+
+# Other locale categories that need message catalogs.
+extra_locale_categories=
+
+# Additional xgettext options to use.  Gnulib might provide you with an
+# extensive list of additional options to append to this, but gettext
+# 0.16.1 and newer appends them automaticaly, so you can safely ignore
+# the complaints from `gnulib-tool' if your $configure_ac states:
+#
+#    AM_GNU_GETTEXT_VERSION([0.16.1])
+xgettext_options="
+        --flag=_:1:pass-c-format
+        --flag=N_:1:pass-c-format
+"
+
+# Package copyright holder for gettext files.  Defaults to FSF if unset.
+copyright_holder=
+
+# File that should exist in the top directory of a checked out hierarchy,
+# but not in a distribution tarball.
+checkout_only_file=
+
+# Whether to use copies instead of symlinks by default (if set to true,
+# the --copy option has no effect).
+copy=false
+
+# Set this to ".cvsignore .gitignore" in `bootstrap.conf' if you want
+# those files to be generated in directories like `lib/', `m4/', and `po/',
+# or set it to "auto" to make this script select which to use based
+# on which version control system (if any) is used in the source directory.
+# Or set it to "none" to ignore VCS ignore files entirely.  Default is
+# "auto".
+vc_ignore=
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# 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
+
+# NLS nuisances.
+LANGUAGE=C
+export LANGUAGE
+
+# Ensure file names are sorted consistently across platforms.
+LC_ALL=C
+export LC_ALL
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# FIXME: check that $SED accepts comments, or bail out with a pointer
+#        to GNU sed
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code.  A hook is just a named list of of function, that can
+# be run in order later on.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+if (eval 'x=a; x+=" b"; test "x$x" = "xa b"') 2>/dev/null
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_append ()
+  {
+    $debug_cmd
+
+    eval "$1+=\$2"
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_append ()
+  {
+    $debug_cmd
+
+    eval "$1=\$$1\$2"
+  }
+fi
+
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# `func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+    $debug_cmd
+
+    func_append hookable_funcs " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
+# first have been declared "hookable" by a coll to `func_hookable'.
+func_add_hook ()
+{
+    $debug_cmd
+
+    case " $hookable_funcs " in
+      *" $1 "*) ;;
+      *) func_fatal_error "error: \`$1' does not accept hook functions." ;;
+    esac
+
+    eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+    $debug_cmd
+
+    eval ${1}_hooks='`echo "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+    $debug_cmd
+
+    case " $hookable_funcs " in
+      *" $1 "*) ;;
+      *) func_fatal_error "error: \`$1' does not support hook funcions.n" ;;
+    esac
+
+    eval hook_funcs="\$$1_hooks"
+
+    # shift away the first argument (FUNC_NAME)
+    shift
+    func_run_hooks_result=$*
+
+    for hook_func in $hook_funcs; do
+      eval $hook_func '"$@"'
+
+      # store returned options list back into positional
+      # parameters for next `cmd' execution.
+      set dummy $func_run_hooks_result; shift
+    done
+}
+
+
+## ------------------- ##
+## Hookable functions. ##
+## ------------------- ##
+
+# After `bootstrap.conf' has been sourced, execution proceeds by calling
+# `func_bootstrap'.  Where a function is decorated with `func_hookable
+# func_name', you will find a matching `func_run_hooks func_name' which
+# executes all functions added with `func_add_hook func_name my_func'.
+#
+# You might notice that many of these functions begin with a series of
+# `$require_foo' lines.  See the docu-comments at the start of the
+# `Resource management' section for a description of what these are.
+
+
+# func_bootstrap [ARG]...
+# -----------------------
+# All the functions called inside func_bootstrap are hookable. See the
+# the individual implementations for details.
+func_bootstrap ()
+{
+    $debug_cmd
+
+    # Save the current positional parameters to prevent them being
+    # corrupted by calls to `set' in `func_init'.
+    func_quote_for_eval ${1+"$@"}
+    my_saved_positional_parameters="$func_quote_for_eval_result"
+
+    # Initialisation.
+    func_init
+
+    # Option processing.
+    eval func_options "$my_saved_positional_parameters"
+
+    # Post-option preparation.
+    func_prep
+
+    # Ensure ChangeLog presence.
+    func_ifcontains "$gnulib_modules" gitlog-to-changelog \
+      func_ensure_changelog
+
+    # Reconfigure the package.
+    func_reconfigure
+
+    # Ensure .version is up-to-date.
+    func_update_dotversion
+
+    # Finalisation.
+    func_fini
+}
+
+
+# func_init
+# ---------
+# Any early initialisations can be hooked to this function.  Consider
+# whether you can hook onto `func_prep' instead, because if you hook
+# any slow to execute code in here, it will also add to the time before
+# `./bootstrap --version' can respond.
+func_hookable func_init
+func_init ()
+{
+    $debug_cmd
+
+    func_run_hooks func_init
+}
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+    $debug_cmd
+
+    func_options_prep ${1+"$@"}
+    eval func_parse_options \
+        ${func_options_prep_result+"$func_options_prep_result"}
+    eval func_validate_options \
+        ${func_parse_options+"$func_parse_options_result"}
+
+    eval func_run_hooks func_options \
+        ${func_validate_options_result+"$func_validate_options_result"}
+
+    # save modified positional parameters for caller
+    func_options_result="$func_run_hooks_result"
+}
+
+
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters.  If a hook function modifies that list, and
+# needs to propogate that back to rest of this script, then the complete
+# modified list must be put in `func_run_hooks_result' before
+# returning.
+func_hookable func_options_prep
+func_options_prep ()
+{
+    $debug_cmd
+
+    warning_func=func_error
+
+    # Option defaults:
+    opt_copy=${copy-false}
+    opt_dry_run=false
+    opt_force=false
+    opt_gnulib_srcdir="$GNULIB_SRCDIR"
+    opt_skip_git=false
+    opt_skip_po=false
+    opt_warning=
+    opt_verbose=false
+
+    func_run_hooks func_options_prep ${1+"$@"}
+
+    # save modified positional parameters for caller
+    func_options_prep_result="$func_run_hooks_result"
+}
+
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+#
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
+# options in `func_run_hooks_result', escaped suitably for `eval'.  Like
+# this:
+#
+#    my_silent_option ()
+#    {
+#        $debug_cmd
+#
+#        case $1 in
+#          --silent|-s) opt_silent=:; shift ;;
+#        esac
+#
+#        func_quote_for_eval ${1+"$@"}
+#        func_run_hooks_result="$func_quote_for_eval_result"
+#    }
+#    func_add_hook func_parse_options my_silent_option
+#
+func_hookable func_parse_options
+func_parse_options ()
+{
+    $debug_cmd
+
+    func_parse_options_result=
+
+    # this just eases exit handling
+    while test $# -gt 0; do
+
+      # Defer to hook functions for initial option parsing, so they
+      # get priority in the event of reusing an option name.
+      func_run_hooks func_parse_options ${1+"$@"}
+
+      # Adjust func_parse_options positional parameters to match
+      eval set dummy "$func_run_hooks_result"; shift
+
+      opt="$1"
+      shift
+      case $opt in
+        --debug|-x)   debug_cmd='set -x'
+                      func_echo "enabling shell trace mode"
+                      $debug_cmd
+                      ;;
+        --dry-run|--dryrun|-n)
+                      opt_dry_run=: ;;
+        --copy|-c)    opt_copy=: ;;
+        --force|-f)   opt_force=: ;;
+
+        --gnulib-srcdir)
+                      test $# = 0 && func_missing_arg $opt && break
+                      opt_gnulib_srcdir="$1"
+                      shift
+                      ;;
+
+        --skip-git)   opt_skip_git=: ;;
+        --skip-po)    opt_skip_po=: ;;
+        --verbose|-v) opt_verbose=: ;;
+
+        --warnings|--warning|-W)
+                      test $# = 0 && func_missing_arg $opt && break
+                      case " $1 " in
+                        " all ")
+                          opt_warning=" $warning_categories"
+                          ;;
+                        " none ")
+                          opt_warning=" none"
+                          warning_func=:
+                          ;;
+                        " error ")
+                          warning_func=func_fatal_error
+                          ;;
+                        *" $warning_categories "*)
+                          func_append_u opt_warning " $1"
+                          ;;
+                        *)
+                          func_fatal_error \
+                             "error: unsupported warning category: \`$1'"
+                          ;;
+                      esac
+                      shift
+                      ;;
+
+        --version)    func_version ;;
+        -\?|-h)       func_usage ;;
+        --help)       func_help ;;
+
+        # Separate optargs to long options:
+        --*=*)
+                      func_split_equals "$opt"
+                      set dummy "$func_split_equals_lhs" \
+                         "$func_split_equals_rhs" ${1+"$@"}
+                      shift
+                      ;;
+
+        # Separate optargs to short options:
+        -W*)
+                      func_split_short_opt "$opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        # Separate non-argument short options:
+        -\?*|-h*|-c*|-f*|-n*|-v*|-x*)
+                      func_split_short_opt "$opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "-$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        --)           set dummy "$opt"; shift; break ;;
+        -*)           func_fatal_help "unrecognised option: \`$opt'" ;;
+        *)            set dummy "$opt"; shift; break ;;
+      esac
+    done
+
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    func_parse_options_result="$func_quote_for_eval_result"
+}
+
+
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
+{
+    $debug_cmd
+
+    # display all warnings if -W was not given
+    test -n "$opt_warning" || opt_warning="$warning_categories"
+
+    func_run_hooks func_validate_options ${1+"$@"}
+
+    # Validate options.
+    test $# -gt 0 \
+        && func_fatal_help "too many arguments"
+
+    # Bail if the options were screwed!
+    $exit_cmd $EXIT_FAILURE
+
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    func_validate_options_result="$func_quote_for_eval_result"
+}
+
+
+# func_prep
+# ---------
+# Function to perform preparation for remaining bootstrap process. If
+# your hooked code relies on the outcome of `func_options' hook it here
+# rather than to `func_init'.
+#
+# All the functions called inside func_prep are hookable. See the
+# individual implementations for details.
+func_hookable func_prep
+func_prep ()
+{
+    $debug_cmd
+
+    $require_bootstrap_uptodate
+    $require_buildtools_uptodate
+    $require_checkout_only_file
+
+    $require_gnulib_merge_changelog
+
+    # fetch update files from the translation project
+    func_update_translations
+
+    func_run_hooks func_prep
+}
+
+
+# func_update_translations
+# ------------------------
+# Update package po files and translations.
+func_hookable func_update_translations
+func_update_translations ()
+{
+    $debug_cmd
+
+    $opt_skip_po || {
+      test -d po && {
+        $require_package
+
+        func_update_po_files po $package || exit $?
+      }
+
+      func_run_hooks func_update_translations
+    }
+}
+
+
+# func_reconfigure
+# ----------------
+# Reconfigure the current package by running the appropriate autotools in a
+# suitable order.
+func_hookable func_reconfigure
+func_reconfigure ()
+{
+    $debug_cmd
+
+    # Released `autopoint' has the tendency to install macros that have
+    # been obsoleted in current `gnulib., so run this before `gnulib-tool'.
+    func_autopoint
+
+    # Autoreconf runs `aclocal' before `libtoolize', which causes spurious
+    # warnings if the initial `aclocal' is confused by the libtoolized
+    # (or worse: out-of-date) macro directory.
+    func_libtoolize
+
+    # If you need to do anything after `gnulib-tool' is done, but before
+    # `autoreconf' runs, you don't need to override this whole function,
+    # because `func_gnulib_tool' is hookable.
+    func_gnulib_tool
+
+    func_autoreconf
+
+    func_run_hooks func_reconfigure
+}
+
+
+# func_gnulib_tool
+# ----------------
+# Run `gnulib-tool' to fetch gnulib modules into the current package.
+#
+# It's assumed that since you are using gnulib's `bootstrap' script,
+# you're also using gnulib elsewhere in your package.  If not, then
+# you can replace this function in `bootstrap.conf' with:
+#
+#   func_gnulib_tool () { :; }
+#
+# (although the function returns immediately if $gnulib_tool is set to
+# true in any case).
+func_hookable func_gnulib_tool
+func_gnulib_tool ()
+{
+    $debug_cmd
+
+    $require_gnulib_tool
+    $require_libtoolize
+
+    test true = "$gnulib_tool" || {
+      if test -n "$gnulib_modules"; then
+        $require_gnulib_cache
+        $require_build_aux
+        $require_macro_dir
+
+        # Try not to pick up any stale values from `gnulib-cache.m4'.
+        rm -f "$gnulib_cache"
+
+        gnulib_mode="--import"
+
+        # `gnulib_modules' and others are maintained in `bootstrap.conf`:
+        # Use `gnulib --import` to fetch gnulib modules.
+        test -n "$build_aux" \
+            && func_append_u gnulib_tool_options " --aux-dir=$build_aux"
+        test -n "$macro_dir" \
+            && func_append_u gnulib_tool_options " --m4-base=$macro_dir"
+        test -n "$doc_base" \
+            && func_append_u gnulib_tool_options " --doc-base=$doc_base"
+        test -n "$gnulib_name" \
+            && func_append_u gnulib_tool_options " --lib=$gnulib_name"
+        test -n "$local_gl_dir" \
+            && func_append_u gnulib_tool_options " --local-dir=$local_gl_dir"
+        test -n "$source_base" \
+            && func_append_u gnulib_tool_options " --source-base=$source_base"
+        test -n "$gnulib_mk" \
+            && func_append_u gnulib_tool_options " --makefile-name=$gnulib_mk"
+        test -n "$tests_base" && {
+          func_append_u gnulib_tool_options " --tests-base=$tests_base"
+          func_append_u gnulib_tool_options " --with-tests"
+        }
+      else
+
+        # `gnulib_modules' and others are cached in `gnulib-cache.m4':
+        # Use `gnulib --update' to fetch gnulib modules.
+        gnulib_mode="--update"
+      fi
+
+      # Add a sensible default libtool option to gnulib_tool_options.
+      # The embedded echo is to squash whitespace before globbing.
+      case `echo " "$gnulib_tool_options" "` in
+        *" --no-libtool "*|*" --libtool "*) ;;
+        *)  if test true = "$LIBTOOLIZE"; then
+              func_append_u gnulib_tool_options " --no-libtool"
+            else
+              func_append_u gnulib_tool_options " --libtool"
+            fi
+            ;;
+      esac
+
+      $opt_copy || func_append_u gnulib_tool_options " --symlink"
+
+      func_append_u gnulib_tool_options " $gnulib_mode"
+      func_append gnulib_tool_options " $gnulib_modules"
+
+      # The embedded echo is to squash whitespace before display.
+      gnulib_cmd=`echo $gnulib_tool $gnulib_tool_options`
+
+      func_show_eval "$gnulib_cmd" 'exit $?'
+    }
+
+    # Use `gnulib-tool --copy-file' to install non-module files.
+    func_install_gnulib_non_module_files
+
+    func_run_hooks func_gnulib_tool
+}
+
+
+# func_fini
+# ---------
+# Function to perform all finalisation for the bootstrap process.
+func_hookable func_fini
+func_fini ()
+{
+    $debug_cmd
+
+    func_gettext_configuration
+    func_clean_dangling_symlinks
+    func_clean_unused_macros
+    func_skip_po_recommendation
+
+    func_run_hooks func_fini
+
+    func_echo "Done.  Now you can run './configure'."
+}
+
+
+# func_gettext_configuration
+# --------------------------
+# Edit configuration values into po/Makevars.
+func_hookable func_gettext_configuration
+func_gettext_configuration ()
+{
+    $debug_cmd
+
+    $require_autopoint
+
+    test true = "$AUTOPOINT" || {
+      $require_copyright_holder
+      $require_extra_locale_categories
+      $require_package_bugreport
+
+      # Escape xgettext options for sed Makevars generation below.
+      # We have to delete blank lines in a separate script so that we don't
+      # append \\\ to the penultimate line, and then delete the last empty
+      # line, which messes up the variable substitution later in this
+      # function.  Note that adding a literal \\\ requires double escaping
+      # here, once for the execution subshell, and again for the assignment,
+      # which is why there are actually 12 (!!) backslashes in the script.
+      my_xgettext_options=`echo "$xgettext_options$nl" |$SED '/^$/d' |$SED '
+          $b
+          s|$| \\\\\\\\\\\\|'`
+
+      # Create gettext configuration.
+      func_echo "Creating po/Makevars from po/Makevars.template ..."
+      $RM -f po/Makevars
+      $SED '
+        /^EXTRA_LOCALE_CATEGORIES *=/s|=.*|= '"$extra_locale_categories"'|
+        /^COPYRIGHT_HOLDER *=/s|=.*|= '"$copyright_holder"'|
+        /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$package_bugreport"'|
+        /^XGETTEXT_OPTIONS *=/{
+          s|$| \\|
+          a\
+             '"$my_xgettext_options"' \\\
+             $${end_of_xgettext_options+}
+        }
+      ' po/Makevars.template >po/Makevars || exit 1
+    }
+
+    func_run_hooks func_gettext_configuration
+}
+
+
+
+## --------------- ##
+## Core functions. ##
+## --------------- ##
+
+# This section contains the main functions called from the `Hookable
+# functions' (shown above), and are the ones you're  most likely
+# to want to replace with your own implementations in `bootstrap.conf'.
+
+
+# func_autopoint
+# --------------
+# If this package uses gettext, then run `autopoint'.
+func_autopoint ()
+{
+    $debug_cmd
+
+    $require_autopoint
+
+    test true = "$AUTOPOINT" \
+        || func_show_eval "$AUTOPOINT --force" 'exit $?'
+}
+
+
+# func_libtoolize
+# ---------------
+# If this package uses libtool, then run `libtoolize'.
+func_libtoolize ()
+{
+    $debug_cmd
+
+    $require_libtoolize
+
+    test true = "$LIBTOOLIZE" || {
+      my_libtoolize_options=
+      $opt_copy && func_append my_libtoolize_options " --copy"
+      $opt_force && func_append my_libtoolize_options " --force"
+      $opt_verbose || func_append my_libtoolize_options " --quiet"
+      func_show_eval "$LIBTOOLIZE$my_libtoolize_options" 'exit $?'
+    }
+}
+
+
+# func_gnulib_tool_copy_file SRC DEST
+# -----------------------------------
+# Copy SRC, a path relative to the gnulib sub-tree, to DEST, a path
+# relative to the top-level source directory using gnulib-tool so that
+# any patches or replacements in $local_gl_dir are applied.
+func_gnulib_tool_copy_file ()
+{
+    $debug_cmd
+
+    $require_gnulib_path
+    $require_gnulib_tool
+
+    gnulib_copy_cmd="$gnulib_tool --copy-file"
+    $opt_copy || func_append gnulib_copy_cmd " --symlink"
+
+    test -f "$gnulib_path/$1" || {
+      func_error "error: \`$gnulib_path/$file' does not exist"
+      return 1
+    }
+
+    $gnulib_copy_cmd $1 $2
+}
+
+
+# func_install_gnulib_non_module_files
+# ------------------------------------
+# Get additional non-module files from gnulib, overriding existing files.
+func_install_gnulib_non_module_files ()
+{
+    $debug_cmd
+
+    $require_build_aux
+    $require_gnulib_path
+
+    test -n "$gnulib_non_module_files" && {
+      if test -n "$gnulib_path"; then
+        maybe_exit_cmd=:
+
+        for file in $gnulib_non_module_files; do
+          case $file in
+            */COPYING*) dest=COPYING;;
+            */INSTALL) dest=INSTALL;;
+            build-aux/*) dest=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;;
+            *) dest=$file;;
+          esac
+
+          # Be sure to show all copying errors before bailing out
+         func_gnulib_tool_copy_file "$file" "$dest" \
+             || maybe_exit_cmd="exit $EXIT_FAILURE"
+        done
+
+        $maybe_exit_cmd
+      else
+        func_warning recommend "\
+Unable to link \`\$gnulib_non_module_files', please provide the
+location of a complete \`gnulib' tree by setting \`gnulib_path' in
+your \`bootstrap.conf' or with the \`--gnulib-srcdir' option - or
+else specify the location of your \`git' binary by setting \`GIT'
+in the environment so that a fresh \`gnulib' submodule can be cloned."
+      fi
+    }
+}
+
+
+# func_ensure_changelog
+# ---------------------
+# Even with 'gitlog-to-changelog' generated ChangeLogs, automake
+# will not run to completion with no ChangeLog file.
+func_ensure_changelog ()
+{
+    $debug_cmd
+
+    test -f ChangeLog && mv -f ChangeLog ChangeLog~
+
+    cat >ChangeLog <<'EOT'
+## ---------------------- ##
+## DO NOT EDIT THIS FILE! ##
+## ---------------------- ##
+
+ChangeLog is generated by gitlog-to-changelog.
+EOT
+
+    my_message="creating dummy \`ChangeLog'"
+    test -f ChangeLog~ \
+      && func_append my_message ' (backup in ChangeLog~)'
+    func_verbose "$my_message"
+
+    return 0
+}
+
+
+# func_autoreconf
+# ---------------
+# Being careful not to re-run `autopoint' or `libtoolize', and not to
+# try to run `autopoint', `libtoolize' or `autoheader' on packages that
+# don't use them, defer to `autoreconf' for execution of the remaining
+# autotools to bootstrap this package.
+func_autoreconf ()
+{
+    $debug_cmd
+
+    $require_autoheader
+    $require_build_aux  # automake and others put files in here
+    $require_macro_dir  # aclocal and others put files in here
+
+    # We ran these manually already, and autoreconf won't exec `:'
+    save_AUTOPOINT="$AUTOPOINT"; AUTOPOINT=true
+    save_LIBTOOLIZE="$LIBTOOLIZE"; LIBTOOLIZE=true
+
+    my_autoreconf_options=
+    $opt_copy || func_append my_autoreconf_options " --symlink"
+    $opt_force && func_append my_autoreconf_options " --force"
+    $opt_verbose && func_append my_autoreconf_options " --verbose"
+    func_show_eval "$AUTORECONF$my_autoreconf_options --install" 'exit $?'
+
+    AUTOPOINT="$save_AUTOPOINT"
+    LIBTOOLIZE="$save_LIBTOOLIZE"
+}
+
+
+# func_check_configuration VARNAME [CONFIGURE_MACRO]
+# --------------------------------------------------
+func_check_configuration ()
+{
+    $debug_cmd
+
+    $require_configure_ac
+
+    eval 'test -n "$'$1'"' || {
+      my_error_msg="error: please set \`$1' in \`bootstrap.conf'"
+      test -n "$2" \
+          && func_append my_error_msg "
+       or add the following (or similar) to your \`$configure_ac':
+       $2"
+
+      func_fatal_error "$my_error_msg"
+    }
+}
+
+
+# func_clean_dangling_symlinks
+# ----------------------------
+# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
+# gnulib-populated directories. Such .m4 files would cause aclocal to
+# fail.  The following requires GNU find 4.2.3 or newer. Considering
+# the usual portability constraints of this script, that may seem a very
+# demanding requirement, but it should be ok.  Ignore any failure,
+# which is fine, since this is only a convenience to help developers
+# avoid the relatively unusual case in which a symlinked-to .m4 file is
+# git-removed from gnulib between successive runs of this script.
+func_clean_dangling_symlinks ()
+{
+    $debug_cmd
+
+    $require_macro_dir
+    $require_source_base
+
+    func_verbose "cleaning dangling symlinks"
+
+    find "$macro_dir" "$source_base" \
+        -depth \( -name '*.m4' -o -name '*.[ch]' \) \
+        -type l -xtype l -delete > /dev/null 2>&1
+}
+
+
+# func_clean_unused_macros
+# ------------------------
+# Autopoint can result in over-zealously adding macros into $macro_dir
+# even though they are not actually used, for example tests to help
+# build the `intl' directory even though you have specified
+# `AM_GNU_GETTEXT([external])' in your configure.ac.  This function
+# looks removes any macro files that can be found in gnulib,  but
+# are not `m4_include'd by `aclocal.m4'.
+func_clean_unused_macros ()
+{
+    $debug_cmd
+
+    $require_gnulib_path
+    $require_macro_dir
+
+    test -n "$gnulib_path" && test -f aclocal.m4 && {
+      aclocal_m4s=`find . -name aclocal.m4 -print`
+
+      # We use `ls|grep' instead of `ls *.m4' to avoid exceeding
+      # command line length limits in some shells.
+      for file in `cd $macro_dir && ls -1 |grep '\.m4$'`; do
+
+       # Remove a macro file when aclocal.m4 does not m4_include it...
+        func_grep_q 'm4_include([[]'$macro_dir/$file'])' $aclocal_m4s \
+            || test ! -f $gnulib_path/m4/$file || {
+
+              # ...and there is an identical file in gnulib...
+              if func_cmp_s $gnulib_path/m4/$file $macro_dir/$file; then
+
+                # ...and it's not in the precious list (`echo' is needed
+                # here to squash whitespace for the match expression).
+                case " "`echo $gnulib_precious`" " in
+                  *" $file "*) ;;
+                  *) rm -f $macro_dir/$file
+                     func_verbose \
+                       "removing unused gnulib file \`$macro_dir/$file'"
+                esac
+              fi
+        }
+      done
+    }
+}
+
+
+# func_skip_po_recommendation
+# ---------------------------
+# If there is a po directory, and `--skip-po' wasn't passed, let the
+# user know that they can use `--skip-po' on subsequent invocations.
+func_skip_po_recommendation ()
+{
+    $debug_cmd
+
+    test ! -d po \
+        || $opt_skip_po \
+        || func_warning recommend "\
+If your pofiles are up-to-date, you can rerun bootstrap
+as \`$progname --skip-po' to avoid redownloading."
+}
+
+
+# func_update_dotversion
+# ----------------------
+# Even with 'gitlog-to-changelog' generated ChangeLogs, automake
+# will not run to completion with no ChangeLog file.
+func_update_dotversion ()
+{
+    $debug_cmd
+
+    test -f "$build_aux/git-version-gen" && {
+      my_message="updating .version"
+      test -f .version && {
+        mv .version .version~
+       func_append my_message " (backup in .version~)"
+      }
+      func_verbose "updating .version"
+
+      $build_aux/git-version-gen dummy-arg > .version
+    }
+}
+
+
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files.  Where a variable already has a non-
+# empty value (as set by the package's `bootstrap.conf'), that value is
+# used in preference to deriving the default. Call them using their
+# associated `require_*' variable to ensure that they are executed, at
+# most, once.
+
+
+# require_checkout_only_file
+# --------------------------
+# Bail out  if this package only bootstraps properly from a repository
+# checkout.
+require_checkout_only_file=func_require_checkout_only_file
+func_require_checkout_only_file ()
+{
+    $debug_cmd
+
+    test -n "$checkout_only_file" && test ! -f "$checkout_only_file" \
+       && func_fatal_error "\
+error: Bootstrapping from a non-checked-out distribution is risky."
+
+    require_checkout_only_file=:
+}
+
+
+# require_aclocal_amflags
+# -----------------------
+# Ensure `$aclocal_amflags' has a sensible default, extracted from
+# `Makefile.am' if necessary.
+require_aclocal_amflags=func_require_aclocal_amflags
+func_require_aclocal_amflags ()
+{
+    $debug_cmd
+
+    $require_makefile_am
+
+    my_sed_extract_aclocal_amflags='s|#.*$||
+        /^[     ]*ACLOCAL_AMFLAGS[      ]*=/ {
+            s|^.*=[     ]*\(.*\)|aclocal_amflags="\1"|
+            p
+        }'
+
+    my_aclocal_flags_cmd=`$SED -n "$my_sed_extract_aclocal_amflags" \
+        "$makefile_am"`
+    eval "$my_aclocal_flags_cmd"
+
+    func_verbose "ACLOCAL_AMFLAGS='$aclocal_amflags'"
+
+    require_aclocal_amflags=:
+}
+
+
+# require_autobuild_buildreq
+# --------------------------
+# Try to find whether the bootstrap requires autobuild.
+require_autobuild_buildreq=func_require_autobuild_buildreq
+func_require_autobuild_buildreq ()
+{
+    $debug_cmd
+
+    printf '%s\n' "$buildreq" |func_grep_q '^[  ]*autobuild' || {
+      $require_configure_ac
+
+      func_extract_trace AB_INIT
+      test -n "$func_extract_trace_result" && {
+        func_append buildreq 'autobuild - http://josefsson.org/autobuild/
+'
+        func_verbose "auto-adding \`autobuild' to build requirements"
+      }
+    }
+
+    require_autobuild_buildreq=:
+}
+
+
+# require_autoconf_buildreq
+# require_autopoint_buildreq
+# require_libtoolize_buildreq
+# ---------------------------
+# Try to find the minimum compatible version of autoconf/libtool
+# required to bootstrap successfully, and add it to `$buildreq'.
+for tool in autoconf libtoolize autopoint; do
+  b=$tool
+  v=require_${tool}_buildreq
+  f=func_$v
+  case $tool in
+    autoconf) m=AC_PREREQ ;;
+    libtoolize) m=LT_PREREQ; b=libtool ;;
+    autopoint) m=AM_GNU_GETTEXT_VERSION b=gettext ;;
+  esac
+
+  eval $v'='$f'
+  '$f' ()
+  {
+    $debug_cmd
+
+    # The following is ignored if undefined, but might be necessary
+    # in order for `func_find_tool` to run.
+    ${require_'$tool'-:}
+
+    printf '%s\n' "$buildreq" |func_grep_q '\''^[       ]*'$tool\'' || {
+      $require_configure_ac
+
+      func_extract_trace '$m'
+      my_version="$func_extract_trace_result"
+      test -n "$my_version" && {
+        func_append buildreq "\
+            '$tool' $my_version http://www.gnu.org/s/'$b'
+"
+        func_verbose \
+            "auto-adding \`'$tool'-$my_version'\'' to build requirements"
+      }
+    }
+
+    '$v'=:
+  }
+'
+done
+
+
+# require_autoheader
+# ------------------
+# Skip autoheader if it's not needed.
+require_autoheader=func_require_autoheader
+func_require_autoheader ()
+{
+    $debug_cmd
+
+    test true = "$AUTOHEADER" || {
+      func_extract_trace AC_CONFIG_HEADERS
+      test -n "$func_extract_trace_result" \
+         || func_extract_trace AC_CONFIG_HEADER
+
+      test -n "$func_extract_trace_result" || {
+        AUTOHEADER=true
+
+        func_verbose "export AUTOHEADER='$AUTOHEADER'"
+
+        # Make sure the search result is visible to subshells
+        export AUTOHEADER
+      }
+    }
+
+    require_autoheader=:
+}
+
+
+# require_automake_buildreq
+# -------------------------
+# Try to find the minimum compatible version of automake required to
+# bootstrap successfully, and add it to `$buildreq'.
+require_automake_buildreq=func_require_automake_buildreq
+func_require_automake_buildreq ()
+{
+    $debug_cmd
+
+    # if automake is not already listed in $buildreq...
+    printf '%s\n' "$buildreq" |func_grep_q automake || {
+      func_extract_trace AM_INIT_AUTOMAKE
+
+      # ...and AM_INIT_AUTOMAKE is declared...
+      test -n "$func_extract_trace_result" && {
+        automake_version=`echo "$func_extract_trace_result" \
+           |$SED 's|[^0-9]*||; s| .*$||'`
+        test -n "$automake_version" || automake_version="-"
+
+        func_append buildreq "\
+            automake $automake_version http://www.gnu.org/s/automake
+"
+        func_verbose \
+            "auto-adding \`automake-$automake_version' to build requirements"
+      }
+    }
+
+    require_automake_buildreq=:
+}
+
+
+# require_autopoint
+# -----------------
+# Skip autopoint if it's not needed.
+require_autopoint=func_require_autopoint
+func_require_autopoint ()
+{
+    $debug_cmd
+
+    test true = "$AUTOPOINT" || {
+      func_extract_trace AM_GNU_GETTEXT_VERSION
+
+      test -n "$func_extract_trace_result" || {
+        AUTOPOINT=true
+
+        func_verbose "export AUTOPOINT='$AUTOPOINT'"
+
+        # Make sure the search result is visible to subshells
+        export AUTOPOINT
+      }
+    }
+
+    require_autopoint=:
+}
+
+
+# func_require_bootstrap_uptodate
+# -------------------------------
+# Complain if the version of bootstrap in the gnulib directory differs
+# from the one we are running.
+require_bootstrap_uptodate=func_require_bootstrap_uptodate
+func_require_bootstrap_uptodate ()
+{
+    $debug_cmd
+
+    $require_gnulib_path
+
+    test x = x"$gnulib_path" \
+        || func_cmp_s $progpath $gnulib_path/build-aux/bootstrap \
+        || func_warning upgrade "\
+\`$progpath' differs from \`./$gnulib_path/build-aux/bootstrap',
+please consider adopting the canonical version from gnulib."
+
+    require_bootstrap_uptodate=:
+}
+
+
+# require_build_aux
+# -----------------
+# Ensure that `$build_aux' is set, and if it doesn't already point to an
+# existing directory, create one.
+require_build_aux=func_require_build_aux
+func_require_build_aux ()
+{
+    $debug_cmd
+
+    test -n "$build_aux" || {
+      $require_configure_ac
+
+      func_extract_trace AC_CONFIG_AUX_DIR
+      build_aux="$func_extract_trace_result"
+      func_check_configuration build_aux \
+          "AC_CONFIG_AUX_DIR([name of a directory for build scripts])"
+
+      func_verbose "build_aux='$build_aux'"
+    }
+
+    $require_vc_ignore_files
+
+    # If the build_aux directory doesn't exist, create it now, and mark it
+    # as ignored for the VCS.
+    if test ! -d "$build_aux"; then
+      func_show_eval "mkdir '$build_aux'"
+
+      test -n "$vc_ignore_files" \
+          || func_insert_sorted_if_absent "$build_aux" $vc_ignore_files
+    fi
+
+    require_build_aux=:
+}
+
+
+# func_require_buildtools_uptodate
+# --------------------------------
+# Ensure all the packages listed in BUILDREQS are available on the build
+# machine at the minimum versions or better.
+require_buildtools_uptodate=func_require_buildtools_uptodate
+func_require_buildtools_uptodate ()
+{
+    $debug_cmd
+
+    $require_autobuild_buildreq
+    $require_autoconf_buildreq
+    $require_automake_buildreq
+    $require_libtoolize_buildreq
+    $require_autopoint_buildreq
+
+    test -n "$buildreq" && {
+      func_check_versions $buildreq
+      $func_check_versions_result || {
+        test -n "$buildreq_readme" \
+            && test -f "$buildreq_readme" \
+            && func_error "\
+error: $buildreq_readme explains how to obtain these prerequisite programs:
+"
+        func_strtable 7 11 12 36 \
+            "Program" "Min_version" "Homepage" $buildreq
+        func_fatal_error "$func_strtable_result"
+      }
+    }
+
+    require_buildtools_uptodate=:
+}
+
+
+# require_configure_ac
+# --------------------
+# Ensure that there is a `configure.ac' or `configure.in' file in the
+# current directory, and that `$configure_ac' contains its name.
+require_configure_ac=func_require_configure_ac
+func_require_configure_ac ()
+{
+    $debug_cmd
+
+    test -n "$configure_ac" || {
+      for configure_ac in configure.ac configure.in; do
+        test -f $configure_ac && break
+      done
+
+      <$configure_ac
+    }
+
+    func_verbose "found \`$configure_ac'"
+
+    require_configure_ac=:
+}
+
+
+# require_copyright_holder
+# ------------------------
+# Ensure there is a sensible non-empty default value in `$copyright_holder'.
+require_copyright_holder=func_require_copyright_holder
+func_require_copyright_holder ()
+{
+    $debug_cmd
+
+    test -n "$copyright_holder" || {
+      copyright_holder='Free Software Foundation, Inc.'
+      func_warning settings "\
+Please set copyright_holder explicitly in \`bootstrap.conf';
+defaulting to \`$copyright_holder'."
+    }
+
+    require_copyright_holder=:
+}
+
+
+# require_dotgitmodules
+# ---------------------
+# Ensure we have a `.gitmodules' file, with appropriate `gnulib' settings.
+require_dotgitmodules=func_require_dotgitmodules
+func_require_dotgitmodules ()
+{
+    $debug_cmd
+
+    $require_git
+
+    test true = "$GIT" || {
+      # A gnulib entry in .gitmodules always takes precedence.
+      my_path="`$GIT config --file .gitmodules submodule.gnulib.path 
2>/dev/null`"
+
+      test -n "$my_path" || {
+        $require_vc_ignore_files
+
+        func_verbose "creating \`.gitmodules'"
+
+        # If the .gitmodules file doesn't exist, create it now, and mark
+        # it as ignored for the VCS.
+        test -n "$gnulib_path" || gnulib_path=gnulib
+        test -n "$gnulib_url"  || gnulib_url=git://git.sv.gnu.org/gnulib
+
+        {
+          echo '[submodule "gnulib"]'
+          echo "       path = $gnulib_path"
+          echo "       url = $gnulib_url"
+        } >> .gitmodules
+
+        test -n "$vc_ignore_files" \
+          || func_insert_sorted_if_absent ".gitmodules" $vc_ignore_files
+      }
+    }
+
+    require_dotgitmodules=:
+}
+
+
+# require_extra_locale_categories
+# -------------------------------
+# Ensure there is a default value in `$extra_locale_categories'
+require_extra_locale_categories=func_require_extra_locale_categories
+func_require_extra_locale_categories ()
+{
+    $debug_cmd
+
+    # Defaults to empty, so run with whatever value may have been set in
+    # `bootstrap.conf'.
+    require_extra_locale_categories=:
+}
+
+
+# require_git
+# -----------
+# Ignore git if it's not available, or we're not in a git checkout tree.
+require_git=func_require_git
+func_require_git ()
+{
+    $debug_cmd
+
+    $opt_skip_git && GIT=true
+
+    test true = "$GIT" || {
+      if test -f .gitignore && ($GIT --version) >/dev/null 2>&1; then :; else
+      GIT=true
+      fi
+    }
+
+    func_verbose "GIT='$GIT'"
+
+    require_git=:
+}
+
+
+# require_gnu_m4
+# --------------
+# Search for GNU M4, and export it in $M4.
+require_gnu_m4=func_require_gnu_m4
+func_require_gnu_m4 ()
+{
+    $debug_cmd
+
+    test -n "$M4" || {
+      # Find the first m4 binary that responds to --version.
+      func_find_tool M4 gm4 gnum4 m4
+    }
+
+    test -n "$M4" || func_fatal_error "\
+error: Please install GNU M4, or \`export M4=/path/to/gnu/m4'."
+
+    func_verbose "export M4='$M4'"
+
+    # Make sure the search result is visible to subshells
+    export M4
+
+    require_gnu_m4=:
+}
+
+
+# require_gnulib_cache
+# --------------------
+# Ensure there is a non-empty default for `$gnulib_cache', and that it
+# names an existing file.
+require_gnulib_cache=func_require_gnulib_cache
+func_require_gnulib_cache ()
+{
+    $debug_cmd
+
+    $require_macro_dir
+
+    test -n "$gnulib_cache" \
+      || gnulib_cache="$macro_dir/gnulib-cache.m4"
+
+    func_verbose "found \`$gnulib_cache'"
+
+    require_gnulib_cache=:
+}
+
+
+# require_gnulib_files_already_present
+# ------------------------------------
+# If we have no means to update imported gnulib files, then try to
+# ensure at least that this tree already has files from a previous
+# `gnulib-tool' run.
+require_gnulib_files_already_present=func_require_gnulib_files_already_present
+func_require_gnulib_files_already_present ()
+{
+    $debug_cmd
+
+    $require_build_aux
+    $require_macro_dir
+    $require_gnulib_mk
+    $require_source_base
+
+    # As a heuristic, only bail out if any of the following
+    # are missing.
+    my_gnulib_files_already_present="
+        $build_aux/install-sh
+        $macro_dir/00gnulib.m4
+        $source_base/${gnulib_mk:-Makefile.am}
+    "
+
+    $opt_dry_run || {
+      for my_file in $my_gnulib_files_already_present; do
+        test -f "$my_file" || func_fatal_error "\
+error: Can't find, copy or download required gnulib files,
+       please provide the location of a complete \`gnulib' tree
+       by setting \`gnulib_path' in your \`bootstrap.conf' or
+       with the \`--gnulib-srcdir' option - or else specify the
+       location of your \`git' binary by setting \`GIT' in the
+       environment so that a fresh \`gnulib' submodule can be
+       cloned."
+      done
+    }
+
+    require_gnulib_files_already_present=:
+}
+
+
+# require_gnulib_merge_changelog
+# ------------------------------
+# See if we can use gnulib's git-merge-changelog merge driver.
+require_gnulib_merge_changelog=func_require_gnulib_merge_changelog
+func_require_gnulib_merge_changelog ()
+{
+    $debug_cmd
+
+    test -f ChangeLog && {
+      $require_git
+
+      test true = "$GIT" || {
+        if $GIT config merge.merge-changelog.driver >/dev/null ; then
+          :
+        elif (git-merge-changelog --version) >/dev/null 2>&1 ; then
+          func_echo "initializing git-merge-changelog driver"
+          $GIT config merge.merge-changelog.name 'GNU-style ChangeLog merge 
driver'
+          $GIT config merge.merge-changelog.driver 'git-merge-changelog %O %A 
%B'
+        else
+          func_warning recommend \
+              "Consider installing git-merge-changelog from gnulib."
+        fi
+      }
+    }
+
+    require_gnulib_merge_changelog=:
+}
+
+
+# require_gnulib_mk
+# -----------------
+# Ensure gnulib_mk has a sensible value, extracted from `gnulib-cache.m4'
+# if possible, otherwise letting `gnulib-tool' pick a default.
+require_gnulib_mk=func_require_gnulib_mk
+func_require_gnulib_mk ()
+{
+    $debug_cmd
+
+    test -n "$gnulib_mk" || {
+      $require_gnulib_cache
+      $require_macro_dir
+
+      func_extract_trace "gl_MAKEFILE_NAME" "$gnulib_cache"
+      gnulib_mk="$func_extract_trace_result"
+
+      test -n "$gnulib_mk" && func_verbose "gnulib_mk='$gnulib_mk'"
+    }
+
+    require_gnulib_mk=:
+}
+
+
+# require_gnulib_path
+# require_gnulib_url
+# -------------------
+# Ensure `gnulib_path' and `gnulib_url' are set.
+require_gnulib_path=func_require_dotgitmodules_parameters
+require_gnulib_url=func_require_dotgitmodules_parameters
+func_require_dotgitmodules_parameters ()
+{
+    $debug_cmd
+
+    $require_git
+
+    if test true = "$GIT"; then
+      # If we can't find git (or if the user specified `--skip-git'),
+      # then use an existing gnulib directory specified with
+      # `--gnulib-srcdir' if possible.
+      test -n "$gnulib_path" \
+          || test ! -x "$opt_gnulib_srcdir/gnulib-tool" \
+          || gnulib_path="$opt_gnulib_srcdir"
+    fi
+
+    $require_dotgitmodules
+
+    # Extract the parameters with sed, since git may be missing
+    test -n "$gnulib_path" \
+      || gnulib_path=`$SED -e '/^.submodule "gnulib".$/,${
+                                /[      ]*path *= */{
+                                 s,[   ]*,,g;s,^[^=]*=,,;p
+                               }
+                             };d' .gitmodules |$SED 1q`
+    test -n "$gnulib_url" \
+      || gnulib_url=`$SED -e '/^.submodule "gnulib".$/,${
+                                /[      ]*url *= */{
+                                 s,[   ]*,,g;s,^[^=]*=,,;p
+                               }
+                             };d' .gitmodules |$SED 1q`
+
+    func_verbose "gnulib_path='$gnulib_path'"
+    func_verbose "gnulib_url='$gnulib_url'"
+
+    require_gnulib_path=:
+    require_gnulib_url=:
+}
+
+
+# require_gnulib_submodule
+# ------------------------
+# Ensure that there is a current gnulib submodule at `$gnulib_path'.
+require_gnulib_submodule=func_require_gnulib_submodule
+func_require_gnulib_submodule ()
+{
+    $debug_cmd
+
+    $require_git
+
+    if test true = "$GIT"; then
+      func_warning recommend \
+          "No \`git' found; imported gnulib modules may be outdated."
+    else
+      $require_gnulib_path
+      $require_gnulib_url
+
+      if test -f .gitmodules && test -f "$gnulib_path/gnulib-tool"; then
+        func_show_eval "$GIT submodule update" \
+            'func_fatal_error "error: Unable to update gnulib submodule."'
+
+      elif test -n "$opt_gnulib_srcdir"; then
+        # Older git can't clone into an empty directory.
+        rmdir "$gnulib_path" 2>/dev/null
+        func_show_eval "$GIT clone --reference '$opt_gnulib_srcdir' \
+                '$gnulib_url' '$gnulib_path'" \
+            && func_show_eval "$GIT submodule init" \
+            && func_show_eval "$GIT submodule update" \
+            || func_fatal_error "error: Unable to fetch gnulib submodule."
+
+      # Without --gnulib-srcdir, and no existing checked out submodule, we
+      # create a new shallow clone of the remote gnulib repository.
+      else
+        trap func_cleanup_gnulib 1 2 13 15
+
+        shallow=
+        $GIT clone -h 2>&1 |func_grep_q -- --depth \
+            && shallow='--depth 2'
+
+        func_show_eval "$GIT clone $shallow '$gnulib_url' '$gnulib_path'" \
+          func_cleanup_gnulib
+
+       # FIXME: Solaris /bin/sh will try to execute '-' if any of
+       #        these signals are caught after this.
+        trap - 1 2 13 15
+      fi
+    fi
+
+    require_gnulib_submodule=:
+}
+
+
+# require_gnulib_tool
+# -------------------
+# Ensure that `$gnulib_tool' is set, and points to an executable file,
+# or else fall back to using the binary `true' if the main gnulib
+# files appear to have been imported already.
+require_gnulib_tool=func_require_gnulib_tool
+func_require_gnulib_tool ()
+{
+    $debug_cmd
+
+    $require_gnulib_submodule
+
+    test true = "$gnulib_tool" || {
+      $require_gnulib_path
+
+      test -n "$gnulib_tool" \
+        || gnulib_tool="$gnulib_path/gnulib-tool"
+
+      test -x "$gnulib_tool" || {
+        $require_gnulib_files_already_present
+
+        gnulib_tool=true
+        func_warning recommend \
+            "No \`gnulib-tool' found; gnulib modules may be missing."
+      }
+
+      test true = "$gnulib_tool" \
+          || func_verbose "found \`$gnulib_tool'"
+    }
+
+    require_gnulib_tool=:
+}
+
+
+# require_libtoolize
+# ------------------
+# Skip libtoolize if it's not needed.
+require_libtoolize=func_require_libtoolize
+func_require_libtoolize ()
+{
+    $debug_cmd
+
+    # Unless we're not searching for libtool use by this package, set
+    # LIBTOOLIZE to true if none of `LT_INIT', `AC_PROG_LIBTOOL' and
+    # `AM_PROG_LIBTOOL' are used in configure.
+    test true = "$LIBTOOLIZE" || {
+      func_extract_trace LT_INIT
+      test -n "$func_extract_trace_result" || func_extract_trace 
AC_PROG_LIBTOOL
+      test -n "$func_extract_trace_result" || func_extract_trace 
AM_PROG_LIBTOOL
+      test -n "$func_extract_trace_result" || LIBTOOLIZE=true
+    }
+
+    test -n "$LIBTOOLIZE" || {
+      # Find libtoolize, named glibtoolize in Mac Ports, but prefer
+      # user-installed libtoolize to ancient glibtoolize shipped by
+      # Apple with Mac OS X when Mac Ports is not installed.
+      func_find_tool LIBTOOLIZE libtoolize glibtoolize
+    }
+
+    func_verbose "export LIBTOOLIZE='$LIBTOOLIZE'"
+
+    # Make sure the search result is visible to subshells
+    export LIBTOOLIZE
+
+    require_libtoolize=:
+}
+
+
+# require_macro_dir
+# -----------------
+# Ensure that `$macro_dir' is set, and if it doesn't already point to an
+# existing directory, create one.
+require_macro_dir=func_require_macro_dir
+func_require_macro_dir ()
+{
+    $debug_cmd
+
+    # Sometimes this is stored in `configure.ac'.
+    test -n "$macro_dir" || {
+      func_extract_trace AC_CONFIG_MACRO_DIR
+      macro_dir="$func_extract_trace_result"
+    }
+
+    # Otherwise we might find it in `Makefile.am'.
+    test -n "$macro_dir" || {
+      $require_aclocal_amflags
+
+      my_sed_scan='s|^.*-I[     ]*\([^  ]*\) .*|\1|'
+
+      # Trailing space in echo is required by the sed script.
+      macro_dir=`echo "$aclocal_amflags " |$SED "$my_sed_scan"`
+    }
+
+    func_verbose "macro_dir='$macro_dir'"
+
+    func_check_configuration macro_dir \
+        "AC_CONFIG_MACRO_DIR([name of a directory for configure m4 files])"
+
+    $require_vc_ignore_files
+
+    # If the macro_dir directory doesn't exist, create it now, and mark it
+    # as ignored for the VCS.
+    if test ! -d "$macro_dir"; then
+      mkdir "$macro_dir" || func_permissions_error "$macro_dir"
+
+      test -n "$vc_ignore_files" \
+        || func_insert_sorted_if_absent "$macro_dir" $vc_ignore_files
+    fi
+
+    require_macro_dir=:
+}
+
+
+# require_makefile_am
+# -------------------
+# Ensure there is a `Makefile.am' in the current directory.
+# names an existing file.
+require_makefile_am=func_require_makefile_am
+func_require_makefile_am ()
+{
+    $debug_cmd
+
+    test -n "$makefile_am" \
+      || makefile_am="Makefile.am"
+
+    <"$makefile_am"
+
+    func_verbose "found \`$makefile_am'"
+
+    require_makefile_am=:
+}
+
+
+# require_package
+# ---------------
+# Ensure that `$package' contains a sensible default value.
+require_package=func_require_package
+func_require_package ()
+{
+    $debug_cmd
+
+    test -n "$package" || {
+      $require_package_name
+
+      package=`echo "$package_name" \
+        |$SED 's/GNU 
//;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+    }
+
+    func_verbose "package='$package'"
+
+    require_package=:
+}
+
+
+# require_package_bugreport
+# -------------------------
+# Ensure that this has a sensible value, extracted from `configure.ac'
+# if appropriate (and possible!).
+require_package_bugreport=func_require_package_bugreport
+func_require_package_bugreport ()
+{
+    $debug_cmd
+
+    func_extract_trace AC_INIT
+
+    save_ifs="$IFS"
+    IFS=:
+    set dummy $func_extract_trace_result
+    IFS="$save_ifs"
+    shift
+
+    test -n "$package_bugreport" || package_bugreport="$3"
+    func_check_configuration package_bugreport \
+      "AC_INIT([$package_name], [$package_version], address@hidden)"
+    func_verbose "package_bugreport='$package_bugreport'"
+
+    require_package_bugreport=:
+}
+
+
+# require_package_name
+# --------------------
+# Ensure that this has a sensible value, extracted from `configure.ac'
+# if appropriate (and possible!).
+require_package_name=func_require_package_name
+func_require_package_name ()
+{
+    $debug_cmd
+
+    func_extract_trace AC_INIT
+
+    save_ifs="$IFS"
+    IFS=:
+    set dummy $func_extract_trace_result
+    IFS="$save_ifs"
+    shift
+
+    test -n "$package_name" || package_name="$1"
+    func_check_configuration package_name \
+      "AC_INIT([name of your package], [package version number])"
+    func_verbose "package_name='$package_name'"
+
+    require_package_name=:
+}
+
+
+# require_package_version
+# -----------------------
+# Ensure that this has a sensible value, extracted from `configure.ac'
+# if appropriate (and possible!).  While we might have set all the
+# parameters extracted from AC_INIT at once, `package_version' in
+# particular is not necessarily available as early as the others, since
+# `git-version-gen' is often involved, and until then we can't rely on
+# getting a correct version number from an AC_INIT extraction.
+require_package_version=func_require_package_version
+func_require_package_version ()
+{
+    $debug_cmd
+
+    func_extract_trace AC_INIT
+
+    save_ifs="$IFS"
+    IFS=:
+    set dummy $func_extract_trace_result
+    IFS="$save_ifs"
+    shift
+
+    test -n "$package_version" || package_version="$2"
+    test -n "$package_version" || {
+      # The embedded echo is to squash whitespace before globbing.
+      case " "`echo $gnulib_modules`" " in
+       *" git-version-gen "*)
+         func_fatal_error "\
+error: cannot \$require_package_version in bootstrap.conf before
+       func_gnulib_tool has installed the \`git-version-gen' script."
+         ;;
+       *)
+          func_check_configuration package_version \
+            "AC_INIT([name of your package], [package version number])"
+         ;;
+      esac
+    }
+    func_verbose "package_version='$package_version'"
+
+    require_package_version=:
+}
+
+
+# require_source_base
+# -------------------
+# Ensure that source_base has a sensible value, extracted from
+# `gnulib-cache.m4' if possible.
+require_source_base=func_require_source_base
+func_require_source_base ()
+  {
+    $debug_cmd
+
+    $require_gnulib_cache
+
+    test -f "$gnulib_cache" && test x = "x$source_base" && {
+      $require_macro_dir
+
+      func_extract_trace "gl_SOURCE_BASE" "$gnulib_cache"
+
+      source_base="$func_extract_trace_result"
+
+      func_verbose "source_base='$source_base'"
+    }
+
+    # Only prevent repeated calls if we found something...
+    # gnulib-cache.m4 might arrive before the next call.
+    test -n "$source_base" && require_source_base=:
+}
+
+
+# require_vc_ignore_files
+# -----------------------
+# Ensure that `$vc_ignore' has been processed to list VCS ignore files
+# in `$vc_ignore_files'
+require_vc_ignore_files=func_require_vc_ignore_files
+func_require_vc_ignore_files ()
+{
+    $debug_cmd
+
+    test -n "$vc_ignore" || vc_ignore=auto
+
+    if test auto = "$vc_ignore" && test x = x"$vc_ignore_files"; then
+      vc_ignore_files=
+      test -d .git && vc_ignore_files=.gitignore
+      test -d CVS && vc_ignore_files="$vc_ignore_files .cvsignore"
+    else
+      vc_ignore_files="$vc_ignore"
+    fi
+
+    func_verbose "vc_ignore_files='$vc_ignore_files'"
+
+    require_vc_ignore_files=:
+}
+
+
+## ------------------##
+## Helper functions. ##
+## ------------------##
+
+# This section contains the helper functions used by the rest of `bootstrap'.
+
+# func_len STRING
+# ---------------
+# STRING may not start with a hyphen.
+if (eval 'x=123; test x${#x} = "x3"') 2>/dev/null
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=${#1}
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=`expr "$1" : ".*" 2>/dev/null || echo 0`
+  }
+fi
+
+
+# func_unset VAR
+# --------------
+# Portably unset VAR.
+# In some shells, an `unset VAR' statement leaves a non-zero return
+# status if VAR is already unset, which might be problematic if the
+# statement is used at the end of a function (thus poisoning its return
+# value) or when `set -e' is active (causing even a spurious abort of
+# the script in this case).
+func_unset ()
+{
+    { eval $1=; unset $1; }
+}
+unset=func_unset
+
+
+# func_cmp_s FILE1 FILE2
+# ----------------------
+# Return non-zero exit status unless FILE1 and FILE2 are identical, without
+# any output at all, even error messages.
+func_cmp_s ()
+{
+    $debug_cmd
+
+    # This function relies on non-zero exit status, which will cause the
+    # program to exit when running in `set -e' mode.
+    $CMP "$@" >/dev/null 2>&1
+}
+
+
+# func_grep_q EXPRESSION [FILENAME..].
+# ------------------------------------
+# Check whether EXPRESSION matches any line of any listed FILENAME,
+# without any output at all, even error messages.
+func_grep_q ()
+{
+    $debug_cmd
+
+    # This function relies on non-zero exit status, which will cause the
+    # program to exit when running in `set -e' mode.
+    $GREP "$@" >/dev/null 2>&1
+}
+
+
+# func_ifcontains LIST MEMBER YES-CMD [NO-CMD]
+# --------------------------------------------
+# If whitespace-separated LIST contains MEMBER then execute YES-CMD,
+# otherwise if NO-CMD was give, execute that.
+func_ifcontains ()
+{
+    $debug_cmd
+
+    # The embedded echo is to squase whitespace before globbing.
+    my_wslist=`echo " "$1" "`
+    my_member=$2
+    my_yes_cmd=$3
+    my_no_cmd=${4-":"}
+
+    case $my_wslist in
+      *" $my_member "*)
+        eval "$my_yes_cmd"
+       my_status=$?
+       ;;
+      *)
+       eval "$my_no_cmd"
+       my_status=$?
+       ;;
+    esac
+
+    test "$my_status" -eq 0 || exit $my_status
+}
+
+
+# func_append_u VAR VALUE
+# -----------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE.  For example:
 #
-#   Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010 Free Software
-#   Foundation, Inc,
-#   Mritten by Gary V. Vaughan, 2003
+#   func_append_u options " --another-option option-argument"
 #
-#   This file is part of GNU Libtool.
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_u ()
+{
+    $debug_cmd
+
+    eval my_current_value='`echo $'$1'`'
+    my_delim=`expr "$2" : '\(.\)'`
+
+    case $my_delim$my_current_value$my_delim in
+      *"$2$my_delim"*) ;;
+      *) func_append "$@" ;;
+    esac
+}
+
+
+# func_strpad STR WIDTH CHAR
+# --------------------------
+# Trim STR, or pad with CHAR to force a total length of WIDTH.
+func_strpad ()
+{
+    $debug_cmd
+
+    my_width=`expr "$2" - 1`
+    func_strpad_result=`echo "$1" |$SED '
+        :a
+        s|^.\{0,'"$my_width"'\}$|&'"$3"'|
+        ta
+    '`
+}
+
+
+# func_strrpad STR WIDTH CHAR
+# ---------------------------
+# Trim STR, or right-justify-pad with CHAR to force a total length of
+# WIDTH.
+func_strrpad ()
+{
+    $debug_cmd
+
+    my_width=`expr "$2" - 1`
+    func_strrpad_result=`echo "$1" |$SED '
+        :a
+        s|^.\{0,'"$my_width"'\}$|'"$3"'&|
+        ta
+    '`
+}
+
+
+# func_strrow INDENT FIELD WIDTH [FIELDn WIDTHn]...
+# -------------------------------------------------
+# Return a string containing each FIELD left justified to WIDTH, with
+# the whole thing indented by INDENT spaces.  This function is used to
+# render one row of aligned columns for a table by func_strtable().
+func_strrow ()
+{
+    $debug_cmd
+
+    func_strrow_linelen="$1"; shift
+
+    my_row=
+    while test $# -gt 0; do
+      func_strrow_linelen=`expr $func_strrow_linelen + $2`
+      func_strpad "$1" $2 " "
+      func_append my_row "$func_strpad_result"
+      shift; shift
+    done
+
+    func_strrpad "$my_row" $func_strrow_linelen " "
+    func_strrow_result="$func_strrpad_result"
+}
+
+
+# func_strtable INDENT WIDTH1...WIDTHn HEADER1...HEADERn FIELD1...FIELDn
+# ----------------------------------------------------------------------
+# Generate a string of newline-separated rows arranged in lined-up
+# columns of the given WIDTHs, with the entire table indented by INDENT
+# spaces.  The number of columns is determined by the number of integer
+# valued WIDTH arguments following INDENT.  The next set (i.e. a number
+# of arguments equal to the number of WIDTH arguments) of fields are
+# treated as the table's column HEADERs, and are separated from the
+# remainder of the table by an indented row of `-' characters. Remaining
+# arguments are each aligned below the next available header, wrapping
+# to a new row as necessary.  Finally another row of `-' characters is
+# added to mark the end of the table.
 #
-# 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.
+# For example an unindented 3 column table with 2 rows of data would be
+# generated by this call:
 #
-# 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.
+#    func_strtable 3 20 10 25 \
+#        Header1 Header2 Header3 \
+#        Row1Col1 Row1Col2 Row1Col3 \
+#        Row2Col1 Row2Col2 Row2Col3
 #
-# 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.
-####
-
-# Exit upon failure.
-set -e
-
-# It is okay for the bootstrap process to require unreleased autoconf
-# or automake, as long as any released libtool will work with at least
-# the newest stable versions of each.  Generally, newer versions offer
-# better features, and configure.ac documents oldest version of each
-# required for bootstrap (AC_PREREQ, and AM_INIT_AUTOMAKE).
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-: ${AUTORECONF=autoreconf}
-: ${AUTOCONF=autoconf}
-: ${AUTOMAKE=automake}
-: ${AUTOM4TE=autom4te}
-: ${MAKE=make}
-: ${GREP=grep}
-: ${EGREP=egrep}
-: ${FGREP=fgrep}
-: ${SED=sed}
-: ${LN_S='ln -s'}
-: ${MAKEINFO=makeinfo}
-
-case $1 in
---help|-h*)
-  cat <<EOF
-`echo $0 | sed 's,^.*/,,g'`: This script is designed to bootstrap a fresh 
repository checkout
-of Libtool.  Useful environment variable settings:
-  reconfdirs='. libltdl'     Do not bootstrap the old test suite.
-EOF
-  exit
-  ;;
-esac
+# returning the following string:
+#
+# "   Header1             Header2   Header3
+#     -------------------------------------------------------
+#     Row1Col1            Row1Col2  Row1Col3
+#     Row2Col1            Row2Col2  Row2Col3
+#     -------------------------------------------------------"
+func_strtable ()
+{
+    $debug_cmd
+
+    # Save the indent value, we'll need it for each row we render.
+    my_indent="$1"; shift
+
+    # Collect remaining numeric args into a list for reuse between
+    # members of each row when we call func_strrow later.
+    my_widths="$1"; shift
+    while test 0 -lt `expr "$1" : '[1-9][0-9]*$'`; do
+      func_append my_widths " $1"; shift
+    done
+
+    # Extract the same number of positional parameters as there are
+    # width elements - we'll do the header rows separately so that
+    # we can insert a divider line.
+    my_header="$my_indent"
+    for my_width in $my_widths; do
+      func_append my_header " $1 $my_width"; shift
+    done
+    func_strrow $my_header
 
-test -f ./configure.ac || {
-  echo "bootstrap: can't find ./configure.ac, please rerun from top_srcdir"
-  exit 1
+    # Strip off the indent, and make a divider with `-' chars, then
+    # reindent.
+    my_divider=`echo "$func_strrow_result" \
+        |$SED 's|[^ ]|-|g
+            :a
+            s|- |--|g
+            ta
+        '`
+
+    # Append the header and divider to the running result.
+    func_append func_strtable_result "\
+$func_strrow_result
+$my_divider
+"
+
+    # The remaining rows are zipped between the width values we
+    # unwound earlier just like the header row above.
+    while test $# -gt 0; do
+      my_row="$my_indent"
+      for my_width in $my_widths; do
+        func_append my_row " $1 $my_width"; shift
+      done
+      func_strrow $my_row
+      func_append func_strtable_result "\
+$func_strrow_result
+"
+    done
+
+    # Mark the end of the table with a final divider line.
+    func_append func_strtable_result "$my_divider"
 }
 
 
-# Extract auxdir and m4dir from configure.ac:
-lt_tab='       '
-my_sed_traces='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,,;
-       /AC_CONFIG_AUX_DIR[^_]/  {
-           s,^.*AC_CONFIG_AUX_DIR([[ '"$lt_tab"']*\([^])]*\).*$,auxdir=\1,; p;
-       };
-       /AC_CONFIG_MACRO_DIR/   {
-           s,^.*AC_CONFIG_MACRO_DIR([[ '"$lt_tab"']*\([^])]*\).*$,m4dir=\1,; p;
-       };
-       d;'
-eval `cat configure.ac 2>/dev/null | $SED "$my_sed_traces"`
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message, taking newlines into account.
+func_echo ()
+{
+    my_message="$*"
+
+    save_IFS="$IFS"
+    IFS="$nl"
+    for my_line in $my_message; do
+      IFS="$save_IFS"
+      echo "$progname: $my_line"
+    done
+    IFS="$save_IFS"
+}
 
 
-# Upgrade caveat:
-cat <<'EOF'
-WARNING: If bootstrapping with this script fails, it may be due to an
-WARNING: incompatible installed `libtool.m4' being pulled in to
-WARNING: `aclocal.m4'.  The best way to work around such a problem is to
-WARNING: uninstall your system libtool files, or failing that, overwrite
-WARNING: them with all m4 file as shipped with this distribution (except
-WARNING: `lt~obsolete.m4').  After that, retry this bootstrap.
-EOF
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $opt_verbose && func_echo ${1+"$@"}
+}
 
-find . -depth \( -name autom4te.cache -o -name libtool \) -print \
-  | grep -v '{arch}' \
-  | xargs rm -rf
 
-# Delete stale files from previous libtool versions.
-rm -f acinclude.m4 libltdl/config.h
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    my_message="$*"
 
-for file in argz.c lt__dirent.c lt__strl.c; do
-  rm -f $file
-done
+    save_IFS="$IFS"
+    IFS="$nl"
+    for my_line in $my_message; do
+      IFS="$save_IFS"
+      echo "$progname: $bold_on$my_line$bold_off" 1>&2
+    done
+    IFS="$save_IFS"
+}
 
-if test -z "$reconfdirs"; then
-  reconfdirs=". libltdl `ls -1d tests/*demo tests/*demo[0-9]`"
+# Allow display of bold text on terminals that support it
+bold_on=
+bold_off=
+if test -t 1; then
+  if test -n "`tput bold 2>/dev/null`" \
+      && test -n "`tput sgr0 2>/dev/null`"
+  then
+    bold_on=`tput bold`
+    bold_off=`tput sgr0`
+  fi
 fi
 
-# Extract the package name and version number from configure.ac:
-set dummy `$SED -n '
-    /AC_INIT/{
-       s/[][,()]/ /g
-       s/ GNU / /
-       p
-    }' configure.ac`
-shift
-PACKAGE=`echo "$2" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
-PACKAGE_NAME=$2
-PACKAGE_URL=
-if grep 'AC_INIT.*GNU' configure.ac >/dev/null; then
-  PACKAGE_NAME="GNU $PACKAGE_NAME"
-  PACKAGE_URL="http://www.gnu.org/software/$PACKAGE/";
-fi
-VERSION=$3
-
-# Whip up a dirty Makefile:
-makes='Makefile.am libltdl/Makefile.inc'
-rm -f Makefile
-$SED '/^if /,/^endif$/d;/^else$/,/^endif$/d;/^include /d' $makes > Makefile
-
-# Building distributed files from configure is bad for automake, so we
-# generate them here, and have Makefile rules to keep them up to date.
-# We don't have all the substitution values to build ltmain.sh from this
-# script yet, but we need config/ltmain.sh for the libtool commands in
-# configure, and ltversion.m4 to generate configure in the first place:
-rm -f $auxdir/ltmain.sh $m4dir/ltversion.m4
-
-$MAKE ./$auxdir/ltmain.sh ./$m4dir/ltversion.m4 \
-    ./libtoolize.in ./tests/defs.in ./tests/package.m4 \
-    ./tests/testsuite ./libltdl/Makefile.am ./doc/notes.txt \
-    srcdir=. top_srcdir=. PACKAGE="$PACKAGE" VERSION="$VERSION" \
-    PACKAGE_NAME="$PACKAGE_NAME" PACKAGE_URL="$PACKAGE_URL" \
-    PACKAGE_BUGREPORT="address@hidden" M4SH="$AUTOM4TE --language=m4sh" \
-    AUTOTEST="$AUTOM4TE --language=autotest" SED="$SED" MAKEINFO="$MAKEINFO" \
-    GREP="$GREP" FGREP="$FGREP" EGREP="$EGREP" LN_S="$LN_S"
-
-rm -f Makefile
-
-# Make a dummy libtoolize script for autoreconf:
-cat > $auxdir/libtoolize <<'EOF'
-#! /bin/sh
-# This is a dummy file for bootstrapping libtool.
-echo "$0: Bootstrap detected, no files installed." | sed 's,^.*/,,g'
-exit 0
-EOF
-chmod 755 $auxdir/libtoolize
-
-# Running the installed `libtoolize' will trash the local (newer) libtool.m4
-# among others.  Call the dummy script we made earlier.
-LIBTOOLIZE=`pwd`/$auxdir/libtoolize
-export LIBTOOLIZE
-
-for sub in $reconfdirs; do
-  $AUTORECONF --force --verbose --install $sub
-done
 
-# Autoheader valiantly tries to prevent needless reconfigurations by
-# not changing the timestamp of config-h.in unless the file contents
-# are updated.  Unfortunately config-h.in depends on aclocal.m4 which
-# *is* updated, so running 'libtoolize --ltdl=. && configure && make'
-# causes autoheader to be called... undesireable for users that do not
-# have it!  Fudge the timestamp to prevent that:
-sleep 2 && touch libltdl/config-h.in
-
-# Remove our dummy libtoolize
-rm -f $auxdir/libtoolize
-
-# These files can cause an infinite configure loop if left behind.
-rm -f Makefile libltdl/Makefile libtool vcl.tmp
-
-# This file is misgenerated earlier in bootstrap to satisfy automake 1.9.1
-# and earlier, but has a new enough timestamp to not be updated.  Force it
-# to be regenerated at make-time with proper substitutions in place:
-touch $auxdir/ltmain.m4sh
-
-for macro in LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL; do
-  if grep $macro aclocal.m4 libltdl/aclocal.m4; then
-    echo "Bogus $macro macro contents in an aclocal.m4 file." >&2
-    exit 1
-  else :; fi
-done
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
+}
+
+
+# func_internal_error ARG...
+# --------------------------
+# Echo program name prefixed message to standard error, and exit.
+func_internal_error ()
+{
+    func_fatal_error "INTERNAL ERROR: " ${1+"$@"} "
+                Please report this bug to address@hidden'
+                in as much detail as possible."
+}
+
+
+# func_permissions_error FILE-OR-DIRECTORY
+# ----------------------------------------
+# Echo program name prefixed permissions error message to standard
+# error, and exit.
+func_permissions_error ()
+{
+    $debug_cmd
+
+    func_fatal_error "error: Failed to create \`$1', check permissions."
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY.
+func_warning ()
+{
+    $debug_cmd
+
+    case " $warning_categories " in
+      *" $1 "*) ;;
+      *) func_internal_error "invalid warning category \`$1'" ;;
+    esac
+
+    my_category="$1"
+    shift
+
+    case " $opt_warning " in
+      *" $my_category "*) $warning_func ${1+"$@"} ;;
+    esac
+}
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+    $debug_cmd
+
+    func_error ${1+"$@"}
+    func_fatal_error "$fatal_help"
+}
+fatal_help="Try \`$progname --help' for more information."  ## default
+
+
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $debug_cmd
+
+    printf '%s\n' "$progname $scriptversion"
+    $SED -n '/(C)/!b go
+        :more
+        /\./!{
+          N
+          s|\n# | |
+          b more
+        }
+        :go
+        /^# Written by /,/# warranty; / {
+          s|^# ||
+          s|^# *$||
+          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+          p
+        }
+        /^# Written by / {
+          s|^# ||
+          p
+        }' < "$progpath"
+
+    exit $?
+}
+
+
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
+{
+    $debug_cmd
+
+    echo "$progpath [OPTION]..."
+    echo ""
+    echo "$usage_message"
+}
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+    $debug_cmd
+
+    func_usage_message
+    echo "Run \`$progname --help |more' for full usage"
+    exit 0
+}
+
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
+func_help ()
+{
+    $debug_cmd
+
+    func_usage_message
+    echo "$long_help_message"
+    exit 0
+}
+
+
+# func_missing_arg ARGNAME
+# ------------------------
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    $debug_cmd
+
+    func_error "error: Missing argument for \`$1'."
+    exit_cmd=exit
+}
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+if (eval 'x=-abc; y=${x#??}; z=${x%$y}; test x$y$z = xbc-a') 2>/dev/null
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_arg=${1#??}
+      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+      func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+  }
+fi #func_split_short_opt
+
+
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the `=' sign.
+if (eval 'x='--ab=cd'; y=${x#*=}; z=${x%%=*}; test x$y$z = xcd--ab') 
2>/dev/null
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=${1%%=*}
+      func_split_equals_rhs=${1#*=}
+      test "x$func_split_equals_lhs" = "x$1" \
+        && func_split_equals_rhs=""
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=`expr "x$1" : 'x\([^=]*)'`
+      func_split_equals_rhs=""
+      test "x$func_split_equals_lhs" = "x$1" \
+        || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+  }
+fi #func_split_equals
+
+
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+func_quote_for_eval ()
+{
+    $debug_cmd
+
+    func_quote_for_eval_result=
+
+    while test $# -gt 0; do
+      case $1 in
+        *[\\\`\"\$]*)
+          my_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+        *)
+          my_unquoted_arg="$1" ;;
+      esac
+
+      case $my_unquoted_arg in
+        # Double-quote args containing shell metacharacters to delay
+        # word splitting, command substitution and variable expansion
+        # for a subsequent eval.
+        # Many Bourne shells cannot handle close brackets correctly
+        # in scan sets, so we specify it separately.
+        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \  ]*|*]*|"")
+          my_quoted_arg="\"$my_unquoted_arg\""
+          ;;
+        *)
+          my_quoted_arg="$my_unquoted_arg" ;;
+      esac
+      test -n "$func_quote_for_eval_result" \
+          && func_append func_quote_for_eval_result " "
+      func_append func_quote_for_eval_result "$my_quoted_arg"
+      shift
+    done
+}
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    $debug_cmd
+
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_eval $my_cmd
+      eval func_truncate_cmd $func_quote_for_eval_result
+      func_echo "running: $func_truncate_cmd_result"
+    }
+
+    ${opt_dry_run-false} || {
+      eval "$my_cmd"
+      my_status=$?
+      test "$my_status" -eq 0 || eval "(exit $my_status); $my_fail_exp"
+    }
+}
+
+
+# func_truncate_cmd CMD [ARG]...
+# ------------------------------
+# For unreasonably long commands (such as a gnulib-tool invocation with
+# the full module list for import), truncate CMD after the second non-
+# option ARG.
+func_truncate_cmd ()
+{
+    $debug_cmd
+
+    my_last_arg_opt_p=false
+    func_truncate_cmd_result=
+
+    set dummy "$@"; shift
+
+    while test $# -gt 0; do
+      my_opt="$1"; shift
+
+      test -n "$func_truncate_cmd_result" \
+          && func_append func_truncate_cmd_result ' '
+      func_append func_truncate_cmd_result "$my_opt"
+
+      func_len "x$func_truncate_cmd_result"
+
+      case $my_opt in
+        -*) my_last_arg_opt_p=: ;;
+        *)  $my_last_arg_opt_p \
+                || test $min_cmd_len -gt $func_len_result \
+                || break
+            my_last_arg_opt_p=false
+            ;;
+      esac
+    done
+
+    test $# -gt 0 && func_append func_truncate_cmd_result "..."
+}
+
+
+# func_extract_trace MACRO_NAME [FILENAME]...
+# -------------------------------------------
+# set `$func_extract_trace_result' to a colon delimited list of
+# arguments to MACRO_NAME in FILENAME. If no FILENAME is not given,
+# then `configure.ac' is assumed.
+func_extract_trace ()
+{
+    $debug_cmd
+
+    $require_configure_ac
+    $require_gnu_m4
+
+    my_macro="$1"; shift
+    test $# -gt 0 || {
+      set dummy $configure_ac
+      shift
+    }
+
+    # Generate an error if the first file is missing
+    <"$1"
+
+    # Sadly, we can't use `autom4te' tracing to extract macro
+    # arguments, because it complains about things we want to
+    # ignore at bootstrap time - like missing m4_include files;
+    # AC_PREREQ being newer than the installed autoconf; and
+    # returns nothing when tracing `AM_INIT_AUTOMAKE' when
+    # aclocal hasn't been generated yet.
+    #
+    # The following tries to emulate a less persnickety version
+    # of (and due to not having to wait for Perl startup on
+    # every invocation, it's probably faster too):
+    #
+    #    autom4te --language=Autoconf --trace=$my_macro:\$% "$@"
+    #
+    # First we give a minimal set of macro declarations to M4
+    # to prime it for reading Autoconf macros, while still
+    # providing some of the functionality generally used at
+    # m4-time to supply dynamic arguments to Autocof functions,
+    # but without following `m4_s?include' files.
+    #
+    # We discard M4's stdout, but the M4 trace output from reading
+    # our "autoconf.mini" followed by any other files passed to
+    # this function is then scanned by sed to transform it into
+    # a colon delimited argument list assigned to a shell variable.
+    #
+    # Finally, we `eval' the sed generated assignment to get
+    # the result back into this script for further use by callers
+    # of this function.
+
+    func_extract_trace_result=
+    eval `echo '
+        # Initialisation.
+        m4_changequote([,])
+        m4_define([m4_copy],   [m4_define([$2], m4_defn([$1]))])
+        m4_define([m4_rename], [m4_copy([$1], [$2])m4_undefine([$1])])
+
+        # Disable these macros.
+        m4_undefine([m4_dnl])
+        m4_undefine([m4_include])
+        m4_undefine([m4_m4exit])
+        m4_undefine([m4_m4wrap])
+        m4_undefine([m4_maketemp])
+
+        # Copy and rename macros not handled by "m4 --prefix".
+        m4_define([dnl],         [m4_builtin([dnl])])
+        m4_copy([m4_define],     [m4_defun])
+        m4_rename([m4_ifelse],   [m4_if])
+        m4_ifdef([m4_mkstemp],   [m4_undefine([m4_mkstemp])])
+        m4_rename([m4_patsubst], [m4_bpatsubst])
+        m4_rename([m4_regexp],   [m4_bregexp])
+
+        # "m4sugar.mini" - useful m4-time macros for dynamic arguments.
+        # If we discover packages that need more m4 macros defined in
+        # order to bootstrap correctly, add them here:
+        m4_define([m4_bmatch],
+            [m4_if([$#], 0, [], [$#], 1, [], [$#], 2, [$2],
+                   [m4_if(m4_bregexp([$1], [$2]), -1,
+                          [$0([$1], m4_shift3($@))], [$3])])])
+        m4_define([m4_ifndef], [m4_ifdef([$1], [$3], [$2])])
+        m4_define([m4_ifset],
+            [m4_ifdef([$1], [m4_ifval(m4_defn([$1]), [$2], [$3])], [$3])])
+        m4_define([m4_require], [$1])
+        m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))])
+
+        # "autoconf.mini" - things from autoconf macros we care about.
+        m4_copy([m4_defun], [AC_DEFUN])
+
+        # Dummy definition for the macro we want to trace.
+        # AM_INIT_AUTOMAKE at least produces no trace without this.
+        AC_DEFUN(['"$my_macro"'])' \
+    |$M4 -daq --prefix --trace="$my_macro" - "$@" 2>&1 1>/dev/null \
+    |$SED -n 's|#.*$||
+        /^m4trace: -1- '"$my_macro"'/ {
+          s|^m4trace: -1- '"$my_macro"'[([]*|func_extract_trace_result='\''|
+          s|], [[]|:|g
+          s|[])]*$|:'\''|
+          s|[^'\'']$|\&'\''|
+          p
+        }'`
+
+    # Leave the ':' sentinel in place for successfully traced macros
+    # without arguments, otherwise remove it so that the results of
+    # single-argument macros can be used without additional parsing.
+    test : = "$func_extract_trace_result" \
+        || func_extract_trace_result=`echo "$func_extract_trace_result" |$SED 
's|:$||'`
+}
+
+
+# func_insert_sorted_if_absent STR FILE...
+# ----------------------------------------
+# If $STR is not already on a line by itself in $FILE, insert it,
+# sorting the new contents of the file and replacing $FILE with the result.
+func_insert_sorted_if_absent ()
+{
+    $debug_cmd
+
+    str=$1
+    shift
+
+    for file
+    do
+      test -f $file || touch $file
+
+      func_grep_q "$str" "$file" \
+          && func_verbose "inserting \`$str' into \`$file'"
+
+      echo "$str" |sort -u - $file |func_cmp_s - $file \
+        || echo "$str" |sort -u - $file -o $file \
+        || func_permissions_error "$file"
+    done
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()  # sort -V is not generally available
+{
+    $debug_cmd
+
+    ver1="$1"
+    ver2="$2"
+
+    # Split on '.' and compare each component.
+    i=1
+    while : ; do
+      p1=`echo "$ver1" |cut -d. -f$i`
+      p2=`echo "$ver2" |cut -d. -f$i`
+      if test ! "$p1"; then
+        echo "$1 $2"
+        break
+      elif test ! "$p2"; then
+        echo "$2 $1"
+        break
+      elif test ! "$p1" = "$p2"; then
+        if test "$p1" -gt "$p2" 2>/dev/null; then # numeric comparison
+          echo "$2 $1"
+        elif test "$p2" -gt "$p1" 2>/dev/null; then # numeric comparison
+          echo "$1 $2"
+        else # numeric, then lexicographic comparison
+          lp=`printf "$p1\n$p2\n" |sort -n |tail -n1`
+          if test "$lp" = "$p2"; then
+            echo "$1 $2"
+          else
+            echo "$2 $1"
+          fi
+        fi
+        break
+      fi
+      i=`expr $i + 1`
+    done
+}
+
+
+# func_get_version APP
+# --------------------
+# echo the version number (if any) of APP, which is looked up along your
+# PATH.
+func_get_version ()
+{
+    $debug_cmd
+
+    app=$1
+
+    { $app --version || $app --version </dev/null; } >/dev/null 2>&1 \
+      || return 1
+
+    $app --version 2>&1 \
+    |$SED -n '# extract version within line
+          s|.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1|
+          t done
+
+          # extract version at start of line
+          s|^\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1|
+          t done
+
+          d
+
+          :done
+          #the following essentially does s|5.005|5.5|
+          s|\.0*\([1-9]\)|.\1|g
+          p
+          q'
+}
+
+
+# func_check_versions APP1 VER1 URL1 ...[APPN VERN URLN]
+# ------------------------------------------------------
+func_check_versions ()
+{
+    $debug_cmd
+
+    func_check_versions_result=:
+
+    while test $# -gt 0; do
+      my_app="$1"; shift
+      my_reqver="$1"; shift
+      my_url="$1"; shift
+
+      # Honor $APP variables ($TAR, $AUTOCONF, etc.)
+      my_appvar=`echo $my_app |tr '[a-z]' '[A-Z]'`
+      test "$my_appvar" = TAR && my_appvar=AMTAR
+      eval "my_app=\${$my_appvar-$my_app}"
+      my_instver=`func_get_version $my_app`
+
+      test -z "$my_instver" \
+          || func_verbose "found \`$my_app' version $my_instver"
+
+      # Fail if --version didn't work.
+      if test -z "$my_instver"; then
+        func_error "error: \`$my_app' not found"
+        func_check_versions_result=false
+
+      # Fail if a new version than what we have is required.
+      elif test "$my_reqver" != "-"; then
+        my_newer=`func_sort_ver $my_reqver $my_instver |cut -d' ' -f2`
+        test "$my_newer" != "$my_instver" && {
+          func_error "\
+error: \`$my_app' version == $my_instver is too old
+       \`$my_app' version >= $my_reqver is required"
+          func_check_versions_result=false
+        }
+      fi
+    done
+}
+
+
+# func_cleanup_gnulib
+# -------------------
+# Recursively delete everything below the path in the global variable
+# GNULIB_PATH.
+func_cleanup_gnulib ()
+{
+    $debug_cmd
+
+    my_status=$?
+    $RM -fr "$gnulib_path"
+    exit $my_status
+}
+
+
+# func_download_po_files SUBDIR DOMAIN
+# ------------------------------------
+func_download_po_files ()
+{
+    $debug_cmd
+
+    func_echo "getting translations into $1 for $2..."
+    cmd=`printf "$po_download_command_format" "$2" "$1"`
+    eval "$cmd"
+}
+
+
+# func_find_tool ENVVAR NAMES...
+# ------------------------------
+# Search for a required program.  Use the value of ENVVAR, if set,
+# otherwise find the first of the NAMES that can be run (i.e.,
+# supports --version).  If found, set ENVVAR to the program name,
+# die otherwise.
+func_find_tool ()
+{
+    $debug_cmd
+
+    find_tool_envvar=$1
+    shift
+    find_tool_names=$@
+    eval "find_tool_res=\$$find_tool_envvar"
+    if test x"$find_tool_res" = x; then
+      for i
+      do
+        if ($i --version </dev/null) >/dev/null 2>&1; then
+          find_tool_res=$i
+          break
+        fi
+      done
+    else
+      find_tool_error_prefix="\$$find_tool_envvar: "
+    fi
+    test x"$find_tool_res" = x && func_fatal_error "\
+error: One of these is required:
+       $find_tool_names"
+
+    ($find_tool_res --version </dev/null) >/dev/null 2>&1 \
+      || func_fatal_error "\
+error: ${find_tool_error_prefix}Cannot run \`$find_tool_res --version'"
+
+    eval "$find_tool_envvar=\$find_tool_res"
+    eval "export $find_tool_envvar"
+}
+
+
+# func_update_po_files PO_DIR DOMAIN
+# ----------------------------------
+# Mirror .po files to $po_dir/.reference and copy only the new
+# or modified ones into $po_dir.  Also update $po_dir/LINGUAS.
+# Note po files that exist locally only are left in $po_dir but will
+# not be included in LINGUAS and hence will not be distributed.
+func_update_po_files ()
+{
+    $debug_cmd
+
+    # Directory containing primary .po files.
+    # Overwrite them only when we're sure a .po file is new.
+    po_dir=$1
+    domain=$2
+
+    # Mirror *.po files into this dir.
+    # Usually contains *.s1 checksum files.
+    ref_po_dir="$po_dir/.reference"
+
+    test -d $ref_po_dir || mkdir $ref_po_dir || return
+    func_download_po_files $ref_po_dir $domain \
+      && ls "$ref_po_dir"/*.po 2>/dev/null \
+         |$SED 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
+
+    # Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6.
+    func_find_tool SHA1SUM sha1sum gsha1sum shasum
+
+    langs=`cd $ref_po_dir && echo *.po|$SED 's|\.po||g'`
+    test "$langs" = '*' && langs=x
+    for po in $langs; do
+      case $po in x) continue;; esac
+      new_po="$ref_po_dir/$po.po"
+      cksum_file="$ref_po_dir/$po.s1"
+      if ! test -f "$cksum_file" ||
+          ! test -f "$po_dir/$po.po" ||
+          ! $SHA1SUM -c --status "$cksum_file" \
+              < "$new_po" > /dev/null; then
+        echo "updated $po_dir/$po.po..."
+        cp "$new_po" "$po_dir/$po.po" \
+          && $SHA1SUM < "$new_po" > "$cksum_file"
+      fi
+    done
+}
+
+
+
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
+
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77      # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Allow overriding, eg to get a function call trace:
+#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash bootstrap
+debug_cmd="${debug_cmd-:}"
+exit_cmd=:
+
+dirname='s|/[^/]*$||'
+basename='s|^.*/||'
+
+nl='
+'
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program.
+progname=`echo "$progpath" |$SED "$basename"`
+
+## -------------------------------------------------- ##
+## Source package customisations in `bootstrap.conf'. ##
+## -------------------------------------------------- ##
+
+# Override the default configuration, if necessary.
+# Make sure that bootstrap.conf is sourced from the current directory
+# if we were invoked as "sh bootstrap".
+case $0 in
+  */*) test -r "$0.conf" && . "$0.conf" ;;
+  *) test -r "$0.conf" && . ./"$0.conf" ;;
+esac
+
+
+## ------------------------------- ##
+## Actually perform the bootstrap. ##
+## ------------------------------- ##
+
+func_bootstrap ${1+"$@"}
+
+# The End.
+exit $exit_status
 
-exit 0
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/bootstrap.conf b/bootstrap.conf
new file mode 100644
index 0000000..4650003
--- /dev/null
+++ b/bootstrap.conf
@@ -0,0 +1,449 @@
+# bootstrap.conf (GNU Libtool) version 2011-10-19
+#
+# Copyright (C) 2010 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2010
+
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from  http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+## -------------------------------- ##
+## User overrideable command paths. ##
+## -------------------------------- ##
+
+: "${MAKE=make}"
+
+export MAKE
+
+
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# List of programs (and minimum versions) required to bootstrap, maintain
+# and release Libtool.
+buildreq="
+        help2man   1.29        http://www.gnu.org/software/help2man
+        makeinfo   4.8         http://www.gnu.org/software/texinfo
+        xz         4.999.8beta http://tukaani.org/xz
+"
+
+# Instructions on how to install packages in $buildreq.
+buildreq_readme=HACKING
+
+# Non-default gnulib directory options.
+local_gl_dir=gl
+
+# Additional gnulib-tool options to use.
+gnulib_tool_options=$gnulib_tool_options"
+        --avoid=dummy
+        --libtool
+        --macro-prefix=GL
+"
+
+# gnulib modules used by this package.
+gnulib_modules='
+        maintainer-makefile
+'
+
+# Extra gnulib files that are not in modules, which override files of
+# the same name installed by other bootstrap tools.
+gnulib_non_module_files="$gnulib_non_module_files"'
+        doc/COPYINGv2
+        doc/fdl.texi
+'
+
+# What ignore files to maintain.
+vc_ignore=".gitignore"
+
+# Running the installed `libtoolize' will trash the local (newer) libtool.m4
+# among others.  Don't use `:', since autoreconf can't exec it!
+LIBTOOLIZE=true
+
+# List of file droppings from old releases of Libtool.
+libtool_obsolete_files="
+        acinclude.m4
+        argz.c
+        libltdl/config.h
+        lt__dirent.c
+        lt__strl.c
+"
+
+# The not-synced with gnulib warning is bogus until upstream adopts
+# the saner bootstrap script.
+require_bootstrap_uptodate=:
+
+
+## ------------------- ##
+## Override functions. ##
+## ------------------- ##
+
+# func_reconfigure
+# ----------------
+# In addition to needing to autoreconf several directories, Libtool
+# provides `libtoolize' and doesn't use `autopoint', so we can use a
+# somewhat simpler `func_reconfigure' implementation.
+func_reconfigure ()
+{
+    $debug_cmd
+
+    $require_autoheader
+    $require_build_aux
+    $require_macro_dir
+
+    # Only need this from the top level directory
+    func_gnulib_tool
+
+    export LIBTOOLIZE
+    func_verbose "export LIBTOOLIZE='$LIBTOOLIZE'"
+
+    # Also bootstrap any additional directories that were specified with
+    # `reconfdirs' in the environment.
+    save_IFS="$IFS"
+    IFS=,
+    for sub in $opt_reconf_dirs; do
+      IFS="$save_IFS"
+      my_autoreconf_options=
+      $opt_copy || func_append my_autoreconf_options " --symlink"
+      $opt_force && func_append my_autoreconf_options " --force"
+      $opt_verbose && func_append my_autoreconf_options " --verbose"
+      func_show_eval "$AUTORECONF$my_autoreconf_options --install $sub" \
+        'exit $?'
+    done
+    IFS="$save_IFS"
+}
+
+
+
+## --------------- ##
+## Hook functions. ##
+## --------------- ##
+
+# `bootstrap' itself takes care of the arguments it recognises, so we only
+# have to handle additional options here.  Setting exit_cmd to anything
+# other than `:', will tell `bootstrap' to exit after printing it's own
+# option loop parser errors.  Best not to use any time-consuming $require_
+# functions here, otherwise they will be run even if we only need to
+# process `--version'.
+
+# libtool_options_prep [ARG...]
+# -----------------------------
+# Preparation for supporting additional options in Libtool bootstrap,
+# before the option parsing loop.
+libtool_options_prep ()
+{
+    $debug_cmd
+
+    # Extend the existing usage message
+    usage_message="$usage_message"'
+Libtool Specific Options:
+  -r, --reconf-dirs=DIR1,DIR2,...
+                          limit the directories to be bootstrapped to
+                          the comma-delimited list of DIR1,DIR2,...
+'
+
+    # autoreconf all directories by default
+    test -n "$reconfdirs" \
+      || reconfdirs=". libltdl `ls -1d tests/*demo tests/*demo[0-9]`"
+
+    # pass back the list of options we consumed
+    func_quote_for_eval ${1+"$@"}
+    func_run_hooks_result="$func_quote_for_eval_result"
+}
+func_add_hook func_options_prep libtool_options_prep
+
+
+# libtool_parse_options [ARG...]
+# ------------------------------
+# Provide handling for additional Libtool options inside the main option
+# parsing loop.  Note that `bootstrap' passes in the current positional
+# parameters, and this function has to pass back whatever is left after
+# its own processing in the `func_run_hooks_result' variable.
+libtool_parse_options ()
+{
+    $debug_cmd
+
+    # this inner loop lets us handle `-r.' in a single iteration
+    while test $# -gt 0; do
+      opt="$1"
+      shift
+
+      case $opt in
+        --reconf-dirs|--reconfdirs|-r)
+              test $# = 0 && func_missing_arg $opt && break
+              # squash spaces so that delimiter is just `,' and nothing else
+              opt_reconf_dirs=`echo "$1" |$SED 's|,  *|,|g'`
+              shift
+              ;;
+
+        # Separate arguments to short options:
+        -r*)  func_split_short_opt "$opt"
+              set dummy "$func_split_short_opt_name" 
"$func_split_short_opt_arg" ${1+"$@"}
+              shift
+              ;;
+
+        *)    set dummy "$opt" ${1+"$@"}; shift; break ;;
+      esac
+    done
+
+    # pass back the list of options we consumed
+    func_quote_for_eval ${1+"$@"}
+    func_run_hooks_result="$func_quote_for_eval_result"
+}
+func_add_hook func_parse_options libtool_parse_options
+
+
+# libtool_validate_options [ARG...]
+# ---------------------------------
+# Validation of additional Libtool bootstrap options, after the main option
+# parsing loop.
+libtool_validate_options ()
+{
+    # support the old interface too: `reconfdirs='. libltdl' ./bootstrap'
+    test -n "$opt_reconf_dirs" \
+      || opt_reconf_dirs=`echo $reconfdirs |$SED 's|  *|,|g'`
+
+    # validate $opt_reconf_dirs
+    save_IFS="$IFS"
+    IFS=,
+    for reconfdir in $opt_reconf_dirs; do
+      IFS="$save_IFS"
+      test -d "$reconfdir" || {
+        func_error "bad reconf directory \`$reconfdir': directory does not 
exist"
+        exit_cmd=exit
+      }
+    done
+    IFS="$save_IFS"
+
+    # pass back the list of options we consumed
+    func_quote_for_eval ${1+"$@"}
+    func_run_hooks_result="$func_quote_for_eval_result"
+}
+func_add_hook func_validate_options libtool_validate_options
+
+
+## ---------------------------- ##
+## Libtool bootstrap functions. ##
+## ---------------------------- ##
+
+# libtool_prep
+# ------------
+# Libtool bootstrap initialisation after successful option parse and
+# validation.
+libtool_prep ()
+{
+    # initial clean-up of checked out tree
+    find . -depth \( -name autom4te.cache -o -name libtool \) -print \
+      | grep -v '{arch}' \
+      | xargs rm -rf
+
+    # remove obsolete file droppings from old Libtool versions
+    for file in $libtool_obsolete_files; do
+      rm -f $file
+    done
+}
+func_add_hook func_prep libtool_prep
+
+
+# libtool_build_prerequisites
+# ---------------------------
+# Libtool generates some files that are required before any autotools
+# can be run successfully.
+libtool_build_prerequisites ()
+{
+    $debug_cmd
+
+    $require_build_aux
+    $require_macro_dir
+    $require_package
+    $require_package_bugreport
+    $require_package_name
+    $require_package_url
+    $require_package_version
+
+    func_extract_trace LT_CONFIG_LTDL_DIR
+
+    save_ifs="$IFS"
+    IFS=:
+    set dummy $func_extract_trace_result
+    IFS="$save_ifs"
+    shift
+
+    ltdl_dir="$1"
+    func_check_configuration ltdl_dir \
+        "LT_CONFIG_LTDL_DIR([name of your libltdl directory])"
+    func_verbose "ltdl_dir='$ltdl_dir'"
+
+    # Whip up a dirty Makefile:
+    makes='Makefile.am libltdl/Makefile.inc'
+    rm -f Makefile
+    {
+      echo "aux_dir = $build_aux"
+      echo "ltdl_dir = $ltdl_dir"
+      echo "macro_dir = $macro_dir"
+      $SED '/^if /,/^endif$/d;/^else$/,/^endif$/d;/^include /d' $makes
+    } > Makefile
+
+    # Building distributed files from configure is bad for automake, so we
+    # generate them here, and have Makefile rules to keep them up to date.
+    func_echo "running: $MAKE bootstrap-deps ..."
+    $opt_dry_run || {
+    output=`$MAKE bootstrap-deps  \
+        M4SH="$AUTOM4TE --language=m4sh" PACKAGE="$package" \
+        PACKAGE_BUGREPORT="$package_bugreport" PACKAGE_NAME="$package_name" \
+        PACKAGE_URL="$package_url" SED="$SED" srcdir=. \
+        VERSION="$package_version" 2>&1`
+    }
+    status=$?
+
+    test 0 -eq "$status" || echo "$output"
+    rm -f Makefile
+    test 0 -eq "$status" ||exit $EXIT_FAILURE
+}
+func_add_hook func_prep libtool_build_prerequisites
+
+
+# libtool_add_libltdl_copying
+# ---------------------------
+# Use the canonical COPYING.LESSERv2 from gnulib.
+libtool_add_libltdl_copying ()
+{
+    $debug_cmd
+
+    func_gnulib_tool_copy_file doc/COPYING.LESSERv2 libltdl/COPYING.LIB
+}
+func_add_hook func_gnulib_tool libtool_add_libltdl_copying
+
+
+# libtool_fudge_timestamps
+# ------------------------
+# Autoheader valiantly tries to prevent needless reconfigurations by
+# not changing the timestamp of config-h.in unless the file contents
+# are updated.  Unfortunately config-h.in depends on aclocal.m4 which
+# *is* updated, so running 'libtoolize --ltdl=. && configure && make'
+# causes autoheader to be called... undesireable for users that do not
+# have it!  Fudge the timestamp to prevent that:
+libtool_fudge_timestamps ()
+{
+    $debug_cmd
+
+    sleep 2 && touch libltdl/config-h.in
+}
+func_add_hook func_fini libtool_fudge_timestamps
+
+
+# libtool_cleanup
+# ---------------
+libtool_cleanup ()
+{
+    $debug_cmd
+
+    # These files can cause an infinite configure loop if left behind.
+    rm -f Makefile libltdl/Makefile libtool vcl.tmp
+}
+func_add_hook func_fini libtool_cleanup
+
+
+# libtool_check_for_bogus_macros
+# ------------------------------
+# Try to catch the case where `aclocal' pulls installed libtool macro
+# file contents from another version of libtool into the current package
+# `aclocal.m4'.
+libtool_check_for_bogus_macros ()
+{
+    $debug_cmd
+
+    $opt_dry_run ||
+        for macro in LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL; do
+          if grep $macro aclocal.m4 libltdl/aclocal.m4; then
+            func_fatal_error "Bogus $macro macro contents in an aclocal.m4 
file"
+          else :; fi
+        done
+}
+func_add_hook func_fini libtool_check_for_bogus_macros
+
+
+# libtool_cleanup_empty_dirs
+# --------------------------
+# Gnulib leaves behind a few files we don't need.
+libtool_cleanup_empty_dirs ()
+{
+    $debug_cmd
+
+    rm lib/.gitignore lib/Makefile.am || exit 1
+    rmdir lib || exit 1
+}
+func_add_hook func_fini libtool_cleanup_empty_dirs
+
+
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# require_package_url
+# -------------------
+# Ensure that package_url has a sensible default.
+require_package_url=libtool_require_package_url
+libtool_require_package_url ()
+{
+    $require_configure_ac
+
+    func_extract_trace AC_INIT
+    
+    save_IFS="$IFS"
+    IFS=:
+    set dummy $func_extract_trace_result
+    IFS="$save_IFS"
+    shift
+
+    test -n "$package_url " || package_url="$5"
+    test -n "$package_url" || {
+      # How to extract the parameters for `make bootstrap-deps' from
+      # configure.ac.  This is very specific to the way Libtool's
+      # configure.ac layout.
+      sed_extract_package_url='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,,;
+        /AC_SUBST([[]*PACKAGE_URL/{
+            s|.*AC_SUBST([[     ]*PACKAGE_URL[]         ]*,[[   
]*|package_url="|
+            s|[])       ]*$|"|
+            p
+        }'
+
+      # Extract package_url setting from configure.ac.
+      eval `$SED -n "$sed_extract_package_url" < configure.ac`
+    }
+
+    test -n "$package_url" \
+      || func_fatal_error "unable to determine \`package_url' from 
\`$configure_ac'."
+
+    func_verbose "package_url='$package_url'"
+
+    require_package_url=:
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "# bootstrap.conf (GNU Libtool) version "
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "$"
+# End:
diff --git a/cfg.mk b/cfg.mk
new file mode 100644
index 0000000..f2a712a
--- /dev/null
+++ b/cfg.mk
@@ -0,0 +1,72 @@
+# cfg.mk -- Configuration for maintainer-makefile
+#
+#   Copyright (c) 2011 Free Software Foundation, Inc.
+#   Written by Gary V. Vaughan, 2011
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downlodad from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Boston, # MA 02111-1301, USA.
+
+gnulib_dir = $(srcdir)/gnulib
+_build-aux = libltdl/config
+
+# Set format of NEWS
+old_NEWS_hash := d41d8cd98f00b204e9800998ecf8427e
+
+# Don't syntax check the mail subdirectory.
+VC_LIST_ALWAYS_EXCLUDE_REGEX = /mail/
+
+local-checks-to-fix =                          \
+       sc_file_system                          \
+       sc_m4_quote_check                       \
+       sc_makefile_TAB_only_indentation        \
+       sc_makefile_at_at_check                 \
+       sc_prohibit_always-defined_macros       \
+       sc_prohibit_always_true_header_tests    \
+       sc_prohibit_cvs_keyword                 \
+       sc_prohibit_doubled_word                \
+       sc_prohibit_empty_lines_at_EOF          \
+       sc_prohibit_have_config_h               \
+       sc_prohibit_magic_number_exit           \
+       sc_prohibit_stddef_without_use          \
+       sc_prohibit_strcmp                      \
+       sc_prohibit_test_minus_ao               \
+       sc_prohibit_undesirable_word_seq        \
+       sc_require_config_h                     \
+       sc_require_config_h_first               \
+       sc_space_tab                            \
+       sc_trailing_blank                       \
+       sc_unmarked_diagnostics                 \
+       sc_useless_cpp_parens
+
+local-checks-to-skip =                         \
+       $(local-checks-to-fix)                  \
+       sc_GPL_version                          \
+       sc_avoid_if_before_free                 \
+       sc_bindtextdomain                       \
+       sc_cast_of_argument_to_free             \
+       sc_cast_of_x_alloc_return_value         \
+       sc_error_message_uppercase              \
+       sc_program_name
+
+# GPL_version: checks for GPLv3, which we don't use
+# avoid_if_before_free: we don't use the gnulib malloc modules
+# bindtextdomain: libtool isn't internationalized
+# cast_of_argument_to_free: ditto
+# cast_of_x_alloc_return_value: ditto
+# error_message_uppercase: we like our error messages
+# program_name: libtool has no programs!
diff --git a/configure.ac b/configure.ac
index 546cb5a..5f052b0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,8 +34,20 @@ dnl Oldest automake required for bootstrap is below in 
AM_INIT_AUTOMAKE.
 AC_INIT([GNU Libtool], [2.4.3a], address@hidden)
 m4_ifndef([AC_PACKAGE_URL],
          [AC_SUBST([PACKAGE_URL], [http://www.gnu.org/software/libtool/])])
+
+# Since we already declare these directories in this file, save those
+# choices, and push the results into Makefile.am to avoid declaring
+# them in two places making renames error prone, and where copies
+# might get out of sync.
+m4_define([AC_CONFIG_AUX_DIR],
+     m4_defn([AC_CONFIG_AUX_DIR])[AC_SUBST([aux_dir], ['${srcdir}/$1'])])
+m4_define([LT_CONFIG_LTDL_DIR],
+     m4_defn([LT_CONFIG_LTDL_DIR])[AC_SUBST([ltdl_dir], ['${srcdir}/$1'])])
+m4_define([AC_CONFIG_MACRO_DIR],
+     m4_defn([AC_CONFIG_MACRO_DIR])[AC_SUBST([macro_dir], ['${srcdir}/$1'])])
+
 AC_CONFIG_HEADERS([config.h:config-h.in])
-AC_CONFIG_SRCDIR([libtoolize.in])
+AC_CONFIG_SRCDIR([libtoolize.m4sh])
 LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive])
 AC_CONFIG_AUX_DIR([libltdl/config])
 AC_CONFIG_MACRO_DIR([libltdl/m4])
@@ -182,6 +194,7 @@ AC_SUBST([DIST_MAKEFILE_LIST])
 # a good C compiler: if the following C++ tests fail, the whole libtool
 # build fails!
 AC_PROG_CC
+GL_EARLY
 AM_PROG_CC_C_O
 AC_PROG_CPP
 
@@ -242,6 +255,11 @@ else
 fi
 AC_SUBST([ORDER])
 
+## ---------------------- ##
+## Gnulib initialisation. ##
+## ---------------------- ##
+GL_INIT
+
 ## ------------- ##
 ## Documentation ##
 ## ------------- ##
diff --git a/doc/.gitignore b/doc/.gitignore
index 5d0e852..8d60e81 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -1,9 +1,6 @@
-stamp-vti
-version.texi
-notes.txt
-*.dvi
-*.info*
-*.html
-*.ps
-*.pdf
-*.1
+/*.1
+/*.html
+/fdl.texi
+/gendocs_template
+/notes.txt
+/version.texi
diff --git a/doc/fdl.texi b/doc/fdl.texi
deleted file mode 100644
index 8805f1a..0000000
--- a/doc/fdl.texi
+++ /dev/null
@@ -1,506 +0,0 @@
address@hidden The GNU Free Documentation License.
address@hidden Version 1.3, 3 November 2008
-
address@hidden This file is intended to be included within another document,
address@hidden hence no sectioning command or @node.
-
address@hidden
-Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, 
Inc.
address@hidden://fsf.org/}
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
address@hidden display
-
address@hidden 0
address@hidden
-PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document @dfn{free} in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of ``copyleft'', which means that derivative
-works of the document must themselves be free in the same sense.  It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does.  But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book.  We recommend this License
-principally for works whose purpose is instruction or reference.
-
address@hidden
-APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License.  Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein.  The ``Document'', below,
-refers to any such manual or work.  Any member of the public is a
-licensee, and is addressed as ``you''.  You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A ``Modified Version'' of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A ``Secondary Section'' is a named appendix or a front-matter section
-of the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall
-subject (or to related matters) and contains nothing that could fall
-directly within that overall subject.  (Thus, if the Document is in
-part a textbook of mathematics, a Secondary Section may not explain
-any mathematics.)  The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The ``Invariant Sections'' are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.  If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant.  The Document may contain zero
-Invariant Sections.  If the Document does not identify any Invariant
-Sections then there are none.
-
-The ``Cover Texts'' are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.  A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A ``Transparent'' copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters.  A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text.  A copy that is not ``Transparent'' is called ``Opaque''.
-
-Examples of suitable formats for Transparent copies include plain
address@hidden without markup, Texinfo input format, address@hidden input
-format, @acronym{SGML} or @acronym{XML} using a publicly available
address@hidden, and standard-conforming simple @acronym{HTML},
-PostScript or @acronym{PDF} designed for human modification.  Examples
-of transparent image formats include @acronym{PNG}, @acronym{XCF} and
address@hidden  Opaque formats include proprietary formats that can be
-read and edited only by proprietary word processors, @acronym{SGML} or
address@hidden for which the @acronym{DTD} and/or processing tools are
-not generally available, and the machine-generated @acronym{HTML},
-PostScript or @acronym{PDF} produced by some word processors for
-output purposes only.
-
-The ``Title Page'' means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page.  For works in
-formats which do not have any title page as such, ``Title Page'' means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-The ``publisher'' means any person or entity that distributes copies
-of the Document to the public.
-
-A section ``Entitled XYZ'' means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language.  (Here XYZ stands for a
-specific section name mentioned below, such as ``Acknowledgements'',
-``Dedications'', ``Endorsements'', or ``History''.)  To ``Preserve the Title''
-of such a section when you modify the Document means that it remains a
-section ``Entitled XYZ'' according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document.  These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
address@hidden
-VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License.  You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute.  However, you may accept
-compensation in exchange for copies.  If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
address@hidden
-COPYING IN QUANTITY
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover.  Both covers must also clearly and legibly identify
-you as the publisher of these copies.  The front cover must present
-the full title with all words of the title equally prominent and
-visible.  You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
address@hidden
-MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it.  In addition, you must do these things in the Modified Version:
-
address@hidden A
address@hidden
-Use in the Title Page (and on the covers, if any) a title distinct
-from that of the Document, and from those of previous versions
-(which should, if there were any, be listed in the History section
-of the Document).  You may use the same title as a previous version
-if the original publisher of that version gives permission.
-
address@hidden
-List on the Title Page, as authors, one or more persons or entities
-responsible for authorship of the modifications in the Modified
-Version, together with at least five of the principal authors of the
-Document (all of its principal authors, if it has fewer than five),
-unless they release you from this requirement.
-
address@hidden
-State on the Title page the name of the publisher of the
-Modified Version, as the publisher.
-
address@hidden
-Preserve all the copyright notices of the Document.
-
address@hidden
-Add an appropriate copyright notice for your modifications
-adjacent to the other copyright notices.
-
address@hidden
-Include, immediately after the copyright notices, a license notice
-giving the public permission to use the Modified Version under the
-terms of this License, in the form shown in the Addendum below.
-
address@hidden
-Preserve in that license notice the full lists of Invariant Sections
-and required Cover Texts given in the Document's license notice.
-
address@hidden
-Include an unaltered copy of this License.
-
address@hidden
-Preserve the section Entitled ``History'', Preserve its Title, and add
-to it an item stating at least the title, year, new authors, and
-publisher of the Modified Version as given on the Title Page.  If
-there is no section Entitled ``History'' in the Document, create one
-stating the title, year, authors, and publisher of the Document as
-given on its Title Page, then add an item describing the Modified
-Version as stated in the previous sentence.
-
address@hidden
-Preserve the network location, if any, given in the Document for
-public access to a Transparent copy of the Document, and likewise
-the network locations given in the Document for previous versions
-it was based on.  These may be placed in the ``History'' section.
-You may omit a network location for a work that was published at
-least four years before the Document itself, or if the original
-publisher of the version it refers to gives permission.
-
address@hidden
-For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
-the Title of the section, and preserve in the section all the
-substance and tone of each of the contributor acknowledgements and/or
-dedications given therein.
-
address@hidden
-Preserve all the Invariant Sections of the Document,
-unaltered in their text and in their titles.  Section numbers
-or the equivalent are not considered part of the section titles.
-
address@hidden
-Delete any section Entitled ``Endorsements''.  Such a section
-may not be included in the Modified Version.
-
address@hidden
-Do not retitle any existing section to be Entitled ``Endorsements'' or
-to conflict in title with any Invariant Section.
-
address@hidden
-Preserve any Warranty Disclaimers.
address@hidden enumerate
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant.  To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled ``Endorsements'', provided it contains
-nothing but endorsements of your Modified Version by various
-parties---for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version.  Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity.  If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
address@hidden
-COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy.  If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled ``History''
-in the various original documents, forming one section Entitled
-``History''; likewise combine any sections Entitled ``Acknowledgements'',
-and any sections Entitled ``Dedications''.  You must delete all
-sections Entitled ``Endorsements.''
-
address@hidden
-COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
address@hidden
-AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an ``aggregate'' if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
address@hidden
-TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections.  You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers.  In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled ``Acknowledgements'',
-``Dedications'', or ``History'', the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
address@hidden
-TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense, or distribute it is void, and
-will automatically terminate your rights under this License.
-
-However, if you cease all violation of this License, then your license
-from a particular copyright holder is reinstated (a) provisionally,
-unless and until the copyright holder explicitly and finally
-terminates your license, and (b) permanently, if the copyright holder
-fails to notify you of the violation by some reasonable means prior to
-60 days after the cessation.
-
-Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, receipt of a copy of some or all of the same material does
-not give you any rights to use it.
-
address@hidden
-FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time.  Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.  See
address@hidden://www.gnu.org/copyleft/}.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License ``or any later version'' applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation.  If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.  If the Document
-specifies that a proxy can decide which future versions of this
-License can be used, that proxy's public statement of acceptance of a
-version permanently authorizes you to choose that version for the
-Document.
-
address@hidden
-RELICENSING
-
-``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
-World Wide Web server that publishes copyrightable works and also
-provides prominent facilities for anybody to edit those works.  A
-public wiki that anybody can edit is an example of such a server.  A
-``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
-site means any set of copyrightable works thus published on the MMC
-site.
-
-``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
-license published by Creative Commons Corporation, a not-for-profit
-corporation with a principal place of business in San Francisco,
-California, as well as future copyleft versions of that license
-published by that same organization.
-
-``Incorporate'' means to publish or republish a Document, in whole or
-in part, as part of another Document.
-
-An MMC is ``eligible for relicensing'' if it is licensed under this
-License, and if all works that were first published under this License
-somewhere other than this MMC, and subsequently incorporated in whole
-or in part into the MMC, (1) had no cover texts or invariant sections,
-and (2) were thus incorporated prior to November 1, 2008.
-
-The operator of an MMC Site may republish an MMC contained in the site
-under CC-BY-SA on the same site at any time before August 1, 2009,
-provided the MMC is eligible for relicensing.
-
address@hidden enumerate
-
address@hidden
address@hidden ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
address@hidden
address@hidden
-  Copyright (C)  @var{year}  @var{your name}.
-  Permission is granted to copy, distribute and/or modify this document
-  under the terms of the GNU Free Documentation License, Version 1.3
-  or any later version published by the Free Software Foundation;
-  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-  Texts.  A copy of the license is included in the section entitled ``GNU
-  Free Documentation License''.
address@hidden group
address@hidden smallexample
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the address@hidden'' line with this:
-
address@hidden
address@hidden
-    with the Invariant Sections being @var{list their titles}, with
-    the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
-    being @var{list}.
address@hidden group
address@hidden smallexample
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-
address@hidden Local Variables:
address@hidden ispell-local-pdict: "ispell-dict"
address@hidden End:
-
diff --git a/gl/top/maint.mk.diff b/gl/top/maint.mk.diff
new file mode 100644
index 0000000..3edd298
--- /dev/null
+++ b/gl/top/maint.mk.diff
@@ -0,0 +1,68 @@
+diff --git a/top/maint.mk b/top/maint.mk
+index d51fec6..f6ad4f0 100644
+--- a/top/maint.mk
++++ b/top/maint.mk
+@@ -21,9 +21,6 @@
+ # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
+ ME := maint.mk
+ 
+-# Override this in cfg.mk if you use a non-standard build-aux directory.
+-build_aux ?= $(srcdir)/build-aux
+-
+ # Do not save the original name or timestamp in the .tar.gz file.
+ # Use --rsyncable if available.
+ gzip_rsyncable := \
+@@ -34,7 +31,7 @@ GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
+ GIT = git
+ VC = $(GIT)
+ 
+-VC_LIST = $(build_aux)/vc-list-files -C $(srcdir)
++VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir)
+ 
+ # You can override this variable in cfg.mk to set your own regexp
+ # matching files to ignore.
+@@ -274,7 +271,7 @@ define _sc_search_regexp
+ endef
+ 
+ sc_avoid_if_before_free:
+-      @$(build_aux)/useless-if-before-free                            \
++      @$(srcdir)/$(_build-aux)/useless-if-before-free                 \
+               $(useless_free_options)                                 \
+           $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) &&   \
+         { echo '$(ME): found useless "if" before "free" above' 1>&2;  \
+@@ -1208,7 +1205,7 @@ else
+ endif
+ 
+ announcement: NEWS ChangeLog $(rel-files)
+-      @$(build_aux)/announce-gen                                      \
++      @$(srcdir)/$(_build-aux)/announce-gen                           \
+           --mail-headers='$(announcement_mail_headers_)'              \
+           --release-type=$(RELEASE_TYPE)                              \
+           --package=$(PACKAGE)                                        \
+@@ -1232,7 +1229,7 @@ upload_dest_dir_ ?= $(PACKAGE)
+ emit_upload_commands:
+       @echo =====================================
+       @echo =====================================
+-      @echo "$(build_aux)/gnupload $(GNUPLOADFLAGS) \\"
++      @echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\"
+       @echo "    --to $(gnu_rel_host):$(upload_dest_dir_) \\"
+       @echo "  $(rel-files)"
+       @echo '# send the ~/announce-$(my_distdir) e-mail'
+@@ -1327,7 +1324,7 @@ web-manual:
+       @test -z "$(manual_title)" \
+         && { echo define manual_title in cfg.mk 1>&2; exit 1; } || :
+       @cd '$(srcdir)/doc'; \
+-        $(SHELL) ../$(build_aux)/gendocs.sh $(gendocs_options_) \
++        $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \
+            -o '$(abs_builddir)/doc/manual' \
+            --email $(PACKAGE_BUGREPORT) $(PACKAGE) \
+           "$(PACKAGE_NAME) - $(manual_title)"
+@@ -1392,7 +1389,7 @@ update-copyright-env ?=
+ update-copyright:
+       grep -l -w Copyright                                             \
+         $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \
+-        | $(update-copyright-env) xargs $(build_aux)/$@
++        | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@
+ 
+ # This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not
+ # overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS.
diff --git a/gnulib b/gnulib
new file mode 160000
index 0000000..356e374
--- /dev/null
+++ b/gnulib
@@ -0,0 +1 @@
+Subproject commit 356e3744fbe79b23e608b8f4ec1b8204986b8f8e
diff --git a/libltdl/.gitignore b/libltdl/.gitignore
index 94729d4..e135586 100644
--- a/libltdl/.gitignore
+++ b/libltdl/.gitignore
@@ -1,2 +1,6 @@
-Makefile.am
-argz.h
+/COPYING.LIB
+/Makefile.am
+/argz.h
+/libgnu
+/dummy.c
+/gnulib.mk
diff --git a/libltdl/COPYING.LIB b/libltdl/COPYING.LIB
deleted file mode 100644
index ba2be48..0000000
--- a/libltdl/COPYING.LIB
+++ /dev/null
@@ -1,515 +0,0 @@
-
-                  GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations
-below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-^L
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it
-becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-^L
-                  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control
-compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-^L
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-^L
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-^L
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-^L
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply, and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License
-may add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-^L
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-^L
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms
-of the ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.
-It is safest to attach them to the start of each source file to most
-effectively convey the exclusion of warranty; and each file should
-have at least the "copyright" line and a pointer to where the full
-notice is found.
-
-
-    <one line to give the library's name and a brief idea of what it
-does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  
USA
-
-Also add information on how to contact you by electronic and paper
-mail.
-
-You should also get your employer (if you work as a programmer) or
-your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James
-Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/libltdl/config/.gitignore b/libltdl/config/.gitignore
index 9beea85..d6138cc 100644
--- a/libltdl/config/.gitignore
+++ b/libltdl/config/.gitignore
@@ -1,11 +1,12 @@
-install-sh
-ltmain.in
-ltmain.sh
-mdate-sh
-missing
-mkinstalldirs
-texinfo.tex
-depcomp
-compile
-config.guess
-config.sub
+/compile
+/depcomp
+/gendocs.sh
+/install-sh
+/ltmain.in
+/ltmain.sh
+/mdate-sh
+/missing
+/mkinstalldirs
+/texinfo.tex
+/useless-if-before-free
+/vc-list-files
diff --git a/libltdl/libgnu/.gitignore b/libltdl/libgnu/.gitignore
new file mode 100644
index 0000000..d9f5394
--- /dev/null
+++ b/libltdl/libgnu/.gitignore
@@ -0,0 +1,2 @@
+/Makefile.am
+/dummy.c
diff --git a/libltdl/m4/.gitignore b/libltdl/m4/.gitignore
index 0b52c5c..1facea7 100644
--- a/libltdl/m4/.gitignore
+++ b/libltdl/m4/.gitignore
@@ -1 +1,6 @@
-ltversion.m4
+/00gnulib.m4
+/gnulib-cache.m4
+/gnulib-common.m4
+/gnulib-comp.m4
+/gnulib-tool.m4
+/ltversion.m4
diff --git a/libtoolize.m4sh b/libtoolize.m4sh
index cd15c58..69fd37f 100644
--- a/libtoolize.m4sh
+++ b/libtoolize.m4sh
@@ -406,11 +406,11 @@ func_scan_files ()
        s,^.*m4@&address@hidden(.*$,,
        s,^.*A[CU]_DEFUN(.*$,,; s,^.*m4@&address@hidden(.*$,,
        /AC_CONFIG_AUX_DIR(/ {
-           s,^.*AC_CONFIG_AUX_DIR([[    ]*\([^])]*\).*$,ac_auxdir=\1,
+           s,^.*AC_CONFIG_AUX_DIR([[    ]*\([^])]*\).*$,ac_aux_dir=\1,
            p
         }
        /AC_CONFIG_MACRO_DIR(/ {
-           s,^.*AC_CONFIG_MACRO_DIR([[  ]*\([^])]*\).*$,ac_macrodir=\1,
+           s,^.*AC_CONFIG_MACRO_DIR([[  ]*\([^])]*\).*$,ac_macro_dir=\1,
            p
         }
        /_LT_CONFIG_LTDL_DIR(/d
@@ -516,37 +516,37 @@ func_scan_files ()
        ;;
     esac
 
-    # ---------------- #
-    # Validate auxdir. #
-    # ---------------- #
+    # ----------------- #
+    # Validate aux_dir. #
+    # ----------------- #
 
-    if test -n "$ac_auxdir"; then
+    if test -n "$ac_aux_dir"; then
       # If $configure_ac contains AC_CONFIG_AUX_DIR, check that it was
       # not given in terms of a shell variable!
-      case "$ac_auxdir" in
+      case "$ac_aux_dir" in
       *\$*)
         func_fatal_error "can not handle variables in AC_CONFIG_AUX_DIR"
         ;;
       *)
-       auxdir=$ac_auxdir
+       aux_dir=$ac_aux_dir
        ;;
       esac
     else
-      # Try to discover auxdir the same way it is discovered by configure.
+      # Try to discover aux_dir the same way it is discovered by configure.
       # Note that we default to the current directory.
       for dir in . .. ../..; do
         if test -f "$dir/install-sh"; then
-          auxdir=$dir
+          aux_dir=$dir
           break
         elif test -f "$dir/install.sh"; then
-          auxdir="$dir"
+          aux_dir="$dir"
           break
         fi
       done
     fi
 
     # Just use the current directory if all else fails.
-    test -n "$auxdir" || auxdir=.
+    test -n "$aux_dir" || aux_dir=.
 
 
     # ------------------------------ #
@@ -562,30 +562,30 @@ func_scan_files ()
        }
        d'
     if test -f Makefile.am; then
-      my_macrodir_is_next=false
+      my_macro_dir_is_next=false
       for arg in `$SED "$my_sed_aclocal_flags" Makefile.am`; do
-        if $my_macrodir_is_next; then
-          am_macrodir="$arg"
+        if $my_macro_dir_is_next; then
+          am_macro_dir="$arg"
           break
         else
          case $arg in
-           -I) my_macrodir_is_next=: ;;
+           -I) my_macro_dir_is_next=: ;;
            -I*)
-             am_macrodir=`$ECHO "$arg" | sed 's,^-I,,'`
+             am_macro_dir=`$ECHO "$arg" | sed 's,^-I,,'`
              break
              ;;
-           *) my_macrodir_is_next=false ;;
+           *) my_macro_dir_is_next=false ;;
          esac
         fi
       done
     fi
 
-    macrodir="$ac_macrodir"
-    test -z "$macrodir" && macrodir="$am_macrodir"
+    macro_dir="$ac_macro_dir"
+    test -z "$macro_dir" && macro_dir="$am_macro_dir"
 
-    if test -n "$am_macrodir" && test -n "$ac_macrodir"; then
-      test "$am_macrodir" = "$ac_macrodir" \
-        || func_fatal_error "AC_CONFIG_MACRO_DIR([$ac_macrodir]) conflicts 
with ACLOCAL_AMFLAGS=-I $am_macrodir."
+    if test -n "$am_macro_dir" && test -n "$ac_macro_dir"; then
+      test "$am_macro_dir" = "$ac_macro_dir" \
+        || func_fatal_error "AC_CONFIG_MACRO_DIR([$ac_macro_dir]) conflicts 
with ACLOCAL_AMFLAGS=-I $am_macro_dir."
     fi
 }
 
@@ -728,7 +728,7 @@ func_serial_update_check ()
 
       if test "X$my_dest_serial" = "X$func_serial_max_result"; then
         func_verbose "\`$my_srcfile' is serial $my_src_serial, less than 
$my_dest_serial in \`$my_destfile'"
-       $opt_force || if test -n "$ac_macrodir$ac_ltdldir"; then
+       $opt_force || if test -n "$ac_macro_dir$ac_ltdldir"; then
            func_error "\`$my_destfile' is newer: use \`--force' to overwrite"
         fi
       fi
@@ -1000,20 +1000,20 @@ func_install_pkgmacro_subproject ()
     # Remove any lingering files that my have been installed by some
     # previous libtoolize release:
     $opt_force && for file in $all_pkgmacro_files; do
-      test -f "$subproject_macrodir/$file" && func_verbose "rm -f 
'$subproject_macrodir/$file'"
-      rm -f "$subproject_macrodir/$file"
+      test -f "$subproject_macro_dir/$file" && func_verbose "rm -f 
'$subproject_macro_dir/$file'"
+      rm -f "$subproject_macro_dir/$file"
     done
 
     # Copy all the files from installed libltdl to this project, if the
-    # user specified a macrodir.
-    $opt_quiet || if test "x$macrodir" != "x$subproject_macrodir"; then
-      pkgmacro_header="putting macros in \`$subproject_macrodir'."
-    elif test -n "$subproject_macrodir"; then
-      pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIR, 
\`$subproject_macrodir'."
+    # user specified a macro_dir.
+    $opt_quiet || if test "x$macro_dir" != "x$subproject_macro_dir"; then
+      pkgmacro_header="putting macros in \`$subproject_macro_dir'."
+    elif test -n "$subproject_macro_dir"; then
+      pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIR, 
\`$subproject_macro_dir'."
     fi
 
     func_copy_some_files "argz.m4:libtool.m4:ltdl.m4:$pkgmacro_files" \
-      "$aclocaldir" "$subproject_macrodir" pkgmacro_header
+      "$aclocaldir" "$subproject_macro_dir" pkgmacro_header
 }
 
 
@@ -1028,40 +1028,40 @@ func_install_pkgmacro_parent ()
     # Remove any lingering files that my have been installed by some
     # previous libtoolize release:
     $opt_force && for file in $all_pkgmacro_files; do
-      test -f "$macrodir/$file" && func_verbose "rm -f '$macrodir/$file'"
-      rm -f "$macrodir/$file"
+      test -f "$macro_dir/$file" && func_verbose "rm -f '$macro_dir/$file'"
+      rm -f "$macro_dir/$file"
     done
 
     # Copy all the files from installed libltdl to this project, if the
-    # user specified a macrodir.
-    $opt_quiet || if test -n "$ac_macrodir"; then
-      my_pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIR, 
\`$ac_macrodir'."
-    elif test -n "$macrodir"; then
-      my_pkgmacro_header="putting macros in \`$macrodir'."
+    # user specified a macro_dir.
+    $opt_quiet || if test -n "$ac_macro_dir"; then
+      my_pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIR, 
\`$ac_macro_dir'."
+    elif test -n "$macro_dir"; then
+      my_pkgmacro_header="putting macros in \`$macro_dir'."
     fi
 
     if $opt_ltdl; then
-      func_serial_update argz.m4 "$aclocaldir" "$macrodir" \
+      func_serial_update argz.m4 "$aclocaldir" "$macro_dir" \
         my_pkgmacro_header argz.m4
     else
-      func_verbose "Not copying \`$macrodir/argz.m4', libltdl not used."
+      func_verbose "Not copying \`$macro_dir/argz.m4', libltdl not used."
     fi
 
-    func_serial_update  libtool.m4 "$aclocaldir" "$macrodir" \
+    func_serial_update  libtool.m4 "$aclocaldir" "$macro_dir" \
       my_pkgmacro_header LT_INIT 'A[CM]_PROG_LIBTOOL'
 
     if $opt_ltdl; then
-      func_serial_update ltdl.m4 "$aclocaldir" "$macrodir" \
+      func_serial_update ltdl.m4 "$aclocaldir" "$macro_dir" \
         my_pkgmacro_header 'LTDL_INIT'
     else
-      func_verbose "Not copying \`$macrodir/ltdl.m4', libltdl not used."
+      func_verbose "Not copying \`$macro_dir/ltdl.m4', libltdl not used."
     fi
 
     my_save_IFS="$IFS"
     IFS=:
     for file in $pkgmacro_files; do
       IFS="$my_save_IFS"
-      func_serial_update "$file" "$aclocaldir" "$macrodir" \
+      func_serial_update "$file" "$aclocaldir" "$macro_dir" \
         my_pkgmacro_header "$file"
     done
     IFS="$my_save_IFS"
@@ -1077,21 +1077,21 @@ func_install_pkgmacro_files ()
     # argz.m4, libtool.m4 and ltdl.m4 are handled specially:
     func_massage_aclocal_DATA 'argz.m4|libtool.m4|ltdl.m4'
 
-  # 1. Parent has separate macrodir to subproject ltdl:
+  # 1. Parent has separate macro_dir to subproject ltdl:
     if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" &&
-       test -n "$macrodir" && test "x$macrodir" != "x$subproject_macrodir"
+       test -n "$macro_dir" && test "x$macro_dir" != "x$subproject_macro_dir"
     then
       func_install_pkgmacro_parent
       func_install_pkgmacro_subproject
 
-  # 2. Parent shares macrodir with subproject ltdl:
+  # 2. Parent shares macro_dir with subproject ltdl:
     elif $opt_ltdl && test "x$ltdl_mode" = "xsubproject"
-       # && test "x$macrodir" = "x$subproject_macrodir"
+       # && test "x$macro_dir" = "x$subproject_macro_dir"
     then
       func_install_pkgmacro_subproject
 
-  # 3. Not a subproject, but macrodir was specified in parent:
-    elif test -n "$macrodir"; then
+  # 3. Not a subproject, but macro_dir was specified in parent:
+    elif test -n "$macro_dir"; then
       func_install_pkgmacro_parent
 
   # 4. AC_CONFIG_MACRO_DIR was not specified:
@@ -1224,16 +1224,16 @@ func_install_pkgconfig_subproject ()
     # Remove any lingering files that my have been installed by some
     # previous libtoolize release:
     $opt_force && for file in $all_pkgconfig_files; do
-      test -f "$subproject_auxdir/$file" && func_verbose "rm -f 
'$subproject_auxdir/$file'"
-      rm -f "$subproject_auxdir/$file"
+      test -f "$subproject_aux_dir/$file" && func_verbose "rm -f 
'$subproject_aux_dir/$file'"
+      rm -f "$subproject_aux_dir/$file"
     done
 
     # Copy all the files from installed libltdl to this project, if the
-    # user specified an auxdir.
-    $opt_quiet || if test "x$ac_auxdir" = "x$subproject_auxdir"; then
-      pkgconfig_header="putting auxiliary files in AC_CONFIG_AUX_DIR, 
\`$subproject_auxdir'."
-    elif test -n "$auxdir"; then
-      pkgconfig_header="putting auxiliary files in \`$auxdir'."
+    # user specified an aux_dir.
+    $opt_quiet || if test "x$ac_aux_dir" = "x$subproject_aux_dir"; then
+      pkgconfig_header="putting auxiliary files in AC_CONFIG_AUX_DIR, 
\`$subproject_aux_dir'."
+    elif test -n "$aux_dir"; then
+      pkgconfig_header="putting auxiliary files in \`$aux_dir'."
     fi
 
     func_copy_some_files "$pkgconfig_files" \
@@ -1252,26 +1252,26 @@ func_install_pkgconfig_parent ()
     # Remove any lingering files that my have been installed by some
     # previous libtoolize release:
     $opt_force && for file in $all_pkgconfig_files; do
-      test -f "$auxdir/$file" && func_verbose "rm -f '$auxdir/$file'"
-      rm -f "$auxdir/$file"
+      test -f "$aux_dir/$file" && func_verbose "rm -f '$aux_dir/$file'"
+      rm -f "$aux_dir/$file"
     done
 
-    if test -n "$ac_auxdir"; then
-      pkgconfig_header="putting auxiliary files in AC_CONFIG_AUX_DIR, 
\`$ac_auxdir'."
-    elif test -n "$auxdir" || test "x$ltdldir" = "x."; then
-      pkgconfig_header="putting auxiliary files in \`$auxdir'."
+    if test -n "$ac_aux_dir"; then
+      pkgconfig_header="putting auxiliary files in AC_CONFIG_AUX_DIR, 
\`$ac_aux_dir'."
+    elif test -n "$aux_dir" || test "x$ltdldir" = "x."; then
+      pkgconfig_header="putting auxiliary files in \`$aux_dir'."
     fi
 
     if $opt_install; then
       func_config_update config.guess \
-        "$pkgdatadir/config" "$auxdir" pkgconfig_header
+        "$pkgdatadir/config" "$aux_dir" pkgconfig_header
       func_config_update config.sub \
-        "$pkgdatadir/config" "$auxdir" pkgconfig_header
+        "$pkgdatadir/config" "$aux_dir" pkgconfig_header
       func_install_update install-sh \
-        "$pkgdatadir/config" "$auxdir" pkgconfig_header
+        "$pkgdatadir/config" "$aux_dir" pkgconfig_header
     fi
     func_ltmain_update ltmain.sh \
-      "$pkgdatadir/config" "$auxdir" pkgconfig_header
+      "$pkgdatadir/config" "$aux_dir" pkgconfig_header
 }
 
 
@@ -1284,15 +1284,15 @@ func_install_pkgconfig_files ()
     $opt_debug
     func_massage_pkgconfig_files
 
-  # 1. Parent shares auxdir with subproject ltdl:
+  # 1. Parent shares aux_dir with subproject ltdl:
     if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" &&
-       test "x$ac_auxdir" = "x$subproject_auxdir"
+       test "x$ac_aux_dir" = "x$subproject_aux_dir"
     then
       func_install_pkgconfig_subproject
 
-  # 2. Parent has separate auxdir to subproject ltdl:
+  # 2. Parent has separate aux_dir to subproject ltdl:
     elif $opt_ltdl && test "x$ltdl_mode" = "xsubproject"
-       # && test "x$auxdir" != "x$subproject_auxdir" is implied
+       # && test "x$aux_dir" != "x$subproject_aux_dir" is implied
     then
       if $seen_autoconf; then
        func_install_pkgconfig_parent
@@ -1300,7 +1300,7 @@ func_install_pkgconfig_files ()
       func_install_pkgconfig_subproject
 
   # 3. Not subproject, but AC_CONFIG_AUX_DIR was used in parent:
-    elif test -n "$ac_auxdir" || test "x$auxdir" = "x."; then
+    elif test -n "$ac_aux_dir" || test "x$aux_dir" = "x."; then
       func_install_pkgconfig_parent
 
   # 4. AC_CONFIG_AUX_DIR was not specified:
@@ -1339,10 +1339,10 @@ func_check_macros ()
 
     ac_config_macro_dir_advised=false
 
-    if test -n "$ac_macrodir$ltdldir" && test -z "$macrodir"; then
+    if test -n "$ac_macro_dir$ltdldir" && test -z "$macro_dir"; then
       my_ac_config_macro_srcdir="$aclocaldir"
-      if $opt_ltdl && test "$macrodir" != "$subproject_macrodir"; then
-       my_ac_config_macro_srcdir="$subproject_macrodir"
+      if $opt_ltdl && test "$macro_dir" != "$subproject_macro_dir"; then
+       my_ac_config_macro_srcdir="$subproject_macro_dir"
       fi
 
       my_needed="libtool.m4 ltoptions.m4 ltversion.m4 ltsugar.m4 
lt~obsolete.m4"
@@ -1364,7 +1364,7 @@ func_check_macros ()
         done
 
         if test "$my_ac_config_macro_srcdir" != "$aclocaldir"; then
-          func_echo "or else add 
\`AC_CONFIG_MACRO_DIR([$subproject_macrodir])' to $configure_ac."
+          func_echo "or else add 
\`AC_CONFIG_MACRO_DIR([$subproject_macro_dir])' to $configure_ac."
          ac_config_macro_dir_advised=:
         fi
       fi
@@ -1397,34 +1397,34 @@ func_check_macros ()
       # For subproject mode, offer some suggestions for avoiding duplicate
       # files in a project that uses libltdl:
       if test "x$ltdl_mode" = "xsubproject"; then
-        test "$subproject_auxdir" = "$auxdir" ||
-          func_echo "Consider using \`AC_CONFIG_AUX_DIR([$subproject_auxdir])' 
in $configure_ac."
-        $ac_config_macro_dir_advised || test "$subproject_macrodir" = 
"$macrodir" ||
-          func_echo "Consider using 
\`AC_CONFIG_MACRO_DIR([$subproject_macrodir])' in $configure_ac."
+        test "$subproject_aux_dir" = "$aux_dir" ||
+          func_echo "Consider using 
\`AC_CONFIG_AUX_DIR([$subproject_aux_dir])' in $configure_ac."
+        $ac_config_macro_dir_advised || test "$subproject_macro_dir" = 
"$macro_dir" ||
+          func_echo "Consider using 
\`AC_CONFIG_MACRO_DIR([$subproject_macro_dir])' in $configure_ac."
        ac_config_macro_dir_advised=:
       fi
     fi
 
     # Suggest modern idioms for storing autoconf macros:
-    $ac_config_macro_dir_advised || if test -z "$ac_macrodir" || test 
x"$macrodir" = x.; then
+    $ac_config_macro_dir_advised || if test -z "$ac_macro_dir" || test 
x"$macro_dir" = x.; then
       func_echo "Consider adding \`AC_CONFIG_MACRO_DIR([m4])' to $configure_ac 
and"
       func_echo "rerunning $progname, to keep the correct libtool macros 
in-tree."
       ac_config_macro_dir_advised=:
 
-    elif test -z "$ac_macrodir$ltdldir"; then
-      func_echo "Consider adding \`AC_CONFIG_MACRO_DIR([$macrodir])' to 
$configure_ac,"
+    elif test -z "$ac_macro_dir$ltdldir"; then
+      func_echo "Consider adding \`AC_CONFIG_MACRO_DIR([$macro_dir])' to 
$configure_ac,"
       func_echo "and rerunning $progname and aclocal."
       ac_config_macro_dir_advised=:
     fi
 
-    if test -z "$am_macrodir$macrodir"; then
+    if test -z "$am_macro_dir$macro_dir"; then
       func_echo "Consider adding \`-I m4' to ACLOCAL_AMFLAGS in Makefile.am."
 
-    elif test -z "$am_macrodir"; then
-      if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" && test 
"$subproject_macrodir" != "$macrodir"; then
-       func_echo "Consider adding \`-I $subproject_macrodir' to 
ACLOCAL_AMFLAGS in Makefile.am."
+    elif test -z "$am_macro_dir"; then
+      if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" && test 
"$subproject_macro_dir" != "$macro_dir"; then
+       func_echo "Consider adding \`-I $subproject_macro_dir' to 
ACLOCAL_AMFLAGS in Makefile.am."
       else
-        func_echo "Consider adding \`-I $macrodir' to ACLOCAL_AMFLAGS in 
Makefile.am."
+        func_echo "Consider adding \`-I $macro_dir' to ACLOCAL_AMFLAGS in 
Makefile.am."
       fi
     fi
 
@@ -1457,8 +1457,8 @@ func_check_macros ()
   address@hidden@
   address@hidden@
   address@hidden@
-  auxdir=
-  macrodir=
+  aux_dir=
+  macro_dir=
   configure_ac=configure.in
 
   seen_autoconf=false
@@ -1494,8 +1494,8 @@ func_check_macros ()
   .) ltdlprefix= ;;
   *) ltdlprefix=$ltdldir/ ;;
   esac
-  subproject_auxdir=${ltdlprefix}config
-  subproject_macrodir=${ltdlprefix}m4
+  subproject_aux_dir=${ltdlprefix}config
+  subproject_macro_dir=${ltdlprefix}m4
 
   # :::BE CAREFUL HERE:::
   # func_check_macros needs to check whether --ltdl was specified when
diff --git a/tests/.gitignore b/tests/.gitignore
index d66dec6..0712f71 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -1,7 +1,3 @@
-atconfig
-defs.in
-defs
-package.m4
-testsuite
-testsuite.dir
-testsuite.log
+/defs
+/defs.in
+/package.m4
diff --git a/tests/cdemo/.gitignore b/tests/cdemo/.gitignore
index eebd27f..f8d8b0e 100644
--- a/tests/cdemo/.gitignore
+++ b/tests/cdemo/.gitignore
@@ -1 +1 @@
-cdemo
+/cdemo
diff --git a/tests/defs.m4sh b/tests/defs.m4sh
index b56426f..6a48079 100644
--- a/tests/defs.m4sh
+++ b/tests/defs.m4sh
@@ -342,9 +342,9 @@ func_exec ()
 # Shared global variables for test scripts
 prefix=./_inst-`echo "$0" | sed 's,.*/,,; s,-.*,,'`
 srcdir=`cd $srcdir && pwd`
-m4dir=$srcdir/libltdl/m4
-auxdir=$srcdir/libltdl/config
-scripts="$auxdir/ltmain.m4sh $srcdir/libtoolize.m4sh"
+macro_dir=$srcdir/libltdl/m4
+aux_dir=$srcdir/libltdl/config
+scripts="$aux_dir/ltmain.m4sh $srcdir/libtoolize.m4sh"
 
 # Unset some MAKE... variables that may cause $MAKE to act like a
 # recursively invoked sub-make.  Any $MAKE invocation in a test is
diff --git a/tests/demo/.gitignore b/tests/demo/.gitignore
index cee443d..0e0f6fc 100644
--- a/tests/demo/.gitignore
+++ b/tests/demo/.gitignore
@@ -1,7 +1,7 @@
-hc-direct
-hc-libflag
-hc-libpath
-hc-minusL
-hell
-hell_static
-helldl
+/hc-direct
+/hc-libflag
+/hc-libpath
+/hc-minusL
+/hell
+/hell_static
+/helldl
diff --git a/tests/depdemo/.gitignore b/tests/depdemo/.gitignore
index 3aa957b..8d0f34e 100644
--- a/tests/depdemo/.gitignore
+++ b/tests/depdemo/.gitignore
@@ -1,2 +1,2 @@
-depdemo
-depdemo_static
+/depdemo
+/depdemo_static
diff --git a/tests/f77demo/.gitignore b/tests/f77demo/.gitignore
index a7668b9..05d41fa 100644
--- a/tests/f77demo/.gitignore
+++ b/tests/f77demo/.gitignore
@@ -1,2 +1,2 @@
-cprogram
-fprogram
+/cprogram
+/fprogram
diff --git a/tests/fcdemo/.gitignore b/tests/fcdemo/.gitignore
index a7668b9..05d41fa 100644
--- a/tests/fcdemo/.gitignore
+++ b/tests/fcdemo/.gitignore
@@ -1,2 +1,2 @@
-cprogram
-fprogram
+/cprogram
+/fprogram
diff --git a/tests/getopt-m4sh.at b/tests/getopt-m4sh.at
index 75a7bf6..17cdb53 100644
--- a/tests/getopt-m4sh.at
+++ b/tests/getopt-m4sh.at
@@ -24,8 +24,6 @@
 
 AT_BANNER([Shell option parser generator.])
 
-auxdir="$abs_top_srcdir/libltdl/config"
-
 
 # _LT_AT_GETOPT_M4SH_SETUP
 # ------------------------
diff --git a/tests/mdemo/.gitignore b/tests/mdemo/.gitignore
index 0b4a56b..458a9c6 100644
--- a/tests/mdemo/.gitignore
+++ b/tests/mdemo/.gitignore
@@ -1,2 +1,2 @@
-mdemo
-mdemo_static
+/mdemo
+/mdemo_static
diff --git a/tests/mdemo2/.gitignore b/tests/mdemo2/.gitignore
index 6e24c0b..44b759d 100644
--- a/tests/mdemo2/.gitignore
+++ b/tests/mdemo2/.gitignore
@@ -1,2 +1,2 @@
-mdemo2
-mdemo2_static
+/mdemo2
+/mdemo2_static
diff --git a/tests/pdemo/.gitignore b/tests/pdemo/.gitignore
index 1cc71be..e1ee57d 100644
--- a/tests/pdemo/.gitignore
+++ b/tests/pdemo/.gitignore
@@ -1,3 +1,3 @@
-hell
-hell_static
-helldl
+/hell
+/hell_static
+/helldl
diff --git a/tests/sh.test b/tests/sh.test
index 5324b31..2435ab2 100755
--- a/tests/sh.test
+++ b/tests/sh.test
@@ -121,11 +121,11 @@ done
 
 # Check for correct usage of $cc_basename.
 # redirect stderr so we also barf when sed issues diagnostics.
-for s in "$m4dir/libtool.m4"
+for s in "$macro_dir/libtool.m4"
 do
   if $SED -n '/case \$cc_basename in/,/esac/ {
              /^[       ]*[a-zA-Z][a-zA-Z0-9+]*[^*][    ]*)/p
-             }'  $s 2>&1 | $EGREP .; then
+             }'  $s 2>&1 | $EGREP .; then
     echo "\$cc_basename matches should include a trailing \`*' in $s."
     status=$EXIT_FAILURE
   fi
diff --git a/tests/tagdemo/.gitignore b/tests/tagdemo/.gitignore
index a36b095..7451dd9 100644
--- a/tests/tagdemo/.gitignore
+++ b/tests/tagdemo/.gitignore
@@ -1 +1 @@
-tagdemo
+/tagdemo


hooks/post-receive
-- 
GNU Libtool



reply via email to

[Prev in Thread] Current Thread [Next in Thread]