]> git.ipfire.org Git - thirdparty/libtool.git/log
thirdparty/libtool.git
13 years agolibtoolize: rename `libltdl/config' directory to standard `build-aux'.
Gary V. Vaughan [Thu, 27 Oct 2011 03:00:29 +0000 (10:00 +0700)] 
libtoolize: rename `libltdl/config' directory to standard `build-aux'.

In addition to moving the autoconf auxiliary script directory
into the place expected by GNU developers ($top_srcdir/build-aux)
we also simplify libtoolize somewhat by having libltdl use
whatever directory was specified by the parent project.  This is
much more flexible, allows libltdl client projects to also use a
single canonical `$top_srcdir/build-aux' auxiliary script
directory, and maintains backward compatibility with existing
projects that wish to continue using $ltdl_dir/config.
* libltdl/config: Moved whole directory from here...
* build-aux: ...to here.
* libtoolize.m4sh (func_install_pkgaux_subproject): Remove.
(func_install_pkgaux_parent): Remove.
(func_install_pkgaux_files): Considerably simplified now that we
have only a single auxiliary directory to worry about.
(subproject_aux_dir): Remove.
* bootstrap.conf (libtool_readme_release_package_substitutions):
No need to substitute our old unusual aux_dir location into
README-release any more.
* cfg.mk (_build-aux): Now that we use the standard location for
this directory, no need to set this variable either.
* configure.ac (AC_INIT): git-version-gen has moved.
(AC_CONFIG_AUX_DIR): Adjust.
* Makefile.am (stamp-mk, auxexefiles, auxfiles)
(install-data-local): Use build-aux instead of config.
(libltdl/stamp-mk): Ditto.
* libltdl/configure.ac, tests/cdemo/configure.ac,
tests/demo/configure.ac, tests/depdemo/configure.ac,
tests/f77demo/configure.ac, tests/fcdemo/configure.ac,
tests/mdemo/configure.ac, tests/mdemo2/configure.ac,
tests/pdemo/configure.ac, tests/tagdemo/configure.ac
(AC_CONFIG_AUX_DIR): Ditto.
* tests/defs.m4sh (aux_dir): Ditto.
* tests/configure-iface.at, tests/getopt-m4sh.at,
tests/libtoolize.at, tests/subproject.at, tests/testsuite.at:
Ditto.
* Makefile.am (ltdl_ac_aux_dir): Extract at build-time...
* libtoolize.m4sh (require_ltdl_ac_aux_dir): ...so that
libtoolize can access it at runtime without requiring GNU M4 via
the extract-trace script.
(require_Makefile_am_filter): Use it to determine whether the
aux_dir declared in the current (parent) project configure is
compatible with the declarations in installed ltdl autotools
source files.
(require_configure_ac_filter): New function to perform similar
checks and rewrite configure.ac during installation if necessary.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: aux scripts go in ltdl dir when parent has no configure.
Gary V. Vaughan [Mon, 14 Nov 2011 04:54:22 +0000 (11:54 +0700)] 
libtoolize: aux scripts go in ltdl dir when parent has no configure.

When using libtoolize to install subproject libltdl into a
parent project that does not use autotools, set the default
directory for auxiliary scripts inside libltdl rather than
littering the parent project with files it doesn't use.
* libtoolize.m4sh (func_require_ac_aux_dir): In verbose mode,
report results like other require_ funcs.
(func_require_aux_dir): Put subproject auxiliary files into ltdl
directory where libltdl/configure will be able to find
`install-sh' and others.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: simplify runtime by substituting pkgauxdir.
Gary V. Vaughan [Mon, 14 Nov 2011 04:44:54 +0000 (11:44 +0700)] 
libtoolize: simplify runtime by substituting pkgauxdir.

* Makefile.am (configure_edit): Substitute pkgauxdir.
* libtoolize.m4sh (func_install_pkgaux_subproject)
(func_install_pkgaux_parent, extract_trace): Use it.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: generate require_ltdl_relative_aux_dir definition.
Gary V. Vaughan [Mon, 14 Nov 2011 04:28:33 +0000 (11:28 +0700)] 
libtoolize: generate require_ltdl_relative_aux_dir definition.

* libtoolize.m4sh (require_ltdl_relative_macro_dir): Change to
be generated function...
(require_ltdl_relative_aux_dir): ...so that we can easily
generate this very similar function from the same code.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: rename `libltdl/m4' directory to standard `m4'.
Gary V. Vaughan [Thu, 27 Oct 2011 11:29:50 +0000 (18:29 +0700)] 
libtoolize: rename `libltdl/m4' directory to standard `m4'.

In addition to moving the autoconf macro directory into the
place expected by GNU developers ($top_srcdir/m4), we also
simplify libtoolize somewhat by having libltdl use whatever
directory was specified by the parent project.  This is much
more flexible, allows libltdl client projects to also use a
single canonical `$top_srcdir/m4' macro directory, and maintains
backward compatibility with existing projects that wish to
continue using $ltdl_dir/m4.
* libltdl/m4: Moved to it's parent directory.
* Makefile.am (ACLOCAL_AMFLAGS, BUILDCHECK_ENVIRONMENT)
(libltdl/Makefile.am, libltdl/aclocal.m4): Adjust.
* configure.ac (AC_CONFIG_MACRO_DIR): Adjust.
* libltdl/configure.ac (AC_CONFIG_MACRO_DIR): Remove. The
libtoolize script can pick up the project macro directory from
ACLOCAL_AMFLAGS in libltdl/Makefile.am, saving us from needing
to regenerate configure for the sake of a different macro
directory declared in the libltdl using client project.
* libtoolize.m4sh (func_install_pkgmacro_subproject): Remove.
(func_install_pkgmacro_parent): Remove.
(subproject_macro_dir): Remove.
(require_libltdl_Makefile_am, require_ltdl_aclocal_amflags)
(require_ltdl_am_macro_dir): New functions, generated at runtime
by adding libltdl/Makefile.am to the generation loop.
(func_install_pkgmacro_files): Considerably simplified now that
we have only a single macro directory to worry about.
(require_ltdl_relative_macro_dir): New function. Calculate the
relative path from $ltdl_dir to the parent project macro_dir.
(require_Makefile_am_filter): Depending on $ltdl_mode, edit
Makefile.am ACLOCAL_AMFLAGS to use the parent project macro
directory if necessary.
(require_aclocal_m4_filter): Make sure m4_includes point to the
correct macro directory by editing the file as it is copied
into the parent project.
(func_install_pkgltdl_files): Use the filters.
(func_check_macros): Remove various advice that no longer
applies with an always shared macro directory.
(func_require_ltdl_dir): Don't default ltdl_dir to subproject
when `--ltdl' was not given.
(func_require_ltdl_mode): Leave ltdl_mode empty when ltdl_dir is
not set.
(func_require_macro_dir): Default to $ltdl_dir/m4 in subproject
mode with no other directory implied by AC_CONFIG_MACRO_DIR or
ACLOCAL_AMFLAGS, otherwise m4 as before.
* tests/libtoolize.at: Match new "creating file `Makefile.am'"
messages correctly.
(subproject ltdl with non-shared directories): This test no
longer makes sense, so repurposed...
(subproject ltdl with non-canonical macro dir): ...this, to
ensure subproject ltdl continues to automatically share the
parent macro directory.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Use new location
of macro_dir.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: rename `Makefile.inc' to standard `ltdl.mk'.
Gary V. Vaughan [Tue, 1 Nov 2011 05:29:48 +0000 (12:29 +0700)] 
libtoolize: rename `Makefile.inc' to standard `ltdl.mk'.

