Commit Graph

4262 Commits

Author SHA1 Message Date
Reuben Thomas
e1584d0d49 libtool: -rdynamic support for tcc.
* m4/libtool.m4 (_LT_LINKER_SHLIBS) <linux*>: Set
export_dynamic_flag_spec appropriately when using tcc.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-29 18:59:07 +00:00
Reuben Thomas
cdf127ca58 libtool: preliminary support for tcc on linux*.
* m4/libtool.m4 (_LT_LINKER_SHLIBS) <linux*>: Set archive_cmds and
ld_shlibs appropriately when using tcc.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-29 18:55:35 +00:00
Gary V. Vaughan
a228b42760 maint: fix README-alpha version match.
With simplified release version numbering (thank you, git!), be
careful to recognize four part alpha versions, or short git
revision suffixed alpha versions correctly.
* Makefile.am (re_odd_version): Remove.
(re_alpha_version): Recognize alpha version numbers.
($(readme)): Adjust accordingly.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-29 18:06:00 +00:00
Gary V. Vaughan
48ef34c5b9 maint: autogenerate THANKS.
More automation == less time wasted on menial tasks.
* build-aux/thanks-gen: script inspired by coreutils.
* Makefile.am (THANKS): Based on rule from coreutils/Makefile.am.
* NO-THANKS: New file.  Configure thanks-gen output.
* THANKS: Remove.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-29 17:55:45 +00:00
Gary V. Vaughan
c77eea5f6c maint: fix prefix and suffix installs for libtoolize.
* Makefile.am (install-data-local): Depend on new
install-scripts-local, and move libtoolize install from here...
(install-scripts-local): ...to here.
Pass libtoolize destination through program transform expression.
(uninstall-hook): Likewise, prior to removal.
* NEWS: Update.
* THANKS: Update.
Reported by Václav Zeman

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-29 13:06:41 +00:00
Gary V. Vaughan
a64ea4d8c4 maint: move Peter O'Gorman and Ralf Wildenhues to past maintainers.
* AUTHORS: Move Peter O'Gorman and Ralf Wildenhues from current
to past maintainers list.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-27 21:47:35 +00:00
Gary V. Vaughan
e00162fee9 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2014-10-27 20:57:04 +00:00
Gary V. Vaughan
b9bf9fb6ef version 2.4.3
* NEWS: Record release date.
2014-10-27 18:03:28 +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
Gary V. Vaughan
a2ca3e849a testsuite: fixes required for make distcheck CC=g++.
* tests/demo.at (Pdemo conf): Overide _LT_DEMO_SETUP foo.h to
declare foo2.
* tests/mdemo.at (_LT_SETUP): Don't wrap `sub` dectlaration in
C++ guards, because sub.c is also compiled with g++ in this test.
* tests/old-ltdl-iface.at (old.c): Add a return type to main
declaration as required by C++.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-27 13:42:55 +00:00
Gary V. Vaughan
42e91f0282 maint: fix a typo in THANKS.
* THANKS: s/macports\.com/macports.org/

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-27 11:22:29 +00:00
Gary V. Vaughan
54f6055601 syntax-check: use strlcpy instead of strncpy.
* libltdl/loaders/dyld.c (vm_sym): Use strlcpy to pacify syntax
checks.
* libltdl/ltdl.c (try_dlopen): Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-27 11:22:00 +00:00
Gary V. Vaughan
6b02c1fb4b libtool: fix GCC linking with -fstack-protector.
* build-aux/ltmain.in (func_mode_link): Pass -fstack-protector*
to the linker as it is required at link time to resolve libssp symbols.
From Yaakov Selkowitz

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-25 17:25:11 +01:00
Gary V. Vaughan
e145288b05 libtool: support Mac OS 10.10 and newer.
The current template mistakenly treats a MACOSX_DEPLOYMENT_TARGET
value of "10.10" as "10.1" followed by junk. Thinking that the
build is targeting 10.1 Puma instead of 10.10 Yosemite, it tells
the linker to ignore undefined symbols instead of dynamically
resolving them. This can cause runtime crashes* and will affect
subsequent versions of OS X.
* libtool.mk (_LT_REQUIRED_DARWIN_CHECKS): Improve case match so
as to reject 10.10.x on the 10.1 and 10.2 branch.
* THANKS: Add Lawrence Velázquez.
From Lawrence Velázquez

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-25 17:17:40 +01:00
Gary V. Vaughan
d7852a3500 bootstrap: commit latest to avoid regeneration at build time.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-25 17:17:39 +01:00
Gary V. Vaughan
18e441f9fc gnulib: sync with upstream.
* gnulib: Sync with upstream.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-25 17:17:39 +01:00
Peter Rosin
ac180507c1 libtool: delay expansion of $ECHO until the wrapper script runs
Expanding $ECHO too early leads to unquoted \n when ECHO='printf %s\n'.

Fixes bug#17478. Reported by Egmont Koblinger.

* build-aux/ltmain.in (func_emit_wrapper) [fast_install]: Quote the
$ECHO, and delay the expansion.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2014-05-13 11:47:54 +02:00
Peter Rosin
13aa364c0c libtool: fix nm test for MSYS/MinGW
The check for the -B option of nm does not work as intended on MSYS/MinGW.
MSYS converts /dev/null to the DOW/Windows "equivanent" special file NUL,
but the MinGW nm treats this file as any empty file. This means that
you might end up with some fallback nm instead of the desired nm. This
is not normally a problem, but if one nm is built without lto support, it
starts to matter.

