Commit Graph

93 Commits

Author SHA1 Message Date
Pavel Raiskup
dc8bd92d5f gl/funclib.sh: func_quotefast_eval & tilde fix
Testsuite detected that printf built-in in Bash up to 4.2 was not
able to properly escape tilde.

* gl/build-aux/funclib.sh (func_quote_for_eval): If printf
supports -v option, test also whether we properly escape tilde.
With Bash <= 4.2, call func_quote_portable with ~* strings.
* bootstrap: Sync with funclib.sh.
2015-11-04 06:47:52 +01:00
Pavel Raiskup
f323f10d2b gl/tests: new tests for func_quote* family
* gl/modules/funclib.sh-tests: New test module.
* gl/modules/all-shells-tests: New test (helper) module.
* gl/tests/test-funclib-quote.sh: New test case.
* gl/tests/test-all-shells.sh: New gl test helper.
* cfg.mk (sc_useless_braces_in_variable_derefs): Whitelist
new test-funclib-quote.sh as the pattern is used there
intentionally.
(sc_space_tab): Likewise.
(sc_useless_braces_in_variable_derefs): Remove /cvsu pattern as
the file is not used with git.
(sc_prohibit_command_in_subst): New checker.
2015-11-03 20:38:39 +01:00
Pavel Raiskup
9187e9a231 funclib: refactor quoting methods a bit
From now we have two basic functions to perform string quoting for
shell evaluation -- 'func_quote_arg' to quote one argument and
'func_quote' which takes list of arguments to be quoted.

New function name-scheme should be more descriptive (previously we
called func_quote_for_eval with one argument and also multiple
arguments, while we had confusing
$func_quote_for_eval_unquoted_result which is redundant for
multiple-arguments call).

New abstraction allowed us (in an easy way) to implement
bash-specific optimization for quoting  (using
'printf -v VARNAME %q "$value"', suggested by Eric Blake), this
construct may be used on those places where we don't care much
about the result aesthetics (its thus not useful for '*.la'
generation or for error printing).

* gl/build-aux/funclib.sh (func_append_quoted): Use
func_quote_arg internally (kept in 'pretty' mode for now).
(func_quote): Made to be "main" high-level quoting method taking
list of arguments to be quoted into single command.  It replaces
func_quote_for_{expand,eval}.
(func_quote_portable): Implements quoting in shell, falling back
to portable sed call (rare cases).
(func_quotefast_eval): New internal function using fast
bash-specific construct, falling back to func_quote_portable for
non-Bash scripts.
(func_quote_arg): New function to quote one argument.
(func_quote_for_eval): Removed.  All callers changed to call
func_quote.
(func_quote_for_expand): Likewise.
* bootstrap: Sync with funclib.sh and options-parser.
2015-10-12 21:26:51 +02:00
Pavel Raiskup
16dbc070d3 libtool: optimizing options-parser hooks
Its not necessary to (re)func_quote_for_eval in each function in
the hook hierarchy.  Usually it is enough if the leaf function
does func_quote_for_eval and its caller just re-uses the
<CALLEE>_return variable.

This is follow up for the previous commit.

* gl/build-aux/options-parser (func_run_hooks): Propagate
$EXIT_SUCCESS return code down to caller if *any* hook succeeded.
Never re-quote the result -- either the arguments are left
untouched, or the options have already been properly quoted by
succeeding hooks.
(func_parse_options): Quote '$@' and return $EXIT_SUCCESS only if
we changed something.
(func_validate_options): Likewise.
(func_options_prep): Likewise.
(func_options_finish): New hook-caller for 'func_options' hooks.
(func_options): Propagate return value down to top-level caller,
but pay attention we have always set $func_options_result.
* build-aux/ltmain.in (libtool_options_prep): Quote '$@' and
return $EXIT_SUCCESS only if we changed something.
(libtool_parse_options): Likewise.
* bootstrap: Sync gl/build-aux/with option-parser.
2015-10-12 21:26:13 +02:00
Pavel Raiskup
32f0df9835 libtool: mitigate the $sed_quote_subst slowdown
When it is reasonably possible, use shell implementation for
quoting.