* libltdl/Makefile.inc: Moved from here...
* libltdl/ltdl.mk: ...to here.
* Makefile.am, bootstrap.conf, tests/libtoolize.at,
tests/nonrecursive.at: Adjust.
* libtoolize.m4sh (func_install_pkgltdl_files): Set the
destination file to `Makefile.inc' if grep finds an include for
that name in a top-level Makefile.am.
(func_check_macros): Print a deprecation warning if use of the
old `Makefile.inc' convention is found.
* tests/old-ltdl-iface.at: New test for renaming and warning
correctly when `Makefile.inc' convention is still in use.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: refactor ACLOCAL_AMFLAGS extraction.
Gary V. Vaughan [Fri, 11 Nov 2011 04:49:23 +0000 (11:49 +0700)] 
libtoolize: refactor ACLOCAL_AMFLAGS extraction.

Another simple refactor to simplify following changesets.
* libtoolize.m4sh (require_Makefile_am, require_aclocal_amflags)
(require_am_macro_dir): Generate these functions at runtime.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: rename require_makefile_am to require_Makefile_am.
Gary V. Vaughan [Fri, 11 Nov 2011 04:32:51 +0000 (11:32 +0700)] 
libtoolize: rename require_makefile_am to require_Makefile_am.

A simple refactoring to keep the next change self-contained.
* libtoolize.m4sh (require_makefile_am): Renamed from this...
(require_Makefile_am): ...to this.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: simplify copying of files that are edited during install.
Gary V. Vaughan [Thu, 10 Nov 2011 11:27:51 +0000 (18:27 +0700)] 
libtoolize: simplify copying of files that are edited during install.

* libltdl/Makefile.inc (EXTRA_DIST): Don't list autotools files
that Automake automatically adds to a (subproject)
distribution...
* Makefile.am (EXTRA_DIST): ...although, our layout is a bit odd
because we reuse libltdl/Makefile.inc in non-recursive mode in
our own tree, so we do need to add those very same files here...
* libtoolize.m4sh (require_Makefile_am_filter)
(require_Makefile_inc_filter): ...all of which means we no
longer need to manually remove those files at libtoolize time.
These two new functions are factored out of...
(func_fixup_Makefile): ...this old function, now removed.
(func_copy): Add support for an optional sed script as the last
argument to filter the content of a file as it is copied.
(func_install_pkgltdl_files): Much simplified by $require_<foo>
the relevant filter scripts and passing them to func_copy.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: simplify file-copying and -linking call-graph.
Gary V. Vaughan [Thu, 10 Nov 2011 09:14:48 +0000 (16:14 +0700)] 
libtoolize: simplify file-copying and -linking call-graph.

* libtoolize.m4sh (TAR): Remove.
(func_copy_some_files, func_copy_cb): Remove.
(func_copy): Refactor from all of the above, and simplify. No
need to use $TAR to preserve timestamps when copying, since
we've been running touch right afterwards anyway. Adjust all
callers to use the new argument footprint.
(func_serial_update, func_keyword_update): Delete any pre-
existing destination file when used with `--force' before
calling func_copy, now that the hardcoded special cases are not
in there any more.
(func_install_pkgmacro_subproject)
(func_install_pkgaux_subproject): Use our own file loop -
func_copy subsumes all the checks previously in
func_copy_some_files, but operates on only one file at a time.
(func_install_pkgltdl_files): Similarly, handle aclocal.m4 and
configure special cases here, before calling func_copy.
* tests/libtoolize.at: Make sure we match corrected "copying
`configure.ac'" output.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: generate full and correct ChangeLog.
Gary V. Vaughan [Thu, 17 Nov 2011 05:26:39 +0000 (12:26 +0700)] 
maint: generate full and correct ChangeLog.

* gnulib: Updated to pick up gitlog-to-changelog multi-author
support.
* gl/build-aux/gitlog-to-changelog.diff: Use gnulib-rejected
patch for '(tiny change)' support.
* Makefile.am (ChangeLog): Use gitlog-to-changelog --amend=F
option.
* libltdl/config/git-hooks/commit-msg: New commit message hook
for git.
* libltdl/config/git-log-fix: New file, with ChangeLog fixes.
* HACKING (Using git): Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agooptions-parser: provide a saner pluggable API.
Gary V. Vaughan [Wed, 16 Nov 2011 05:43:53 +0000 (12:43 +0700)] 
options-parser: provide a saner pluggable API.

It's much too easy to forget that the functions you hook into
the option parser need to return unconsumed options in the
variable `func_run_hooks_result'; better to follow the
convention used in the rest of bootstrap and return results in a
variable named after the function with `_result' appended.
* libltdl/config/options-parser (func_run_hooks): implement this
new API.
(Option parsing): Update the example in the header comment for
this section to reflect the changes.
* bootstrap (bootstrap_options_prep, bootstrap_parse_options)
(bootstrap_validate_options): Adjust.
* bootstrap.conf (libtool_options_prep, libtool_parse_options)
(libtool_validate_options): Ditto.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agobootstrap: display accurate usage message.
Gary V. Vaughan [Wed, 16 Nov 2011 05:13:55 +0000 (12:13 +0700)] 
bootstrap: display accurate usage message.

After splitting bootstrap up, we also lost bootstraps usage
message, and were incorrectly displaying a partial extract-trace
message.
* bootstrap (usage): Set appropriately.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agobootstrap: accept --gnulib-srcdir=/path/to/gnulib again.
Gary V. Vaughan [Wed, 16 Nov 2011 05:04:02 +0000 (12:04 +0700)] 
bootstrap: accept --gnulib-srcdir=/path/to/gnulib again.

During the split of bootstrap into options-parser and
extract-trace, the generic long-option splitting code got lost.
* libltdl/config/options-parser (func_parse_options): Add the
code to split any long option separated by an equals from its
optarg back in.
Reported by Roumen Petrov.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agognulib: update gnulib submodule.
Gary V. Vaughan [Tue, 15 Nov 2011 09:44:15 +0000 (16:44 +0700)] 
gnulib: update gnulib submodule.

Among others, this fixes a bug in _build-aux expansion so that
`make syntax-check' works again.
* gnulib: Updated to todays master HEAD revision.
* gl/top/maint.mk.diff: Remove. This patch has been applied
upstream already.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: remove NL2SP and initialisation.
Gary V. Vaughan [Mon, 14 Nov 2011 10:37:39 +0000 (17:37 +0700)] 
libtoolize: remove NL2SP and initialisation.

