* 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>
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>
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>
* 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>
* 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>
* 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>
* 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>
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>
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>
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>
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>
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>
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>
* 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>
* 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>
* 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>
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>
* 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>
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>
* 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>
* 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>
* 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>
* 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>
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>
* 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>
* 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>
* 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>
* 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>
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>
* 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>
* 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>
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>
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>
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>
* 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>
* 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>