Fixes sr #108558, reported by LRN.

* m4/libtool.m4 (LT_PATH_NM) [MSYS]: Use a non-existant file instead of
/dev/null when checking if nm supports -B.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2014-05-06 10:11:34 +02:00
Peter Rosin
da30ce4dc9 libtool: speed up ltwrapper_script detection in execute mode
Execute mode is slow and might even DOS the computer in extreme
cases when a parameter is a big binary file without newlines.
Work around this with different truncation if a suitable dd
utility is found.

Fixes bug#13472 and bug#16662.

Reported by Pavel Raiskup and Nick Bowler.

* m4/libtool.m4 (_LT_PATH_DD): New macro, for finding a dd utility
that works for the below purpose.
(_LT_CMD_TRUNCATE): New macro, for finding out how to truncate binary
pipes (fallback to the old sed truncation if no suitable dd is found
in _LT_PATH_DD).
(_LT_SETUP): Require _LT_CMD_TRUNCATE.
(LT_INIT): Require Autoconf 2.62, as needed by _LT_PATH_DD.
* build_aux/ltmain.in (func_lalib_p): Factor out the actual "generated
by libtool" test into...
(func_generated_by_libtool_p): ...this new function...
(func_ltwrapper_script_p): ...so that it can be reused here, when
truncating the pipe according to _LT_CMD_TRUNCATE.
* THANKS: Update.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2014-05-06 00:03:19 +02:00
Peter Rosin
5911665520 libtool: prevent lto from stripping the magic cookie from the cwrapper
Whole program optimization may remove unused symbols unless told they
are really needed. Fixes sr #108559 reported by LRN.

* build-aux/ltmain.in (func_emit_cwrapperexe_src:MAGIC_EXE): Try to ensure
that the magic cookie is preserved.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2014-05-02 14:52:30 +02:00
Peter Rosin
053df7eb31 tests: sprinkle -no-undefined when linking libraries
* tests/duplicate_conv.at, tests/f77demo.at, tests/fcdemo.at: Here.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2014-02-12 10:05:00 +01:00
Peter Rosin
0d666fc13b libtool: actually strip -Wl when relinking with $LD
Fixes the regression from commit v2.4.2.444 which is causing a
testsuite failure in duplicate_conv.at (seen on Cygwin).

* build-aux/ltmain.in (func_mode_link): $reload_cmds typically
starts with "$LD$reload_flag ..." when $LD is used to relink.
Make the case expression match that when checking if $LD is in
fact used to relink.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2014-02-12 10:04:56 +01: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
Gary V. Vaughan
fa83d293d9 doc: remove redundant "in order to" phrase where possible.
* doc/libtool.texi: Remove many occurrences of the redundant
phrase "in order to", where ever "to" is as clear or clearer.
* THANKS: Add attribution.
Reported by Dave Yost

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-02-06 12:08:36 +13: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
Rainer Orth
525cddd2bc libtool: opt_duplicate_compiler_generated_deps is harmful on Solaris
Fix for http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452.
* build-aux/ltmain.in (libtool_validate_options): disable the
opt_duplicate_compiler_generated_deps optimization for Solaris2 so
that gcc-4.9+ compiled C++ code with -Wl,-Bdirect on 64-bit Solaris
x86 can avoid unwinding failures caused by accidental mixing of the
libc and libgcc_s unwinders in a single executable.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-18 10:07:52 +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
Todd C. Miller
2f75576d05 libtoolize: don't remove install-sh.
If you are not using automake, libtoolize would remove install-sh.
It needs the same treatment as config.guess and config.sub.
* libtoolize.in (func_require_seen_libtool): Remove install-sh
from $all_pkgaux_files, the list of files removed by
`libtoolize --force`.
* THANKS: Add Todd C. Miller.
* NEWS: Update.

Copyright-paperwork-exempt: Yes
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-11 13:25:42 +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
9ef95183f0 edit-readme-alpha: adjust for recent README edits.
* build-aux/edit-readme-alpha: Adjust regexps for recent README
improvements.
* README.md: Fix a SPACE-TAB sanity check failure.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 18:29:19 +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
9f8717edbc libtool: rearrange header comments for correct version/help extraction.
* m4/libtool.m4 (_LT_COPYING): Rearrange the comments output to
the generated libtool script so that --version and --help behave
the same as pre-funclib.sh revisions.
(_LT_CONFIG_SAVE_COMMANDS): Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 17:54:28 +13:00
Gary V. Vaughan
87dfbe2c86 README: Tweak into markdown format and fix some bitrot.
* README: Moved from here...
* README.md: ...to here.  Make some changes to be valid markdown
format, and fix some inaccuracies in text that is out of date.
* .gitignore: Add README.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-03 17:29:23 +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
8886f3b473 maint: change history.
* NEWS: Remove alpha release header.
* cfg.mk (old_NEWS_hash): Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:52:50 +13:00
Gary V. Vaughan
a4ffcdb5e0 libtool: only strip -Wl when linking with $LD.
* build-aux/ltmain.in (func_mode_link): Don't strip -Wl from the
linker flags, except when linking with $LD, otherwise compiler
drivers that don't recognize and pass linker flags through will
choke on unrecognized options.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-01-02 12:26:44 +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