References:
http://lists.gnu.org/archive/html/libtool/2015-03/msg00005.html
http://lists.gnu.org/archive/html/libtool/2015-02/msg00000.html
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20006

* gl/build-aux/funclib.sh (func_quote): New function that can be
used as substitution for '$SED $sed_quote_subst' call.
* build-aux/ltmain.in (func_emit_wrapper): Use func_quote instead
of '$SED $sed_quote_subst'.
(func_mode_link): Likewise.
* NEWS: Document.
* bootstrap: Sync with funclib.sh.
2015-10-12 19:21:33 +02:00
Pavel Raiskup
b7b6ec33ba gnulib: sync with upstream
With gnulib commit f8fe25fab60e3, AM_PROG_AR is called
automatically from GL_EARLY macro, which brings its definition
into aclocal.m4.  Sufficiently new enough AM_PROG_AR uses guarding
AC_BEFORE([AM_PROG_AR], [LT_INIT]) call.

Existence of 'LT_INIT' string inside aclocal.m4 however broke
bootstrap's self-defensive libtool_check_for_bogus_macros
function.

* build-aux/no-bogus-m4-defines: New aux helper using m4 for
aclocal.m4 pre-processing.  As this is only bootstrap/dist time
assertion, we don't have to be too much careful (and the AC_BEFORE
pushdef is OK for now).
* boostrap.conf (libtool_check_for_bogus_macros): Use
no-bogus-m4-defines helper to detect bogus macros.
* Makefile.am: Likewise.
* gnulib: Sync with upstream.
* build-aux/git-log-fix: Fix typo.
* gl/build-aux/extract-trace: Fix the script timestamp.
* bootstrap: Sync with extract-trace.
2015-09-29 10:37:57 +02:00
Pavel Raiskup
03ec5f4955 gnulib: sync with upstream
Blacklisting of duplicated ChangeLog entries is now much easier
with new gitlog-to-changelog's option --ignore-matching -- so
patching the script is not necessary.

* Makefile.am ($(changelog)): Start ignoring entries having the
'Omit-from-ChangeLog.' "topic" line.  Use TZ=UTC to generate the
same ChangeLog regardless of the actual time-zone.
* build-aux/git-log-fix: Put the "blacklist" mark at the beginning
of each commit as that is requirement for --ignore-matching.
* gl/build-aux/gitlog-to-changelog.diff: Removed.
* gnulib: Sync with upstream.

Signed-off-by: Pavel Raiskup <praiskup@redhat.com>
2015-09-25 08:29:21 +02:00
Pavel Raiskup
351a88feee libtoolize: fix infinite recursion in m4
Some projects use this construct in configure.ac:

  m4_define([version], m4_include([version]))
  pkg_version=version

When the m4_include builtin is undefined (as was done in
libtoolize and extract-trace scripts), the call to this 'version'
macro enters an infinite recursion (until ENOMEM).  So rather
re-define all potentially dangerous macros by empty strings,
suggested by Eric Blake.

While we are on it, merge the macro-"blacklist" with similar list
implemented in gettext, except for 'm4_esyscmd'.  It's kept
defined because we already trace AC_INIT macro for package
version, while it is often specified by
m4_esyscmd(git-version-gen).  Similarly to m4_include, m4_esyscmd
might be opt-in-blacklisted in future.

References:
http://lists.gnu.org/archive/html/libtool/2015-09/msg00000.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764580

* gl/build-aux/extract-trace (_G_mini): Redefine trace-breaking
macros to empty strings rather than undefining those.  Use 'dnl'
for comments.
* bootstrap: Likewise, sync with extract-trace.
* NEWS: Document.
* NO-THANKS: Mention Hiroyuki Sato.