There's only a single use of NL2SP, and that is redundant.
* libtoolize.m4sh (func_serial_update): Factor away use of
NL2SP.
(NL2SP, SP2NL): Remove initialisation.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agobootstrap: remove consumed options from the list to be processed.
Gary V. Vaughan [Tue, 15 Nov 2011 06:26:53 +0000 (13:26 +0700)] 
bootstrap: remove consumed options from the list to be processed.

Fix a bug where processed bootstrap options were not removed
from the queue, and eventually flagged as unknown in the
pluggable option parser driver.
* bootstrap (bootstrap_parse_options)
(bootstrap_validate_options): Follow the pluggable option parser
API correctly, and set func_run_hooks_result to the list of
remaining unconsumed options.
Reported by Roumen Petrov <bugtrack@roumenpetrov.info>

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: refactor $opt_quiet, func_echo and func_echo_once.
Gary V. Vaughan [Wed, 9 Nov 2011 09:14:13 +0000 (16:14 +0700)] 
libtoolize: refactor $opt_quiet, func_echo and func_echo_once.

Instead of long sequences checking for setting of $opt_quiet,
followed by one or more func_echo variations, add and use a new
function func_whisper - the complement of func_verbose.
* libtoolize.m4sh (func_whisper): New function. Adjust all
callers previously using `$opt_quiet || func_echo ...'.
(func_whisper_once): Ditto, for `$opt_quiet || func_echo_once
...'.
(func_whisper_hdr): New function, adjust all callers previously
using `func_whisper_once ...; func_whisper ...'.
(func_whisper_error_header): Ditto, but calling func_error.
(func_echo_once): Remove.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: update a bit-rotted comment.
Gary V. Vaughan [Thu, 10 Nov 2011 05:27:34 +0000 (12:27 +0700)] 
libtoolize: update a bit-rotted comment.

* libtoolize (func_copy_cb): Since this comment was written, the
function has been changed to timestamp files as it copies.
Update the comment to reflect that.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agogeneral.m4sh: relative path to the same directory is `.'.
Gary V. Vaughan [Mon, 14 Nov 2011 10:15:39 +0000 (17:15 +0700)] 
general.m4sh: relative path to the same directory is `.'.

* general.m4sh (func_relative_path): We sometimes want to use
the result of this function directly, rather than purely as a
prefix, so we need to return `.' when both directories end up at
the same location.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agoltmain.sh: append relative path trailing slashes explicitly.
Gary V. Vaughan [Fri, 11 Nov 2011 03:06:20 +0000 (10:06 +0700)] 
ltmain.sh: append relative path trailing slashes explicitly.

In addition to being more idiomatic, and hence minimising
suprises, seeing the slash written explicity when appending to
the result of a relative path calculation is a lot more
readable.
* libltdl/config/general.m4sh (func_relative_path): Don't append
an implicit trailing slash...
* libltdl/config/ltmain.m4sh (func_mode_link): ...write it
explicitly at the time of use.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agobuild: use pkgauxdir for local install and uninstall rules.
Gary V. Vaughan [Wed, 9 Nov 2011 07:10:13 +0000 (14:10 +0700)] 
build: use pkgauxdir for local install and uninstall rules.

* Makefile.am (pkgauxdir): Set it correctly.
(uninstall-hook): Use it for pkgaux_scripts and
pkgaux_data_files.
(install-data-local): Ditto.
Remove `config/' prefix from extract-trace and option-parser
items.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agoinstall: correct a typo in pkgaux_files location.
Gary V. Vaughan [Tue, 8 Nov 2011 17:53:33 +0000 (00:53 +0700)] 
install: correct a typo in pkgaux_files location.

* Makefile.am (install-data-local): Install pkgaux_files
directly from $(aux_dir) [./libltdl/config at the moment].

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: order pkgltdl_files to avoid reconfiguration.
Gary V. Vaughan [Tue, 8 Nov 2011 17:18:02 +0000 (00:18 +0700)] 
libtoolize: order pkgltdl_files to avoid reconfiguration.

* Makefile.am (pkgltdl_files): aclocal.m4 depends on
configure.ac, and will cause spurious reconfiguration of freshly
`libtoolize --ltdl' tree if we don't ensure configure.ac is the
older of these two files.
* tests/libtoolize.at: Adjust expout order to match.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agobuild: remove an over-exuberant $(srcdir) prefix.
Gary V. Vaughan [Tue, 8 Nov 2011 15:05:45 +0000 (22:05 +0700)] 
build: remove an over-exuberant $(srcdir) prefix.

