It's much too easy to forget that the functions you hook into
the option parser need to return unconsumed options in the
variable `func_run_hooks_result'; better to follow the
convention used in the rest of bootstrap and return results in a
variable named after the function with `_result' appended.
* libltdl/config/options-parser (func_run_hooks): implement this
new API.
(Option parsing): Update the example in the header comment for
this section to reflect the changes.
* bootstrap (bootstrap_options_prep, bootstrap_parse_options)
(bootstrap_validate_options): Adjust.
* bootstrap.conf (libtool_options_prep, libtool_parse_options)
(libtool_validate_options): Ditto.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* bootstrap: Bourne shell has no scoping, so be extremely
careful with namespaces, functions in `^func_' and `^require_';
private variables in `^_G_', and public variables all well
documented by comments.
* libltdl/config/extract-trace: New file, containing the minimum
of code previously in bootstrap plus a little glue to make the
GNU M4 based autotools tracing function (as opposed to the
kludgy sed extraction currently used everywhere else) a
standalone script that can be executed or sourced.
* libltdl/config/options-parser: New file, containing the
pluggable options parser code shared between the other two.
* bootstrap.conf: Adjust.
* Makefile.am (EXTRA_DIST): Be sure to distribute the new
extract-trace and options-parser scripts.
(install-data-local): And install them where libtoolize can find
them.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* bootstrap (func_require_autobuild_buildreq): Skip if autobuild.m4
is already present.
* bootstrap.conf (require_autobuild_bulidreq): No need to set this
specially any more.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* bootstrap (func_gnulib_tool_copy_file): When gnulib-tool is
not available, check that there is a copy of the file from a
previous run available before bailing out with a diagnostic.
(func_install_gnulib_non_module_files): Don't diagnose missing
files explicitly - func_gnulib_tool_copy_file takes care of it
now.
(func_require_checkout_only_file): In the diagnostic for
not being in a source-controlled tree, note that `--force' must
be used to rebootstrap.
(func_require_gnulib_files_already_present): Removed. All the
necessary checks are correctly performed in
func_gnulib_tool_copy_file withot resorting to heuristics.
(func_require_gnulib_mk): Don't continue to try to access
gnulib-cache.m4 after discovering we're running from a dist
tarball.
(func_require_dotgitmodules_parameters): Skip if .gitmodules
file is missing and git binary is not available.
* bootstrap.conf (checkout_only_file): Set to HACKING, which is
a non-distributed file.
(libtool_cleanup_empty_dirs): Don't print spurious errors when
trying to delete gnulib-tool droppings, in case gnulib-tool is
not available on this run.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* ChangeLog: Removed.
* HACKING (Editing 'ChangeLog'): Removed. Renumbered other sections to
compensate.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
* Makefile.am (ChangeLog): Generate the ChangeLog for 2011...
(dist-hook): ...from the output of `git log' before rolling a
distribution tarball.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* libltdl/config/mkstamp: File removed.
* bootstrap.conf (gnulib_modules): Add git-version-gen.
* configure.ac (AC_INIT, package_revision): Use git-version-gen to
calculate version number.
(TIMESTAMP): Removed.
* libtoolize.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4
(TIMESTAMP): Ditto.
* Makefile.am (TIMESTAMP): Ditto.
(MKSTAMP): Renamed from this...
(git_version_gen): ...to this. Set revision here. An alpha is now a
release with an odd micro relase number.
(rebuild): Don't reset revision here.
(build_scripts): Remove mkstamp, add git-version-gen.
(EXTRA_DIST, BUILT_SOURCES): Add .version.
(libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4, tests/package.m4):
Don't depend on configure.ac or ChangeLog to determine when the
version number has reved, use .version directly.
(.version): Flush most recent configure calculated VERSION to disk.
(dist-hook): Flush current VERSION to disk at dist time.
(dotserial): Distributed file to cache the serial number for
when git is not available to recalculate it when building from a
release tarball.
(dist-hook): Make sure .serial is created.
(libltdl/config/ltversion.m4): Use .serial when it is present
(in a dist tarball) or calculate with git otherwise (in a git
working directory).
(EXTRA_DIST): Add .serial file.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* 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 <gary@gnu.org>
* 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 <gary@gnu.org>
* 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 <gary@gnu.org>