Signed-off-by: Pavel Raiskup <praiskup@redhat.com>
2015-09-24 16:27:22 +02:00
Gary V. Vaughan
6289a9ab3c maint: undo copyright years regression.
* gl/build-aux/options-parser: Undo copyright years regression.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2015-01-20 19:19:27 +00:00
Gary V. Vaughan
c60e054c36 bootstrap: sync with upstream.
* gl/build-aux/bootstrap.in, gl/build-aux/extract-trace,
gl/build-aux/funclib.sh, gl/build-aux/options-parser: Sync with
upstream.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2015-01-20 17:23:57 +00:00
Gary V. Vaughan
fda42eb8c6 maint: update copyright statements to include 2015.
* AUTHORS, HACKING, Makefile.am, NEWS, README.md, TODO,
bootstrap, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk,
configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in,
gl/build-aux/extract-trace, gl/build-aux/funclib.sh,
gl/build-aux/inline-source, gl/build-aux/options-parser,
libltdl/README, libltdl/configure.ac,
libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__argz_.h,
libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h,
libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h,
libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h,
libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h,
libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c,
libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c,
libltdl/loaders/shl_load.c, libltdl/lt__alloc.c,
libltdl/lt__argz.c, libltdl/lt__dirent.c, libltdl/lt__strl.c,
libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c,
libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in,
m4/autobuild.m4, m4/libtool.m4, m4/ltargz.m4, m4/ltdl.m4,
m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.in,
m4/lt~obsolete.m4, m4/m4.m4, tests/am-subdir.at,
tests/archive-in-archive.at, tests/bindir.at, tests/cdemo.at,
tests/cmdline_wrap.at, tests/configure-iface.at,
tests/convenience.at, tests/ctor.at, tests/cwrapper.at,
tests/darwin.at, tests/demo.at, tests/depdemo.at,
tests/deplib-in-subdir.at, tests/deplibs-ident.at,
tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at,
tests/dumpbin-symbols.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/exceptions.at,
tests/execute-mode.at, tests/exeext.at, tests/export-def.at,
tests/export.at, tests/f77demo.at, tests/fail.at,
tests/fcdemo.at, tests/flags.at, tests/help.at,
tests/indirect_deps.at, tests/infer-tag.at,
tests/inherited_flags.at, tests/install.at,
tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at,
tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at,
tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at,
tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at,
tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at,
tests/need_lib_prefix.at, tests/no-executables.at,
tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at,
tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at,
tests/resident.at, tests/runpath-in-lalib.at,
tests/search-path.at, tests/shlibpath.at, tests/slist.at,
tests/standalone.at, tests/static.at, tests/stresstest.at,
tests/subproject.at, tests/sysroot.at, tests/tagdemo.at,
tests/template.at, tests/testsuite.at, tests/versioning.at,
tests/with-pic.at: Update copyright statement to include 2015.
* cfg.mk: Adjust old_NEWS_hash accordingly.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2015-01-18 13:16:42 +00:00
Gary V. Vaughan
72293c9952 bootstrap: sync with upstream.
* gl/build-aux/extract-trace (func_find_tool): Quote a bare
variable expansion in a test argument.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-12-11 23:03:37 +00:00
Gary V. Vaughan
ef519e9ecc bootstrap: sync with upstream for runtime M4 checking functions.
* gl/build-aux/extract-trace: Sync with upstream for runtime M4
checking functions.
* bootstrap: Regenerate.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-12-03 18:55:23 +00:00
Gary V. Vaughan
b5324008d1 bootstrap: sync with upsteram.
* gl/build-aux/bootstrap.in: Sync with upstream.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 15:11:59 +00:00
Gary V. Vaughan
9299411fe1 bootstrap: sync with upstream.
* gl/build-aux/bootstrap.in, gl/build-aux/funclib.sh: Sync with
upstream.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-27 18:00:47 +00:00
Peter Rosin
c18b2d494e bootstrap: fix description of func_sort_ver to match recent sort change
gl/build-aux/funclib.sh: Update comment to match reality.
bootstrap: Regenerate.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2014-02-10 14:53:36 +01:00
Bruce Korb
4d57e0905a bootstrap: check for git tree with .git/. in case of soft links.
* gl/build-aux/bootstrap.in (func_require_git): Use
`test -d .git/.` to defeat soft-links versus non-GNU test.
* bootstrap: Regenerate.
* THANKS: Remove duplicate Bruce Korb entry.