* Makefile.am (git_version_gen): No need for an extra $(srcdir)
in the path when we always use after `cd $(srcdir).

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: massage installed auxiliary script list at make time.
Gary V. Vaughan [Fri, 28 Oct 2011 13:45:56 +0000 (20:45 +0700)] 
libtoolize: massage installed auxiliary script list at make time.

* Makefile.am (configure_edit): Rename pkgconfig_files
substitution to pkgaux_files, and add pkgaux_install_files and
pkgaux_parent_files substitutions for atlocal.
(pkgauxdir): Where to install pkgaux_files.
(auxfiles): Removed, and replaced by...
(pkgaux_parent_files, pkgaux_install_files, pkgaux_data_files):
...these, which separate the files lists more logically for
easier installation, and use by libtoolize.m4sh.
(uninstall-hook): Adjust.
(tests/atlocal): Adjust.
* bootstrap.conf (libtool_link_libltdl_subdirs): Adjust.
* libtoolize.m4sh (func_install_pkgconfig_files)
(func_install_pkgconfig_subproject)
(func_install_pkgconfig_parent, func_install_pkgconfig_files)
(all_pkgconfig_files): Renamed to...
(func_install_pkgaux_files, unc_install_pkgaux_subproject)
(func_install_pkgaux_parent, func_install_pkgaux_files)
(all_pkgaux_files): ...these, resp. Adjust all callers.
(func_massage_pkgconfig_files): Removed.
(pkgaux_files): List of all auxiliary scripts substituted from
Makefile.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: massage installed libltdl file list at make time.
Gary V. Vaughan [Fri, 28 Oct 2011 16:25:48 +0000 (23:25 +0700)] 
libtoolize: massage installed libltdl file list at make time.

* libtoolize.m4sh (pkgltdldir, pkgdatadir): Put installable
libltdl files in pkgdatadir. When testing, and _lt_pkgdatadir
is set, adjust to look in libltdl subdirectory.
(func_massage_pkgltdl_files): Removed function and only caller,
because...
(pkgltdl_files): ...we substitute the pre-massaged files
directly...
(func_install_pkgltdl_files): ...from here.
Adjust installation of specially handled additional files.
* Makefile.am (ltdldir): Location of libltdl files in source
tree.
(ltdldest, ltdldatafiles): Removed.
(pkgltdl_files): New pre-massaged list of libltdl sources.
(install-data-local, uninstall-hook): Use it.
* tests/libtoolize.at: Reorder expected output to match actual
libtoolize output.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: massage installed macro list at make time.
Gary V. Vaughan [Fri, 28 Oct 2011 09:46:52 +0000 (16:46 +0700)] 
libtoolize: massage installed macro list at make time.

* libtoolize.m4sh (func_massage_aclocal_DATA): Removed function
and only caller, because...
(pkgmacro_files): ...we substitute the pre-massaged files
directly...
(func_install_pkgmacro_files): ...from here.
* Makefile.am (pkgmacro_files): New pre-massaged list of aclocal
macros used by func_install_pkgmacro_files.
(configure_edit): Substitute pkgmacro_files instead of
aclocalfiles.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: use only space delimited file lists.
Gary V. Vaughan [Fri, 28 Oct 2011 12:18:43 +0000 (19:18 +0700)] 
libtoolize: use only space delimited file lists.

We don't install any files with whitespace in their file name,
so using colon delimited lists to make that possible was a
premature optimisation and an unneeded complication.
* libtoolize.m4sh (func_copy_some_files): Remove IFS twiddling,
and just pull space delimited files in a for loop idiomatically.
(func_massage_aclocal_DATA, func_install_pkgmacro_subproject)
(func_install_pkgmacro_parent, func_install_pkgmacro_files)
(func_massage_pkgltdl_files, func_massage_pkgconfig_files):
Append to file lists with space delimiter.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: remove sed based configure scanning.
Gary V. Vaughan [Fri, 4 Nov 2011 10:08:32 +0000 (17:08 +0700)] 
libtoolize: remove sed based configure scanning.

* libtoolize (func_scan_files): Removed function and callers.
(require_seen_ltdl, require_seen_libtool): Factor out remaining
functionality of former sed based scanning.
(func_check_macros): Adjust.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: refactor ltdl_mode discovery.
Gary V. Vaughan [Fri, 4 Nov 2011 09:10:28 +0000 (16:10 +0700)] 
libtoolize: refactor ltdl_mode discovery.

* libtoolize.m4sh (require_ac_ltdl_mode)
(require_ac_ltdl_options, require_ltdl_mode): New functions
factored out of func_scan_files for scanning and setting
ltdl_mode and friends.
(func_scan_files): Remove the factored out code.
(func_install_pkgmacro_files, func_install_pkgltdl_files)
(func_install_pkgconfig_files, func_check_macros): Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: refactor ltdl_dir discovery.
Gary V. Vaughan [Fri, 4 Nov 2011 07:43:23 +0000 (14:43 +0700)] 
libtoolize: refactor ltdl_dir discovery.

* libtoolize.m4sh (require_ac_ltdl_dir, require_ltdl_dir):
New functions factored out of func_scan_files for scanning and
setting ac_ltdl_dir and ltdl_dir resp.
(func_scan_files): Remove the factored out code.
(func_fixup_Makefile, func_serial_update_check)
(func_install_pkgltdl_files, func_install_pkgconfig_subproject)
(func_check_macros): Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: refactor aux_dir discovery.
Gary V. Vaughan [Thu, 3 Nov 2011 18:30:24 +0000 (01:30 +0700)] 
libtoolize: refactor aux_dir discovery.

* libtoolize.m4sh (require_ac_aux_dir, require_aux_dir): New
functions factored out of func_scan_files for scanning and
setting aux_dir and friends.
(func_scan_files): Remove the factored out code to scan
configure.ac with sed, and then set macro_dir appropriately.
(func_install_pkgconfig_subproject, func_install_pkgconfig_parent)
(func_install_pkgmacro_files, func_check_macros): Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: install autoconf macros only if there is a $configure_ac.
Gary V. Vaughan [Mon, 7 Nov 2011 14:06:59 +0000 (21:06 +0700)] 
libtoolize: install autoconf macros only if there is a $configure_ac.

* libtoolize.m4sh (func_install_pkgmacro_files): If there is no
$configure_ac in the parent project directory, and libtoolize is
in subproject mode, then the parent project has no use for
autoconf macros, so don't install them.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: display aux files output header for non-autoconf parents.
Gary V. Vaughan [Mon, 7 Nov 2011 13:49:53 +0000 (20:49 +0700)] 
libtoolize: display aux files output header for non-autoconf parents.

* libtoolize.m4sh (func_install_pkgconfig_subproject): When the
parent project does not use Autoconf, be sure to display an
output header before copying auxiliary files despite not being
able to scan for AC_CONFIG_AUX_DIR arguments.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: refactor macro_dir discovery around extract-trace script.
Gary V. Vaughan [Thu, 3 Nov 2011 17:44:08 +0000 (00:44 +0700)] 
libtoolize: refactor macro_dir discovery around extract-trace script.

* libtoolize.m4sh (func_extract_trace): Function to call
$aux_dir/extract-trace.  The name and footprint are the same as
the core function in the extract-trace script file so that we
can choose to source that file when the option processing
becomes compatible with ours.
(require_ac_macro_dir, require_aclocal_amflags)
(require_am_macro_dir, require_macro_dir, require_makefile_am):
New functions factored out of func_scan_files for scanning and
setting macro_dir and friends.
(func_scan_files): Remove the factored out code to scan
configure.ac with sed, and then set macro_dir appropriately.
(func_serial_update_check, func_install_pkgmacro_subproject)
(func_install_pkgmacro_parent, func_install_pkgmacro_files)
(func_check_macros): Adjust.
* tests/libtoolize.at (Subproject ltdl without GNU M4): New test
to ensure `libtoolize --subproject' continues to work without a
GNU M4 dependency.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: refactor configure_ac discovery.
Gary V. Vaughan [Thu, 3 Nov 2011 14:45:15 +0000 (21:45 +0700)] 
libtoolize: refactor configure_ac discovery.

