Commit Graph

4334 Commits

Author SHA1 Message Date
Gary V. Vaughan
3881e49841 libtool: fix universal library building on darwin.
* build-aux/ltmain.in (func_extract_archives): $basename is now
spelled $sed_basename.
* NO-THANKS: Update.
Reported by Misty De Meo

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 20:15:50 +00:00
Gary V. Vaughan
81443430bb tests: update fat binary test case for modern darwin.
* tests/darwin.at: Use "-arch x86_64", which works on modern
Apple hardware, rather than "-arch ppc", which generally does not.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 18:09:32 +00:00
Gary V. Vaughan
8d6b55e65c tests: fix false positive in failed test check for cmdline_wrap.at.
* tests/cmdline_wrap.at (fail_list): non-matching globs return as
a plain unexpanded string, so we also need to test for file
existence before expanding into fail_list.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 18:05:42 +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
KO Myung-Hun
1f0597d063 libtool: support versioning on OS/2.
* build-aux/ltmain.in (func_mode_link) <*-os2*>: Set major and
versuffix.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <*-os2*>: Set
version_type to windows. Add a version information to soname_spec.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 15:11:59 +00:00
KO Myung-Hun
69ed74b5b5 libtool: support -export-symbols and -export-symbols-regex on OS/2.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
<*-os2*>: Set archive_expsym_cmds.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 15:11:57 +00:00
KO Myung-Hun
ee9ff7b399 libtool: add -os2dllname option.
On OS/2, if there are many DLLs whose prefix is the same and
very long, the resulting DLLs are overwritten. Provide a new
option to force a DLL name.
* build-aux/ltmain.in (func_mode_help): Add a description for
-os2dllname.
(func_mode_link): Add -os2dllname.
* doc/libtool.texi: Document it.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 15:11:38 +00:00
KO Myung-Hun
4ee10a1e43 libtool: fix DLL creation/installation/uninstallation on OS/2.
OS/2 can only load a DLL with a base name of 8 characters or
less. Also, on OS/2 don't install or uninstall using a link.
* build-aux/ltmain.in: Do not strip an import lib.
* m4/libtool.m4: Set variables to fix DLL creation, installation
and uninstallation.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 15:04:31 +00:00
KO Myung-Hun
2ed6718f4e libtool: support -Zxxx options used on OS/2.
* build-aux/ltmain.in (func_mode_link): Add -Z* case, treating
them specially on os2 only.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 15:04:07 +00:00
KO Myung-Hun
61b62ee8dc libtool: set lt_cv_deplibs_check_method to pass_all on OS/2.
* m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Same as the title.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 14:46:06 +00:00
KO Myung-Hun
284238b71f libtool: there is no need to relink DLLs on OS/2.
* build-aux/ltmain.in (func_mode_link) <*-os2*>: need_relink=no.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 14:45:31 +00:00
KO Myung-Hun
451ba23195 ltdl: OS/2 uses other APIs to load a DLL than LoadLibrary() on Windows.
* m4/ltdl.m4: Remove os2* from a list for loadlibrary.la.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 11:31:36 +00:00
KO Myung-Hun
f3b6ca323e libtool: support to link against static libraries on OS/2.
* m4/libtool.m4 (_LT_COMPILER_PIC): Set lt_prog_compiler_static to
$wl-static.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 11:29:42 +00:00
KO Myung-Hun
7ac7bd1c79 libtool: don't eliminate duplications in $postdeps and $predeps on OS/2
* build-aux/ltmain.h (libtool_validate_options): Add *os2* to the list.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-04 11:09:26 +00:00
Gary V. Vaughan
5627a7f498 configury: create installation dir before writing to it.
* Makefile.am (install-scripts-local): Don't forget to make the
installation target directory before writing to it.
* NO-THANKS: Update.
Reported by Allan McRae

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-03 13:07:15 +00:00
Gary V. Vaughan
41548b4e7a maint: .PHONY rules to protect gmake from pathological file names.
* Makefile.am (.PHONY): Add install-scripts-local,
check-interactive, check-noninteractive-old,
check-noninteractive-new and check-noninteractive.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-03 11:14:24 +00:00
Arkadiusz Miśkiewicz
50a2dc6a12 tests: fix typo in cmdline_wrap skip check.
* tests/cmdline_wrap.at (fail_list): fix a typo in loop script
text.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-02 15:59:40 +00:00
Gary V. Vaughan
9b63b9b666 libtoolize: don't forget to remove old non-gnulib argz files.
* libtoolize.in (all_pkgltdl_files): Add back argz.c and argz_.h,
as installed by previous libtool releases.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-02 14:40:13 +00:00
Gary V. Vaughan
cdb6ac2df4 libltdl: move libltdl argz module into LT namespace.
To avoid clashes with gnulib argz module in ltdl client projects,
move ours into its own namespace.
* libltdl/argz_.h, libltdl/argz.c, m4/argz.m4: Move from here...
* libltdl/libltdl/lt__argz_.h, libltdl/lt__argz.c, m4/ltargz.m4:
...to here.
* Makefile.am, libltdl/libltdl/lt__glibc.h, libltdl/ltdl.mk,
libtoolize.in, m4/ltdl.m4: Adjust accordingly.
* tests/libtoolize.at, tests/ltdl-api.at, tests/nonrecursive.at,
tests/old-ltdl-iface.at: Adjust for different libtoolize output.
* libltdl/.gitignore: Adjust accordingly.
* NEWS: Update.
Reported by Pavel Raiskup

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-02 14:28:55 +00:00
Gary V. Vaughan
f8404e1db0 maint: whitespace cleanup.
* Makefile.am ($(thanks)): Fix several whitespace syntax-check
failures.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-02 11:58:38 +00:00
Pavel Raiskup
2ed391b4a8 libtoolize: do not remove gnulib files with --force.
* libtoolize.in (func_require_seen_libtool): Do not remove
snippet/* files which are from Gnulib.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-11-02 10:53:20 +00:00
Gary V. Vaughan
55952a7cff tests: set bindir and libdir at configure time.
In particular, openSuSE on x86_64 uses CONFIG_SITE to set libdir
to "${exec_prefix}/lib64", which confuses testcases that check
the contents of "${prefix}/lib".  In general, tests that expect
to find installed files in specific directories should explicitly
set those directories at configure time.
* tests/testsuite.at (LT_AT_CONFIGURE): Make sure exec_prefix,
bindir and libdir point to known subdirectories we can check the
contents of later on in a test case.
(prefixdir): Rename from this...
(prefix): ...to this.  All test cases that set or use the config
prefix directory must now refer to `prefixdir` for the helper
macros in this file to work in hostile build environments such
as CONFIG_SITE setting openSuSE.
* tests/demo.at, tests/depdemo.at, tests/mdemo.at,
tests/tagdemo.at: Adjust accordingly.
Reported by Peter Breitenlohner.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2014-10-30 14:58:30 +00:00
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