Copyright-paperwork-exempt: Yes
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-02-03 17:16:44 +13:00
Gary V. Vaughan
70ff0e04c9 bootstrap: use -d .git to check whether we are in a git tree.
* gl/build-aux/bootstrap.in (func_require_git): .git is not a
regular file, use -d to check its existence.
* bootstrap: Regenerate.
* THANKS: Add Bruce Korb.
Reported by Bruce Korb

Copyright-paperwork-exempt: Yes
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-27 15:11:09 +13:00
Gary V. Vaughan
64367d3499 bootstrap: check for git checkout correctly.
* gl/bulid-aux/bootstrap.in (func_require_git): Use .git instead
of .gitignore to recognise a git checkout.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-15 20:45:31 +13:00
Gary V. Vaughan
754721442a options-parser: --version works with 'DO NOT EDIT' preamble again.
* gl/build-aux/options-parser (func_version): Don't quit on first
leading '##' line, otherwise DO NOT edit warnings prevent version
information from being extracted correctly.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-07 16:06:02 +13:00
Gary V. Vaughan
5e5cf7a7d6 bootstrap: specify particular version in buildreq with =x.y.
* gl/build-aux/bootstrap.in (func_check_versions): If the version
number begins with '=' then it must match the installed version of
the named tool exactly.
* gl/doc/bootstrap.texi (buildreq): Document the '=vernum' feature.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-07 14:23:06 +13:00
Gary V. Vaughan
1f14273e95 bootstrap: remove conftest.sed file droppings.
* gl/build-aux/funclib.sh: Remove conftest.sed when no longer
needed.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-05 17:13:47 +13:00
Gary V. Vaughan
b40922af00 bootstrap: replace spurious hyphen in some section comments.
* gl/build-aux/bootstrap.in: replace spurious hypen in same
section header comments with a space.
* gl/build-aux/extract-trace, gl/build-aux/options-parser:
Likewise.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-04 14:53:06 +13:00
Gary V. Vaughan
b1a09dfa0d inline-source: DO NOT EDIT warning only for top-level file.
* gl/build-aux/inline-source (func_include): When recursing, pass
through the value of `magic` so that only the very first #! magic
number has a DO NOT EDIT warning injected.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-04 11:43:58 +13:00
Gary V. Vaughan
da59d47a44 inline-source: gawk doesn't have boolean constants.
I've been writing a lot of Lua lately, but still a silly mistake:(
* gl/build-aux/inline-source (func_include): Use `magic` variable
to count #! lines found, and only output the DO NOT EDIT warning
after the first one.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 20:07:48 +13:00
Gary V. Vaughan
5b1d8fd0a0 bootstrap: fix test-dollar sanity check failure.
* gl/build-aux/bootstrap.in (func_ensure_README): quote argument.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 18:25:53 +13:00
Gary V. Vaughan
596fd58a48 bootstrap: support automake README requirement.
* gl/build-aux/bootstrap.in (func_ensure_README): New function.
Link missing README to existing alternative naming.
(require_automake_options): New functions. Fetch AM_INIT_AUTOMAKE
options from configure.ac.
(func_reconfigure): If we're using automake, and it's not in
foreign mode, link a README file if possible.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 16:48:46 +13:00
Gary V. Vaughan
4357284ea9 configury: use bootstrap ChangeLog management feature.
* gl/build-aux/bootstrap.in (func_autoreconf): Accept an optional
directory argument to pass to $AUTORECONF.
Update doc-comment.
* bootstrap.conf (func_reconfigure): Remove. Don't completely
overwrite bootstrap's func_reconfigure, shadowing auto-ChangeLog
management.
(func_autopoint, func_libtoolize): Overwrite these un-needed
calls instead.
(libtool_autoreconf_libltdl): New hook function to run second
autoreconf in libltdl directory.
(libtool_force_changelog): Remove.  This is all handled by
bootstrap's func_reconfigure again.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 16:01:53 +13:00
Gary V. Vaughan
b42d44b157 bootstrap: force remove file droppings from previous run.
Now that we generate bootstrap.new with no write permission,
we have to force remove it before writing now content to the file.
* bootstrap.in (require_bootstrap_uptodate): Remove old
bootstrap.new output.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 15:55:30 +13:00
Gary V. Vaughan
e0bb18f4ef inline-source: add a DO NOT EDIT notice to generated files.
* gl/build-aux/inline-source (func_include): Add a DO NOT EDIT
notice below the #! magic number of generated files.
* gl/build-aux/bootstrap.in (func_require_bootstrap_uptodate):
Remove write bit from regenerated bootstrap.new if it differs
from incumbent bootstrap.
Change the update instructions to recommend `mv -f` to cope with
no write permission on old bootstrap script.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 14:59:24 +13:00
Gary V. Vaughan
8708e2e948 bootstrap: move included files below DO NOT EDIT comment.
* gl/build-aux/bootstrap.in: Reorder sections to load external
libraries as late as possible, leaving DO NOT EDIT comment
visible near the top of the generated bootstrap script.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 14:24:51 +13:00
Gary V. Vaughan
d0625cae8a maint: use before-save-hook in Emacs footers.
Updating to Emacs 24 now gives me warnings about write-file-hooks
being obsolete.
* gl/build-aux/bootstrap.in, gl/build-aux/extract-trace,
gl/build-aux/funclib.sh, gl/build-aux/inline-source,
gl/build-aux/options-parser: Set before-save-hook in Emacs file
footers instead of obsolete write-file-hooks.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 14:20:12 +13:00
Gary V. Vaughan
95e1f34f7b libtoolize: use printf '%s\n' unconditionally.
It's been a year since the as_echo probes were removed in Autoconf,
so we can follow suit and remove our equivalent bs_echo probing
now.  Retain $ECHO in case users need to override default printf
calls in museum piece environments.
* gl/build-aux/funclib.sh (ECHO): Default to 'printf %s\n'.
(bs_echo): Remove.
Adjust all bs_echo callers to use $ECHO instead.
* bootstrap: Regenerate.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 13:42:54 +13:00
Gary V. Vaughan
581d90baca bootstrap: push Peter's version sort fix back into funclib.sh.
Peter's a7462c5 fix was applied to the generated bootstrap script
instead of the funclib.sh source, and had have been overwritten
the next time bootstrap was regenerated.
* gl/build-aux/funclib.sh (func_sort_ver): Sort numerically on the
non-primary keys as well.
* bootstrap: Regenerate, with the change applied.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 13:04:31 +13:00
Gary V. Vaughan
d695e72b74 bootstrap: fix gitlog-to-changelog detection.
* gl/build-aux/bootstrap.in (func_ifcontains): Use a for loop
that relies on $IFS for element splitting instead of a one-shot
case glob that is not tolerant to \n in $gnulib_modules.
* THANKS: Add Reuben Thomas.
Reported by Reuben Thomas

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:26:44 +13:00
Gary V. Vaughan
0955ed3ca4 maint: update copyright notices to include 2014.
* .x-update-copyright: New file. Exclude files not owned by this
project from update-copyright rules.
* doc/libtool.texi: Replace m-dash with n-dash in texinfo
copyright notice so that update-copyright matches correctly.
Undo bogus copyright updates to example output from gdb session.
Bump copyright year.
* Changelog.old: Revert bogus updates from previous years
without .x-update-copyright.
AUTHORS, HACKING, Makefile.am, NEWS, README, THANKS, TODO,
bootstrap, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk,
configure.ac, gl/build-aux/bootstrap.in,
gl/build-aux/extract-trace, gl/build-aux/funclib.sh,
gl/build-aux/inline-source, gl/build-aux/options-parser,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/configure.ac, libltdl/libltdl/lt__alloc.h,
libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h,
libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h,
libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h,
libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h,
libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c,
libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c,
libltdl/loaders/shl_load.c, libltdl/lt__alloc.c,
libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c,
libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h,
libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4,
m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4,
m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4,
tests/am-subdir.at, tests/archive-in-archive.at,
tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at,
tests/configure-iface.at, tests/convenience.at, tests/ctor.at,
tests/cwrapper.at, tests/darwin.at, tests/demo.at,
tests/depdemo.at, tests/deplib-in-subdir.at,
tests/deplibs-ident.at, tests/deplibs-mingw.at,
tests/destdir.at, tests/dlloader-api.at,
tests/dumpbin-symbols.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/exceptions.at,
tests/execute-mode.at, tests/exeext.at, tests/export-def.at,
tests/export.at, tests/f77demo.at, tests/fail.at,
tests/fcdemo.at, tests/flags.at, tests/help.at,
tests/indirect_deps.at, tests/infer-tag.at,
tests/inherited_flags.at, tests/install.at,
tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at,
tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at,
tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at,
tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at,
tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at,
tests/need_lib_prefix.at, tests/no-executables.at,
tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at,
tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at,
tests/resident.at, tests/runpath-in-lalib.at,
tests/search-path.at, tests/shlibpath.at, tests/slist.at,
tests/standalone.at, tests/static.at, tests/stresstest.at,
tests/subproject.at, tests/sysroot.at, tests/tagdemo.at,
tests/template.at, tests/testsuite.at, tests/versioning.at,
tests/with-pic.at: Bump copyright year.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:26:44 +13:00
Gary V. Vaughan
7f99bfd86c maint: use $SED and $GREP, not sed and grep in all scripts.
Choosing between hardcoding a tool's name, or using the shell
variable with a path to the user's prefered implementation or
configure's idea of the best available is a premature
optimisation.
* build-aux/ltmain.in, gl/build-aux/bootstrap.in,
gl/build-aux/extract-trace, gl/build-aux/funclib.sh,
libtoolize.in: Use $SED and $GREP consistently throughout,
instead of hardcoding sed and grep.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:30 +13:00
Gary V. Vaughan
4e373ebe13 funclib.sh: improve comments.
* gl/build-aux/funclib.sh: Add a comment explaining the need for
extra SED and GREP searches.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:06:29 +13:00
Gary V. Vaughan
880a41f6f5 bootstrap: fix a quoting error.
* gl/build-aux/bootstrap.in (func_require_buildreq_autoconf): Quote
the extracted version number correctly so that it is displayed in
verbose mode.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-29 17:08:49 +13:00
Gary V. Vaughan
fec7d87180 funclib.sh: simplify version comparison functions.
* gl/build-aux/funclib.sh (func_sort_ver): Much simplified.
(func_lt_ver): New function, return true if arguments are in
ascending order.
* gl/build-aux/bootstrap.in: Simplify with func_lt_ver.
* gl/build-aux/do-release-commit-and-tag.diff: Likewise.
* bootstrap: Regenerate.