Make a start on decomposing some of the giant functions at the
heart of libtoolize into the much more flexible and manageable
(albeit somewhat more verbose) model of self-organising
$require_<foo> function pointers.
* libtoolize.m4sh (require_configure_ac): New function factored
out of func_scan_files for setting $configure_ac appropriately,
implementation taken from extract-trace script.
(func_autoconf_configure): And similarly for ensuring that a
filename which matches something Autoconf would read also has
content that appears to be destined for Autoconf processing.
(func_scan_files): Simplified the factored out code to a single
require_configure_ac call.
(func_install_pkgconfig_files, func_check_macros): Ditto.
(seen_autoconf): Removed.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agobootstrap: split into reusable parts.
Gary V. Vaughan [Thu, 3 Nov 2011 08:23:45 +0000 (15:23 +0700)] 
bootstrap: split into reusable parts.

* bootstrap: Bourne shell has no scoping, so be extremely
careful with namespaces, functions in `^func_' and `^require_';
private variables in `^_G_', and public variables all well
documented by comments.
* libltdl/config/extract-trace: New file, containing the minimum
of code previously in bootstrap plus a little glue to make the
GNU M4 based autotools tracing function (as opposed to the
kludgy sed extraction currently used everywhere else) a
standalone script that can be executed or sourced.
* libltdl/config/options-parser: New file, containing the
pluggable options parser code shared between the other two.
* bootstrap.conf: Adjust.
* Makefile.am (EXTRA_DIST): Be sure to distribute the new
extract-trace and options-parser scripts.
(install-data-local): And install them where libtoolize can find
them.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agotests: prefix absolute directory variables with 'abs_'.
Gary V. Vaughan [Sun, 6 Nov 2011 05:14:40 +0000 (12:14 +0700)] 
tests: prefix absolute directory variables with 'abs_'.

Avoid any possible confusion about the contests of thes
variables compared to $aux_dir, $macro_dir and $src_dir in
configure.ac, Makefile.am, libtoolize.m4sh and others.
* tests/defs.m4sh (aux_dir, macro_dir, srcdir): Rename these...
(abs_aux_dir, abs_macro_dir, abs_srcdir): ...to these resp.
* tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test,
tests/cdemo-static-exec.test, tests/cdemo-static-make.test,
tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test,
tests/demo-nofast-exec.test, tests/demo-nofast-inst.test,
tests/demo-nofast-make.test, tests/demo-nofast-unst.test,
tests/demo-nopic-exec.test, tests/demo-nopic-make.test,
tests/demo-pic-exec.test, tests/demo-pic-make.test,
tests/demo-shared-exec.test, tests/demo-shared-inst.test,
tests/demo-shared-make.test, tests/demo-shared-unst.test,
tests/demo-static-exec.test, tests/demo-static-inst.test,
tests/demo-static-make.test, tests/demo-static-unst.test,
tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test,
tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test,
tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test,
tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test,
tests/depdemo-static-exec.test, tests/depdemo-static-inst.test,
tests/depdemo-static-make.test, tests/depdemo-static-unst.test,
tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test,
tests/f77demo-static-exec.test, tests/f77demo-static-make.test,
tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test,
tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test,
tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test,
tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test,
tests/mdemo-static-exec.test, tests/mdemo-static-inst.test,
tests/mdemo-static-make.test, tests/mdemo-static-unst.test,
tests/sh.test, tests/tagdemo-shared-exec.test,
tests/tagdemo-shared-make.test, tests/tagdemo-static-exec.test,
tests/tagdemo-static-make.test, tests/tagdemo-undef-exec.test,
tests/tagdemo-undef-make.test, tests/tagtrace.test: Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: calculate required mkinstalldirs calls during `make install'.
Gary V. Vaughan [Sun, 6 Nov 2011 10:55:08 +0000 (17:55 +0700)] 
maint: calculate required mkinstalldirs calls during `make install'.

* Makefile.am (install-data-local): Make sure all destination
directories are in place before copying files there, without
hardcoding them.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: substitute static directory names.
Gary V. Vaughan [Sun, 6 Nov 2011 04:48:38 +0000 (11:48 +0700)] 
maint: substitute static directory names.

By substituting just the directory name as passed to the macro,
aux_dir can be used with or without $srcdir prefix, which is
more flexible, and always means the same thing in each file,
rather than sometimes being a directory name, sometimes relative
to $top_srcdir.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR)
(LT_CONFIG_LTDL_DIR): Don't force config.status substitutions
with unexpanded shell variables.
* Makefile.am, tests/defs.m4sh: Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: fix spelling nit.
Peter Rosin [Mon, 7 Nov 2011 10:49:39 +0000 (11:49 +0100)] 
libtoolize: fix spelling nit.

* libtoolize (M4SH_GETOPTS): Fix spelling nit.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
13 years agotests: fix parsing of configure output by pic_flag.at.
Gary V. Vaughan [Mon, 7 Nov 2011 16:43:56 +0000 (23:43 +0700)] 
tests: fix parsing of configure output by pic_flag.at.

Close http://debbugs.gnu.org/9962.
* tests/pic_flag.at (LT_AT_CONFIGURE): Make sure to configure
with --disable-silent-rules so that the full output parsed by
the rest of the test is available.
Reported by Roumen Petrov.

Signed-off-by: Gary V. Vaughan <gary@vaughan.pe>
13 years agolibtoolize: rename `--subproject' option, and make it work.
Gary V. Vaughan [Mon, 7 Nov 2011 04:34:13 +0000 (11:34 +0700)] 
libtoolize: rename `--subproject' option, and make it work.

* libtoolize (M4SH_GETOPTS): Remove `--standalone', which never
worked, and add `--subproject' which sets ltdl_mode correctly.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: fix a scoping bug in func_aclocal_update_check.
Gary V. Vaughan [Sat, 5 Nov 2011 12:40:30 +0000 (19:40 +0700)] 
libtoolize: fix a scoping bug in func_aclocal_update_check.

libtoolize.m4sh (func_aclocal_update_check): This body of this
function used a global variable set by the outer loop of the
caller. Fix to Use the function argument correctly.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: rename the debug shell command variable to `debug_cmd'.
Gary V. Vaughan [Fri, 4 Nov 2011 11:38:06 +0000 (18:38 +0700)] 
maint: rename the debug shell command variable to `debug_cmd'.

Not only does it make more sense, it also matches bootstrap and
others.
* libtoolize.m4sh, libltdl/config/ltmain.m4sh,
libltdl/config/getopt.m4sh, tests/defs.m4sh (opt_debug): Rename
to debug_cmd.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: dynamically strip unused scripts from libltdl Makefile.
Gary V. Vaughan [Sun, 30 Oct 2011 04:03:00 +0000 (11:03 +0700)] 
maint: dynamically strip unused scripts from libltdl Makefile.

* configure.ac (pkgaux_scripts): Centrally maintain the complete
list of aux scripts required to build libltdl, and which need to
be installed by libtoolize --ltdl, and consequently need to be
placed in $pkgdatadir by make install.
* Makefile.am (libltdl/stamp.mk): Improved to strip the unused
scripts not listed in pkgaux_scripts without the need for manual
synchronisation.
(auxexefiles): Removed. Replaced by new pkgaux_scripts
substitution.
(install-data-local): Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agobuild: substitute paths into defs.m4sh instead of recalculating.
Gary V. Vaughan [Thu, 27 Oct 2011 04:50:53 +0000 (11:50 +0700)] 
build: substitute paths into defs.m4sh instead of recalculating.

* Makefile.am (configure_edit): Add substitutions for aux_dir,
macro_dir and srcdir.
* tests/defs.m4sh: Don't recalculate srcdir.
(aux_dir, macro_dir, srcdir): Convert to absolute paths.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agobuild: support AM_SILENT_RULES
Gary V. Vaughan [Mon, 31 Oct 2011 08:21:40 +0000 (15:21 +0700)] 
build: support AM_SILENT_RULES

* configure.ac: Add AM_SILENT_RULES.
* libltdl/configure.ac: Ditto, but only if defined.
* Makefile.am (.version, ChangeLog, README, doc/notes.txt)
(libtool, libtoolize, libtoolize.in, libltdl/Makefile.am)
(libltdl/stamp-mk, m4/ltversion.m4, tests/atconfig, tests/defs)
(tests/defs.in, tests/package.m4): Output an AM_SILENT_RULES-like
GEN when V==0.
* libltdl/Makfile.inc (libltdl/argz.h): Ditto.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: add autobuild prerequisite only if autobuild.m4 is absent.
Gary V. Vaughan [Thu, 27 Oct 2011 05:10:49 +0000 (12:10 +0700)] 
maint: add autobuild prerequisite only if autobuild.m4 is absent.

* bootstrap (func_require_autobuild_buildreq): Skip if autobuild.m4
is already present.
* bootstrap.conf (require_autobuild_bulidreq): No need to set this
specially any more.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: ensure bootstrap runs from dist tarball.
Gary V. Vaughan [Wed, 26 Oct 2011 05:58:35 +0000 (12:58 +0700)] 
maint: ensure bootstrap runs from dist tarball.

* bootstrap (func_gnulib_tool_copy_file): When gnulib-tool is
not available, check that there is a copy of the file from a
previous run available before bailing out with a diagnostic.
(func_install_gnulib_non_module_files): Don't diagnose missing
files explicitly - func_gnulib_tool_copy_file takes care of it
now.
(func_require_checkout_only_file): In the diagnostic for
not being in a source-controlled tree, note that `--force' must
be used to rebootstrap.
(func_require_gnulib_files_already_present): Removed.  All the
necessary checks are correctly performed in
func_gnulib_tool_copy_file withot resorting to heuristics.
(func_require_gnulib_mk): Don't continue to try to access
gnulib-cache.m4 after discovering we're running from a dist
tarball.
(func_require_dotgitmodules_parameters): Skip if .gitmodules
file is missing and git binary is not available.
* bootstrap.conf (checkout_only_file): Set to HACKING, which is
a non-distributed file.
(libtool_cleanup_empty_dirs): Don't print spurious errors when
trying to delete gnulib-tool droppings, in case gnulib-tool is
not available on this run.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agotests: add a keyword `expensive' to very long running tests.
Gary V. Vaughan [Mon, 31 Oct 2011 09:52:16 +0000 (16:52 +0700)] 
tests: add a keyword `expensive' to very long running tests.

* tests/cmdline_wrap.at, tests/stresstest.at (AT_KEYWORDS): Add
`expensive'.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agolibtoolize: fix some long-standing sed substitution bugs
Gary V. Vaughan [Mon, 31 Oct 2011 11:29:35 +0000 (18:29 +0700)] 
libtoolize: fix some long-standing sed substitution bugs

* libtoolize.m4sh (func_fixup_Makefile): `\\\\\$' in a " quoted
script that is evaluated twice before execution becomes a `\$',
which sed interprets as a literal $.  The script will then delete
any lines with a first non-whitespace character of `$'. Instead
use `\\\\$' in single quotes, which sed eventually receives as
`\\$' and correctly interprets as part of an instruction to
delete otherwise empty lines ending with a `\'.
Additionally the rest of the same sed script is no longer
applied to comment lines to avoid munging the copyright header
among others.
* NEWS: Updated.

13 years agomaint: use gnulib's gitlog-to-changelog instead of a ChangeLog file.
Gary V. Vaughan [Sat, 22 Oct 2011 09:46:31 +0000 (16:46 +0700)] 
maint: use gnulib's gitlog-to-changelog instead of a ChangeLog file.

* ChangeLog: Removed.
* HACKING (Editing 'ChangeLog'): Removed. Renumbered other sections to
compensate.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
* Makefile.am (ChangeLog): Generate the ChangeLog for 2011...
(dist-hook): ...from the output of `git log' before rolling a
distribution tarball.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: use gnulib's git-version-gen instead of mkstamp.
Gary V. Vaughan [Thu, 20 Oct 2011 15:17:23 +0000 (22:17 +0700)] 
maint: use gnulib's git-version-gen instead of mkstamp.

* libltdl/config/mkstamp: File removed.
* bootstrap.conf (gnulib_modules): Add git-version-gen.
* configure.ac (AC_INIT, package_revision): Use git-version-gen to
calculate version number.
(TIMESTAMP): Removed.
* libtoolize.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4
(TIMESTAMP): Ditto.
* Makefile.am (TIMESTAMP): Ditto.
(MKSTAMP): Renamed from this...
(git_version_gen): ...to this. Set revision here.  An alpha is now a
release with an odd micro relase number.
(rebuild): Don't reset revision here.
(build_scripts): Remove mkstamp, add git-version-gen.
(EXTRA_DIST, BUILT_SOURCES): Add .version.
(libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4, tests/package.m4):
Don't depend on configure.ac or ChangeLog to determine when the
version number has reved, use .version directly.
(.version): Flush most recent configure calculated VERSION to disk.
(dist-hook): Flush current VERSION to disk at dist time.
(dotserial): Distributed file to cache the serial number for
when git is not available to recalculate it when building from a
release tarball.
(dist-hook): Make sure .serial is created.
(libltdl/config/ltversion.m4): Use .serial when it is present
(in a dist tarball) or calculate with git otherwise (in a git
working directory).
(EXTRA_DIST): Add .serial file.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: use gnulib's maint.mk and support scripts release procedure.
Gary V. Vaughan [Tue, 18 Oct 2011 16:24:53 +0000 (23:24 +0700)] 
maint: use gnulib's maint.mk and support scripts release procedure.