Co-Authored-by: Paul Eggert <eggert@cs.ucla.edu>
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 20:49:47 +13:00
Gary V. Vaughan
9fd7b88bc2 bootstrap: show found GREP and SED in verbose mode.
* gl/build-aux/bootstrap.in (EGREP, FGREP, GREP, SED): Remove.
These are already set by funclib.sh.
(func_prep): After --verbose has been processed, show the paths
to GREP and SED found by funclib.sh.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 20:49:47 +13:00
Gary V. Vaughan
94271692f0 refactor: simplify program path searching in funclib.sh.
* gl/build-aux/funclib.sh (func_path_progs): New function. Factor
out common code from GREP and SED searches.
(func_check_prog_sed, func_check_prog_grep): New functions, for
non-common code.
(scriptversion): Update.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 20:49:47 +13:00
Gary V. Vaughan
13d640337a bootstrap: search for a non-truncating grep binary.
On at least Unixware 7.1.4, the first grep binary on PATH is
unable to process the extract-trace scripts.
* gl/build-aux/funclib.sh (GRUP): Search PATH for a grep binary
that doesn't truncate its own output if available, and set GREP
accordingly.
* Makefile.am (SCRIPT_ENV): Add setting for GREP.
* bootstrap: Regenerate.
Reported by Tim Rice.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 20:43:14 +13:00
Gary V. Vaughan
97a331b094 bootstrap: search for a non-truncating sed binary.
On at least Unixware 7.1.4, the first sed binary on PATH is
unable to process the extract-trace scripts.
* gl/build-aux/funclib.sh (PATH_SEPARATOR): Set to : or ;
according to a feature test.
(func_executable_p): New function.
(SED): Search PATH for a sed binary that doesn't truncate its
own output if available, and set SED accordingly.
(scriptversion): Update.
* Makefile.am (SCRIPT_ENV): New macro, for propagating configured
variables.
(ltdl_ac_aux_dir, $(ltmain_sh), install-data-local): Use it.
* bootstrap: Regenerate.
Reported by Tim Rice.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-28 20:43:13 +13:00
Gary V. Vaughan
c2e13d8030 gnulib: use func_sort_ver instead of GNU sort -V in do-release-commit-and-tag.
* gl/build-aux/do-release-commit-and-tag: Source funclib.sh and
then use portable func_sort_ver rather than force installation of
all GNU coreutils just for sort -V support.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 15:54:32 +13:00
Gary V. Vaughan
60a8f165b5 refactor: move func_sort_ver from bootstrap.in to funclib.sh.
* gl/build-aux/bootstrap.in (func_sort_ver): Move from here...
* gl/build-aux/funclib.sh (func_sort_ver): ...to here.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 15:33:07 +13:00
Gary V. Vaughan
d7d5228b53 maint: Update README-release for Makefile.inc -> ltdl.mk rename.
* gl/top/README-release.diff: s/Makefile.inc/ltdl.mk/g

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-10-26 12:37:46 +13:00
Gary V. Vaughan
75051fb536 bootstrap: clean up spurious 'gnulib-cache.m4 missing' error.
* gl/build-aux/bootstrap.in (func_reconfigure): Don't show an
error when running without gnulib-cache.m4.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-16 11:02:23 +07:00
Gary V. Vaughan
2d744d9eda bootstrap: make ensure_changelog work for update mode projects.
* gl/build-aux/bootstrap.in (func_bootstrap): Move
func_changelog_ensure invocation from here...
(func_reconfigure): ...to here. If gnulib_modules is empty, then
grep gnulib-cache.m4 for gitlog-to-changelog before invoking
func_changelog_ensure.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-15 20:40:07 +07:00
Gary V. Vaughan
96d876301b bootstrap: fetch defaults from gnulib-cache.m4 for non-imported projects.
Recent changes uncovered some bugs in handling of gnulib-tool
options for projects that check in gnulib-cache.m4 rather than
keep a separate list of modules and options in bootstrap.conf.
* gl/build-aux/bootstrap.in (func_require_doc_base)
(func_require_gnulib_name, func_require_local_gl_dir): New
functions to set defaults from gnulib-cache.m4 in projects that
use gnulib-tool in --update mode.
(func_require_gnulib_tool_base_options): Use them to fetch
defaults.
(func_require_gnulib_copy_cmd): New function to calculate the
options required for gnlib-tool copy command.
(func_gnulib_tool_copy_file): Simplify accordingly.
(scriptversion): Bump.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-09-15 13:38:11 +07:00