* Makefile.maint: Removed.
* configure.ac (LASTRELEASE, lt_major, lt_minor, lt_micro, lt_alpha):
All removed. Makefile.maint was the only client.
* HACKING (Release Procedure): Removed.
* bootstrap.conf (gnulib_modules): Add announce-gen,
do-release-commit-and-tag, gendocs, gnu-web-doc-update, gnupload and
readme-release.
* cfg.mk (manual_title): Set it for web-manual rule.
(announcement_Cc_): Release announcement email addresses.
* Makefile.am (build_scripts): Add to EXTRA_DIST additional files
imported from gnulib for maint.mk release procedure.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agotests: ensure VPATH autom4te search path can find autotests.
Gary V. Vaughan [Mon, 24 Oct 2011 07:49:30 +0000 (14:49 +0700)] 
tests: ensure VPATH autom4te search path can find autotests.

* Makefile.am (tests/testsuite): Passing only $(srcdir) include path
to autom4te is unable to find tests/package.m4, and passing only
$(srcdir)/tests breaks VPATH build searches for TESTSUITE_AT files,
which are relative to $(srcdir)... so we pass both!
* NEWS: Updated.
Reported by Bob Friesenhahn.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agodoc: modernize libtool.texi.
Karl Berry [Mon, 24 Oct 2011 02:31:55 +0000 (09:31 +0700)] 
doc: modernize libtool.texi.

* libtool.texi (@copying): Use this instead of @ifnottex; format for
Texinfo; eliminate obsolete paragraph about TeX; use @insertcopying
instead of duplicating text.
(@syncodeindex): Move all to the Texinfo header, where they belong.
(@dircategory): Use "Software development" instead of "GNU programming
tools", for consistency; and align individual entries to avoid
multiple lines; and move to after the copyright message.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agomaint: don't make autobuild a hard bootstrap requirement.
Gary V. Vaughan [Mon, 24 Oct 2011 01:43:46 +0000 (08:43 +0700)] 
maint: don't make autobuild a hard bootstrap requirement.

* bootstrap.conf (require_autobuild_buildreq): Reset this to ':' so
that bootstrap doesn't auto-add autobuild to $buildreq.

13 years agomaint: use gnulib's maintainer-makefile module.
Gary V. Vaughan [Wed, 19 Oct 2011 04:48:56 +0000 (11:48 +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 <gary@gnu.org>
13 years agomaint: use gnulib's canonical fdl.texi.
Gary V. Vaughan [Wed, 19 Oct 2011 05:22:12 +0000 (12:22 +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 <gary@gnu.org>
13 years agomaint: use gnulib's canonical COPYING files.
Gary V. Vaughan [Tue, 18 Oct 2011 14:23:31 +0000 (21:23 +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 <gary@gnu.org>
13 years agomaint: use gnulib's (pending saner) bootstrap script.
Gary V. Vaughan [Fri, 24 Sep 2010 21:26:00 +0000 (04:26 +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 <gary@gnu.org>
13 years agomaint: add gnulib submodule.
Gary V. Vaughan [Thu, 9 Sep 2010 18:14:41 +0000 (01:14 +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 <gary@gnu.org>
13 years agomaint: tidy, sort and consolidate .gitignore files.
Gary V. Vaughan [Wed, 8 Sep 2010 07:49:32 +0000 (14:49 +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.

13 years agomaint: don't run help2man on programs not-yet-built.
Gary V. Vaughan [Fri, 24 Sep 2010 21:18:04 +0000 (04:18 +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 <gary@gnu.org>
13 years agotests: remove unused `aux_dir' variable from `getopt-m4sh.test'.
Gary V. Vaughan [Sun, 26 Sep 2010 11:25:36 +0000 (18:25 +0700)] 
tests: remove unused `aux_dir' variable from `getopt-m4sh.test'.

* tests/getopt-m4sh.at (aux_dir): Remove unused variable.

13 years agotests: DRYing out `tests/sh.test'.
Gary V. Vaughan [Sun, 26 Sep 2010 11:19:18 +0000 (18:19 +0700)] 
tests: DRYing out `tests/sh.test'.

* Makefile.am (libtool_m4): Canonical location of libtool.m4 file.
(lt_aclocal_m4_deps): Use it.

13 years agomaint: pass directory declarations in configure.ac into Makefile.
Gary V. Vaughan [Fri, 24 Sep 2010 21:01:56 +0000 (04:01 +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.

13 years agomaint: factor out ltmain.sh variable deletion.
Gary V. Vaughan [Sun, 26 Sep 2010 09:21:10 +0000 (16:21 +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.

13 years agomaint: DRYing out `Makefile.am' file paths.
Gary V. Vaughan [Fri, 24 Sep 2010 20:40:27 +0000 (03:40 +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)'.

13 years agoCLEANUP: fix error from pushing too far up the branch.
Gary V. Vaughan [Fri, 24 Sep 2010 20:25:48 +0000 (03:25 +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.

13 years agomaint: use macro_dir consistently in all files.
Gary V. Vaughan [Fri, 24 Sep 2010 14:12:18 +0000 (21:12 +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 <gary@gnu.org>
13 years agomaint: use aux_dir consistently in all files.
Gary V. Vaughan [Fri, 24 Sep 2010 14:10:19 +0000 (21:10 +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 <gary@gnu.org>
13 years agoMakefile: try to be robust against shell meta-chars in filenames.
Gary V. Vaughan [Fri, 24 Sep 2010 13:58:39 +0000 (20:58 +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 <gary@gnu.org>
13 years agomaint: let make employ user's `SED' setting.
Gary V. Vaughan [Fri, 24 Sep 2010 13:26:36 +0000 (20:26 +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 <gary@gnu.org>
13 years agomaint: simplify and improve safety of bootstrap process.
Gary V. Vaughan [Thu, 2 Sep 2010 09:44:32 +0000 (16:44 +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 <gary@gnu.org>
13 years agobuild: eliminate superfluous temporary files from `Makefile.am'.
Gary V. Vaughan [Thu, 23 Sep 2010 12:53:48 +0000 (19:53 +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 <gary@gnu.org>
13 years agobuild: eliminate `ltmain.in' and `libtoolize.in' intermediate files.
Gary V. Vaughan [Thu, 23 Sep 2010 12:42:30 +0000 (19:42 +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 <gary@gnu.org>
13 years agobuild: don't hardcode repeated long paths in Makefile rules.
Gary V. Vaughan [Thu, 23 Sep 2010 12:31:10 +0000 (19:31 +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 <gary@gnu.org>
13 years agobuild: make better use of automatic variables in `Makefile.am'.
Gary V. Vaughan [Thu, 23 Sep 2010 11:30:36 +0000 (18:30 +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 <gary@gnu.org>
13 years agobuild: name temporary files in `Makefile.am' consistently.
Gary V. Vaughan [Thu, 23 Sep 2010 11:44:16 +0000 (18:44 +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 "$@T"' idiom:
* Makefile.am (libltdl/m4/ltversion.m4): Rename temporary file
to `ltversion.tmp'.
(libltdl/config/ltmain.sh): Rename temporary file to
`libltdl/config/ltmain.tmp'.
(libtoolize): Rename temporary file to `libtoolize.tmp'.
(tests/defs): Rename temporary file to `tests/defs.tmp'
(tests/testsuite): Rename temporary file to `tests/testsuite.tmp'.
(CLEANFILES): Append temporary files as we create rules that
use them.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agobuild: factor Makefile.am `m4sh' invocations to LT_M4SH.
Gary V. Vaughan [Thu, 23 Sep 2010 11:06:09 +0000 (18:06 +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 <gary@gnu.org>
13 years agobuild: avoid unnecessary directory changes in Makefile rules.
Gary V. Vaughan [Thu, 23 Sep 2010 11:02:12 +0000 (18:02 +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 <gary@gnu.org>
13 years agobuild: compare `revision' rather than `correctver' in Makefile.am.
Gary V. Vaughan [Thu, 23 Sep 2010 10:37:00 +0000 (17:37 +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 <gary@gnu.org>
13 years agobuild: avoid spurious bootstrap_edit call.
Gary V. Vaughan [Thu, 20 Oct 2011 16:40:13 +0000 (23:40 +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 <gary@gnu.org>
13 years agoPost-release administrivia.
Gary V. Vaughan [Tue, 18 Oct 2011 08:30:13 +0000 (15:30 +0700)] 
Post-release administrivia.

* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
numbers.
* NEWS: Add header line for next release.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agoRelease 2.4.2. v2.4.2
Gary V. Vaughan [Tue, 18 Oct 2011 06:20:53 +0000 (13:20 +0700)] 
Release 2.4.2.

* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
numbers.
* NEWS: Update version number.

13 years agoReplace leading spaces with tabs.
Gary V. Vaughan [Mon, 17 Oct 2011 09:43:18 +0000 (16:43 +0700)] 
Replace leading spaces with tabs.

* libltdl/m4/libtool.m4, libltdl/config/ltmain.m4sh: Replace leading
spaces in soure code with tabs to match surrounding code.

Reported by Peter Rosin.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
13 years agoMake a note to use gnu/linux for version_type.
Gary V. Vaughan [Mon, 17 Oct 2011 05:40:55 +0000 (12:40 +0700)] 
Make a note to use gnu/linux for version_type.

* libltdl/m4/libtool.m4 (version_type): Add a comment to change
version_type setting from 'linux' to 'gnu/linux' during the next
destabilising code refactoring.
* libltdl/config/ltmain.m4sh: ditto.

Requested by Richard Stallman.

13 years agoTypo fix - change func_apped into func_append
Bart Van Assche [Tue, 4 Oct 2011 21:02:35 +0000 (16:02 -0500)] 
Typo fix - change func_apped into func_append

* libltdl/config/ltmain.m4sh: Fix typo.

13 years ago Avoid problems when FreeBSD goes to version 10.
Xin LI [Sun, 2 Oct 2011 15:02:18 +0000 (10:02 -0500)] 
Avoid problems when FreeBSD goes to version 10.

* libltdl/m4/libtool.m4: Remove mentions of freebsd1. Use dots
for FreeBSD 2 and 3 detection to avoid future problems
* libltdl/m4/ltmain.m4sh: ditto.

13 years agoAvoid mentioning "Linux", use "GNU/Linux", if appropriate.
Cristophe Jarry [Sun, 25 Sep 2011 22:39:04 +0000 (17:39 -0500)] 
Avoid mentioning "Linux", use "GNU/Linux", if appropriate.

* TODO: Don't use bare "Linux".
* doc/libtool.texi: ditto.
* doc/notes.texi: ditto.
* libltdl/README: ditto.
* libltdl/m4/libtool.m4: ditto.

13 years agoAdd flag to inhibit warnings.
Peter O'Gorman [Thu, 1 Sep 2011 23:45:03 +0000 (18:45 -0500)] 
Add flag to inhibit warnings.

* libltdl/config/ltmain.m4sh: Add --no-warn, --no-warning flags.
Reported by John Davd Anglin.

14 years agotagdemo: do not rely on picking up symbols from indirect deps.
Kurt Roeckx [Sun, 10 Apr 2011 08:22:43 +0000 (10:22 +0200)] 
tagdemo: do not rely on picking up symbols from indirect deps.

* tests/tagdemo/Makefile.am: Link to all libraries that the
demo application uses.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14 years agoSet shlibpath_overrides_runpath for the Hurd.
Svante Signell [Sun, 10 Apr 2011 08:17:21 +0000 (10:17 +0200)] 
Set shlibpath_overrides_runpath for the Hurd.

* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [gnu]
<shlibpath_overrides_runpath>: Set to no.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14 years agoDon't filter OPENMP flags (-openmp & -fopenmp) from linker lines.
Justin Lecher [Mon, 14 Mar 2011 07:40:50 +0000 (08:40 +0100)] 
Don't filter OPENMP flags (-openmp & -fopenmp) from linker lines.

If -fopenmp if passed to gcc during linking, it will take care to add all
necessary libs to link correctly for openmp support. Currently libtool filters
those flags, similar as it was the case with the threading flags. This change
handles the situation for the openmp support similar as before the thread
support was fixed.

http://lists.gnu.org/archive/html/bug-libtool/2010-12/msg00009.html
http://lists.gnu.org/archive/html/bug-libtool/2011-03/msg00014.html

* libltdl/config/ltmain.m4sh (func_mode_link): Treat OpenMP
flags like pthreads flags.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14 years agolibtoolize: detect -I<dir> (without space) in ACLOCAL_AMFLAGS.
Ralf Wildenhues [Mon, 14 Mar 2011 06:30:53 +0000 (07:30 +0100)] 
libtoolize: detect -I<dir> (without space) in ACLOCAL_AMFLAGS.

* libtoolize.m4sh (func_scan_files): Also accept -I<dir>
(without intervening space) in ACLOCAL_AMFLAGS.
* THANKS: Update.
Report from Jan Engelhardt.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14 years agoOn Mac OS X try .dylib as well as .so with lt_dlopenext
Peter O'Gorman [Fri, 4 Mar 2011 20:35:14 +0000 (14:35 -0600)] 
On Mac OS X try .dylib as well as .so with lt_dlopenext

* libltdl/m4/ltdl.m4: Define extra extension if module extension
differs from shared lib extension.
* libltdl/ltdl.c: Use it.
* tests/darwin.at: Test it.
* NEWS: Announce it.
Reported by Hans Aberg, Michael Ellis, and others.

14 years agoInstall ltmain.sh without execute bit set.
Peter O'Gorman [Mon, 14 Feb 2011 16:34:58 +0000 (10:34 -0600)] 
Install ltmain.sh without execute bit set.

* Makefile.am: change install rule for ltmain.sh
Reported by Křištof Želechovski.