]> git.ipfire.org Git - thirdparty/libtool.git/log
thirdparty/libtool.git
10 years agoversion 2.4.6 v2.4.6
Gary V. Vaughan [Sun, 15 Feb 2015 16:13:37 +0000 (16:13 +0000)] 
version 2.4.6

* NEWS: Record release date.

10 years agolibtool: don't execute automake and autoconf on every invocation.
Gary V. Vaughan [Fri, 6 Feb 2015 12:58:34 +0000 (12:58 +0000)] 
libtool: don't execute automake and autoconf on every invocation.

Regression from 2.4.2 was causing noticable slow-down in builds
that call libtool many times.
* build-aux/ltmain.in (func_help): Override func_help() from
gl/build-aux/options-parser to only run automake --version and
autoconf --version when libtool --help is executed on the command
line.
* NO-THANKS: Add Robert Yang.
Reported by Robert Yang

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agomaint: undo copyright years regression.
Gary V. Vaughan [Tue, 20 Jan 2015 19:19:27 +0000 (19:19 +0000)] 
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>
10 years agobootstrap: sync with upstream.
Gary V. Vaughan [Tue, 20 Jan 2015 17:21:37 +0000 (17:21 +0000)] 
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>
10 years agolibtool: respect config.site LT_SYS_LIBRARY_PATH
Pavel Raiskup [Tue, 20 Jan 2015 16:12:59 +0000 (16:12 +0000)] 
libtool: respect config.site LT_SYS_LIBRARY_PATH

Libtool generator code needs to remember the configure time
LT_SYS_LIBRARY_PATH content to allow config.status properly
instantiate default LT_SYS_LIBRARY_PATH libtool run-time value;
Thats because config.status has no idea what the contents of
config.site file is (by default).
* m4/libtool.m4 (_LT_CONFIG): Use the _LT_DECLared
$configure_time_lt_sys_library_path variable as the default for
LT_SYS_DLSEARCH_PATH at run-time.
(_LT_SYS_DYNAMIC_LINKER): Don't change ac_cv_* variable if it is
not necessary. New $configure_time_lt_sys_library_path variable.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool.m4: typofix, subst last '$' with quadrigraph
Pavel Raiskup [Tue, 20 Jan 2015 15:35:11 +0000 (15:35 +0000)] 
libtool.m4: typofix, subst last '$' with quadrigraph

* m4/libtool.m4 (_LT_LIBTOOL_TAG_VARS): Encase the
configure/libtool shared function into parseable borders; for
testing purposes.
(func_munge_path_list): Typo s/$/@S|@/.
* tests/configure-funcs.at: New testcase.
* Makefile.am (TESTSUITE_AT): Mention new testcase.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agotests: fix an ltdl dryrun race condition.
Pavel Raiskup [Tue, 20 Jan 2015 15:25:48 +0000 (15:25 +0000)] 
tests: fix an ltdl dryrun race condition.

* tests/testsuite.at (LT_AT_ACLOCAL): Inject a 1 second sleep
after aclocal to ensure subsequently generated autotools files
will be newer.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agomaint: post-release administrivia
Gary V. Vaughan [Mon, 19 Jan 2015 17:00:14 +0000 (17:00 +0000)] 
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

10 years agoversion 2.4.5 v2.4.5
Gary V. Vaughan [Mon, 19 Jan 2015 15:09:58 +0000 (15:09 +0000)] 
version 2.4.5

* NEWS: Record release date.

10 years agomaint: update copyright statements to include 2015.
Gary V. Vaughan [Fri, 16 Jan 2015 18:52:10 +0000 (18:52 +0000)] 
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>
10 years agognulib: sync with upstream.
Gary V. Vaughan [Fri, 16 Jan 2015 18:32:43 +0000 (18:32 +0000)] 
gnulib: sync with upstream.

* gnulib: Sync with upstream.
* doc/.gitignore: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtoolize: fix ltdl installation order.
Pavel Raiskup [Fri, 16 Jan 2015 16:30:51 +0000 (16:30 +0000)] 
libtoolize: fix ltdl installation order.

Fixes regression caused by commit 99a808be.
Makefile.in has aclocal.m4 as prerequisite, so Makefile.in
should be installed later to avoid unnecessary rebuild by
(versioned) aclocal.
* Makefile.am (pkgltdl_files): Move the Makefile.in file down in
the list after aclocal.m4.
* tests/libtoolize.at: Adjust to match reordered output.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: check Sun Pro CXX ABI postdeps at libtool time.
Gary V. Vaughan [Fri, 12 Dec 2014 18:35:45 +0000 (18:35 +0000)] 
libtool: check Sun Pro CXX ABI postdeps at libtool time.

* m4/libtool.m4 (_LT_PREPARE_CC_BASENAME): Factor cc_basename
calculation into a shell function...
(_LT_CONFIG_SAVE_COMMAND): ...and expand it into generated
libtool script.
(_LT_CC_BASENAME): Adjust accordingly.
(_LT_FUNC_SUNCC_CSTD_ABI): Remove from here...
* build-aux/ltmain.in (func_suncc_cstd_abi): ...and reimplement
here.
* m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Remove postdeps
augmentation from here...
* build-aux/ltmain.in (func_mode_link): ...and reimplement here
just before postdeps are added.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: more carefully avoid automatic -Cstd -Crun on Sun Pro CXX.
Gary V. Vaughan [Fri, 12 Dec 2014 13:33:40 +0000 (13:33 +0000)] 
libtool: more carefully avoid automatic -Cstd -Crun on Sun Pro CXX.

* m4/libtool.m4 (_LT_FUNC_SUNCC_CSTD_ABI): New function factored out
of repeated code.  Take note of other known -Cstd incompatible
compiler flags.
(_LT_SYS_HIDDEN_LIBDEPS): Use it to determine whether -Cstd -Crun
can be safely added to postdeps with Sun Pro CXX.
* NEWS: Update.
* NO-THANKS: Add Marc Glisse.
Reported by Marc Glisse

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: take care not to double-apply LT_SYS_LIBRARY_PATH.
Gary V. Vaughan [Fri, 12 Dec 2014 11:35:28 +0000 (11:35 +0000)] 
libtool: take care not to double-apply LT_SYS_LIBRARY_PATH.

* m4/libtool.m4 (_LT_CONFIG_SAVE_COMMANDS): Copy configure-time
LT_SYS_LIBRARY_PATH settings as default, but allow run-time
override.
(_LT_SYS_DYNAMIC_LINKER): Save the unmunged
sys_lib_dlsearch_path_spec value, and use it for _LT_DECL,
but then munge it with LT_SYS_LIBRARY_PATH for use in ltdl.m4
macros, such as LT_SYS_DLSEARCH_PATH.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: support LT_SYS_LIBRARY_PATH for adjusting bad guesses.
Pavel Raiskup [Thu, 11 Dec 2014 21:49:19 +0000 (21:49 +0000)] 
libtool: support LT_SYS_LIBRARY_PATH for adjusting bad guesses.

Revert 8728e07 and 440fee6.
Some GNU/Linux distributions install libraries into /lib64 (or
/usr/lib64) on 64-bit machines, while /lib (/usr/lib
respectively) stays for multilib variant.  Other distributions
keep /usr/lib for 64-bit variant and reserve other directory for
multilib. Detection of what approach a given system uses is
difficult, however, especially because Glibc's ldconfig does not
report the full and correct list of search paths. Allow the user
to adjust Libtools heuristically determined search paths with
the new LT_SYS_LIBRARY_PATH environment variable at both
compile-time, when libtool is called, and at configure time.
* m4/libtool.m4 (_LT_PREPARE_MUNGE_PATH_LIST): Define a new
function to munge a libtool path list according to a user
supplied colon-delimited path.
(_LT_SYS_DYNAMIC_LINKER): Require _LT_PREPARE_MUNGE_PATH_LIST.
Mark LT_SYS_LIBRARY_PATH as precious to autoconf (to survive
automatic "autoreconf").
Call the new func_munge_path_list function on
sys_lib_dlsearch_path_spec - this propagates results to
generated libtool script.
(_LT_CONFIG): Expand _LT_PREPARE_MUNGE_PATH_LIST into generated
libtool script.
* build-aux/ltmain.in (func_mode_link): Call it to adjust
sys_lib_dlsearch_path according to LT_SYS_LIBRARY_PATH.
* doc/libtool.texi: Document new LT_SYS_LIBRARY_PATH.
* doc/notes.texi: Likewise.
* NEWS: Update.

References: http://thread.gmane.org/gmane.comp.gnu.libtool.general/8339/focus=8345
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agomaint: fix syntax-check failures.
Gary V. Vaughan [Thu, 11 Dec 2014 22:53:34 +0000 (22:53 +0000)] 
maint: fix syntax-check failures.

* m4/m4.m4 (AC_PROG_GNU_M4): Reverse some test arguments for
sc_prohibit_test_const_follows_var.
Remove some spurious braces for
sc_useless_braces_in_variable_drefs.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agobootstrap: sync with upstream.
Gary V. Vaughan [Thu, 11 Dec 2014 22:58:08 +0000 (22:58 +0000)] 
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>
10 years agolibtool: s390x is also a 64bit glibc/ELF platform.
Gary V. Vaughan [Fri, 5 Dec 2014 13:29:13 +0000 (13:29 +0000)] 
libtool: s390x is also a 64bit glibc/ELF platform.

* m4/libtool.m4 (_LT_SYS_DYNAMIC_LIB): Add s390x to glibc/ELF
compatible CPUs that have /lib64 and /usr/lib64 in
sys_lib_dlsearch_path_spec.
Reported by Pavel Raiskup

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: for 64bit GNU arches, add /lib64 and /usr/lib64 to sys_lib_dlsearch_path.
Gary V. Vaughan [Thu, 4 Dec 2014 17:44:41 +0000 (17:44 +0000)] 
libtool: for 64bit GNU arches, add /lib64 and /usr/lib64 to sys_lib_dlsearch_path.

* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <linux*, k*bsd*-gnu>
<kopensolaris*-gnu, gnu*>: If $host_cpu contains "64", add /lib64
and /usr/lib64 to sys_lib_dlsearch_path_spec.
Reported by Orion Poplawski, Christian Rössel, Olly Betts et. al.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibltdl: fix gcc compiler warning for unused attributes.
Gary V. Vaughan [Thu, 4 Dec 2014 17:17:11 +0000 (17:17 +0000)] 
libltdl: fix gcc compiler warning for unused attributes.

* libltdl/ltdl.c, 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: For at
least gcc 4.8.3 and 4.9.1, __attribute__((__unused)) should
follow the unused parameter declaration.
* NO-THANKS: Add Дилян Палаузов.
Reported by Дилян Палаузов

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agotests: do not assume compiler prefers shared libraries.
Eric Bavier [Thu, 4 Dec 2014 16:34:17 +0000 (16:34 +0000)] 
tests: do not assume compiler prefers shared libraries.

Testing whether -static-libtool-libs causes a non-libtool library to be
linked dynamically is effectively a test of the compiler's preference in
this case.  The Cray compiler prefers static libraries if not told
otherwise.
* tests/static.at [static linking flags for programs]: Do not expect
 -static-libtool-libs to fail.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: fix sys_lib_dlsearch_path_spec for ia64 HP-UX.
Norihiro Tanaka [Thu, 4 Dec 2014 15:39:14 +0000 (15:39 +0000)] 
libtool: fix sys_lib_dlsearch_path_spec for ia64 HP-UX.

The run-time loader does not search /usr/local or subdirectories
by default on ia64 HP-UX.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Fix
sys_lib_dlsearch_path_spec for ia64 HP-UX.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibltdl: edit AM_CPPFLAGS correctly for libltdl/Makefile.am.
Gary V. Vaughan [Thu, 4 Dec 2014 14:38:01 +0000 (14:38 +0000)] 
libltdl: edit AM_CPPFLAGS correctly for libltdl/Makefile.am.

* libltdl/ltdl.mk (AM_CPPFLAGS): Make sure the sed expression to
remove the first libltdl/ on each line is not confused by misuse
of linebreaks.
* Makefile.am (lt_Makefile_am): Also edit out the duplicated
include paths after libltdl/ elimination.
* NEWS: Update.
Reported by Michael Wobst

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: commit forgotten soname_spec for freebsd-elf in bb7cef9.
Tijl Coosemans [Thu, 4 Dec 2014 13:47:06 +0000 (13:47 +0000)] 
libtool: commit forgotten soname_spec for freebsd-elf in bb7cef9.

* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <freebsd-elf>: Set
soname_spec correctly, per original patch.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agobootstrap: sync with upstream for runtime M4 checking functions.
Gary V. Vaughan [Wed, 3 Dec 2014 18:53:08 +0000 (18:53 +0000)] 
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>
10 years agoconfigury: bail out early if GNU M4 is not on the path.
Gary V. Vaughan [Wed, 3 Dec 2014 18:33:57 +0000 (18:33 +0000)] 
configury: bail out early if GNU M4 is not on the path.

Now that libtoolize requires an installed GNU M4 to parse
configure.ac and aclocal.m4 sources for libltdl macros, let the
user know at configure time when it is missing.
* m4/m4.m4: New file for rejecting non-GNU and buggy GNU versions
of M4. Copied from GNU Autoconf m4.m4.
* Makefile.am (lt_aclocal_m4_deps): Add m4/m4.m4.
* configure.ac (AC_PROG_GNU_M4): Call it.
* NEWS: Update.
Reported by Michael Felt

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agomaint: post-release administrivia
Gary V. Vaughan [Sat, 29 Nov 2014 18:02:15 +0000 (18:02 +0000)] 
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

10 years agoversion 2.4.4 v2.4.4
Gary V. Vaughan [Sat, 29 Nov 2014 16:37:38 +0000 (16:37 +0000)] 
version 2.4.4

* NEWS: Record release date.

10 years agognulib: sync with upstream.
Gary V. Vaughan [Wed, 19 Nov 2014 12:30:01 +0000 (12:30 +0000)] 
gnulib: sync with upstream.

* gnulib: sync with upstream.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: optional filename-based shlib versioning on aix.
Michael Haubenwallner [Sat, 29 Nov 2014 15:05:05 +0000 (15:05 +0000)] 
libtool: optional filename-based shlib versioning on aix.

Support filename-based shared library versioning on AIX with the
lib.so library filename extension, which is used with runtime
linking only. Runtime linking is enabled by the -brtl linker
flag for executables and the -G linker flag for Shared Objects.
The behaviour is similar to Linux/SVR4 DT_SONAME, hence the name
"aix-soname=svr4".
* Makefile.am (TESTS_ENVIRONMENT): Pass with_aix_soname value
via lt_cv_with_aix_soname into testsuite.
* configure.ac: AC_SUBST with_aix_soname for testsuite.
* libltdl/loaders/dlopen.c (vm_open): Use RTLD_MEMBER flag for
dlopen when the filename does specify an archive member between
"()". Otherways, retry with appending LT_SHARED_LIB_MEMBER when
loading fails without but archive file seems to exist.
* m4/libtool.m4 (dynamic_linker): Describe configured shared
library versioning variant according to with_aix_soname and
runtime linking.
(soname_spec, library_names_spec, shlibpath_overrides_runpath)
(postinstall_cmds, postuninstall_cmds, hardcode_direct)
(hardcode_direct_absolute, no_undefined_flag)
(allow_undefined_flag): Set according to with_aix_soname and
runtime linking configuration.
(export_symbols_cmds): Decorate symbols with the weak keyword.
(archive_expsym_cmds): Create both shared libraries according to
with_aix_soname and runtime linking configuration. Filter -brtl
linker flag from compiler_flags for shared libraries due to its
side effects.
(enable_static): Respect with_aix_soname for disabling as well.
* m4/ltdl.m4 (LT_SHARED_LIB_MEMBER): Define, set based on the
value of the shared_archive_member_spec libtool variable.
* m4/ltoptions.m4 (_LT_WITH_AIX_SONAME): New. Provides
commandline option --with-aix-soname=aix|svr4|both. Declares
$shared_archive_member_spec as libtool variable.
(_LT_SET_OPTIONS): Define LT_INIT options "aix-soname=aix",
"aix-soname=svr4", "aix-soname=both". Default is
"aix-soname=aix".
* doc/libtool.texi (LT_INIT): Document new options.
* tests/deplibs-ident.at: To define whether this test should
XFAIL, use hardcode_action, hardcode_direct,
hardcode_direct_absolute configuration settings instead of
platforms aix, bitrig, hppa-hpux, interix or openbsd.
* tests/versioning.at: When shared_archive_member_spec is defined
and LDFLAGS contain -brtl, we can run the versioning check.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtoolize: no need for umask 0 now that copying does not use tar.
Tijl Coosemans [Fri, 28 Nov 2014 16:46:56 +0000 (16:46 +0000)] 
libtoolize: no need for umask 0 now that copying does not use tar.

The umask calls seem to be left over as a workaround for several
releases ago when libtoolize copied libltdl sources with the help
of tar.  Now that we use cp or ln -s exclusively, this just
needlessly makes the files world writable; we should just respect
the users' own umask setting.
* libtoolize.in (func_copy): Remove umask 0 calls and simplify.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agomaint: syntax-checks don't like ${ even in comments!
Gary V. Vaughan [Fri, 28 Nov 2014 16:18:36 +0000 (16:18 +0000)] 
maint: syntax-checks don't like ${ even in comments!

* m4/ltdl.m4: Fix a comment to appease syntax-check rules.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: use a modern library version scheme for freebsd-elf.
Tijl Coosemans [Fri, 28 Nov 2014 15:57:07 +0000 (15:57 +0000)] 
libtool: use a modern library version scheme for freebsd-elf.

* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Adopt downstream patch
used by FreeBSD for versioned library filenames.
* build-aux/ltmain.in (func_mode_link): Replace conflicting
freebsd-elf version_type case branches with a single calculation
setting major and versuffix to match downstream FreeBSD.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: split sco version into its own type.
Tijl Coosemans [Fri, 28 Nov 2014 15:51:34 +0000 (15:51 +0000)] 
libtool: split sco version into its own type.

* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Set version type to
"sco" for sco based hosts.
* build-aux/ltmain.in (func_mode_link): Accept new "sco"
version_type as equivalent to freebsd-elf.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agoconfigury: detect dlsym underscore prefix without dlopen self.
Gary V. Vaughan [Fri, 28 Nov 2014 15:12:03 +0000 (15:12 +0000)] 
configury: detect dlsym underscore prefix without dlopen self.

* m4/ltdl.m4 (LT_FUNC_DLSYM_USCORE): Compile, load and get the
address of a symbol from a separate loadable module, rather than
assuming dlopen self works.
* NEWS: Update.
Reported by KO Myung-Hun

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agoltdl: fix a long standing duplicate `-ldl' bug in the link line.
Gary V. Vaughan [Wed, 26 Nov 2014 19:36:47 +0000 (19:36 +0000)] 
ltdl: fix a long standing duplicate `-ldl' bug in the link line.

* m4/ltdl.m4 (LT_LIB_DLLOAD): Save contents of LIBS before
calling AC_SEARCH_LIBS, which prepends to LIBS by default, and
restore afterwards.  We set LIBADD_DLOPEN and LIBADD_SHL_LOAD
so that dynamic loader libraries can be added selectively only
where they are needed.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agotests: do not test undef symbols across shlibs on AIX.
Michael Haubenwallner [Fri, 21 Nov 2014 19:03:26 +0000 (19:03 +0000)] 
tests: do not test undef symbols across shlibs on AIX.

On AIX, undefined symbols across shared libraries can work only
when the main program explicitly exports those symbols. As this
is bad practice anyway and -no-undefined should be preferred, we
skip this.
* tests/template.at: Skip test with undef syms across libraries
on AIX.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agotests: question mark is extended regex for non-GNU grep.
Michael Haubenwallner [Fri, 21 Nov 2014 18:56:27 +0000 (18:56 +0000)] 
tests: question mark is extended regex for non-GNU grep.

Accepting \? for at-most-once in basic regex is a GNU grep
extension, not accepted by AIX grep for example.
* tests/libtool.at: Use \{0,1\} instead of ? with GREP.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agomaint: Fox a resent smelling mystique.
Gary V. Vaughan [Tue, 18 Nov 2014 17:20:06 +0000 (17:20 +0000)] 
maint: Fox a resent smelling mystique.

* build-aux/git-log-fix: ChangeLog edit.
Reported by Eric Blake

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agobootstrap: make sure gnulib file droppings are removed.
Gary V. Vaughan [Tue, 18 Nov 2014 17:08:33 +0000 (17:08 +0000)] 
bootstrap: make sure gnulib file droppings are removed.

* bootstrap.conf (libtool_cleanup_empty_dirs): Recent bootstrap
updates set source_base to null, so we need to use ${x:-y} to
override the null.  Autoconf Shellology says that ancient BSD
/bin/sh chokes on :- defaults, but bootstrap is a developer tool,
and so we can reasonably expect a developer to have a working
/bin/sh to run the bootstrap script.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agobootstrap: add missing debug preambles.
Gary V. Vaughan [Tue, 18 Nov 2014 16:39:21 +0000 (16:39 +0000)] 
bootstrap: add missing debug preambles.

* bootstrap.conf (libtool_prep, func_require_ltdl_dir)
(libtool_require_package_url): Add missing $debug_cmd calls.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agoNEWS: Fix an ancient spelling mistake,
Vincent Lefevre [Tue, 18 Nov 2014 16:14:35 +0000 (16:14 +0000)] 
NEWS: Fix an ancient spelling mistake,

* NEWS: s/propogate/progagote.
* cfg.mk (old_NEWS_hash): Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: fix comment typo.
Vincent Lefevre [Mon, 17 Nov 2014 15:59:11 +0000 (15:59 +0000)] 
libtool: fix comment typo.

* m4/libtool.m4: Fix -fvisbility=hidden typo in a comment.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agomaint: fix a syntax-check failure.
Gary V. Vaughan [Tue, 4 Nov 2014 20:40:15 +0000 (20:40 +0000)] 
maint: fix a syntax-check failure.

* tests/cmdline_wrap.at (fail_list): quote test arguments to
satisfy failing syntax-checks.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: fix universal library building on darwin.
Gary V. Vaughan [Tue, 4 Nov 2014 20:11:49 +0000 (20:11 +0000)] 
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>
10 years agotests: update fat binary test case for modern darwin.
Gary V. Vaughan [Tue, 4 Nov 2014 18:09:32 +0000 (18:09 +0000)] 
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>
10 years agotests: fix false positive in failed test check for cmdline_wrap.at.
Gary V. Vaughan [Tue, 4 Nov 2014 18:05:42 +0000 (18:05 +0000)] 
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>
10 years agobootstrap: sync with upsteram.
Gary V. Vaughan [Tue, 4 Nov 2014 13:35:38 +0000 (13:35 +0000)] 
bootstrap: sync with upsteram.

* gl/build-aux/bootstrap.in: Sync with upstream.
* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtool: support versioning on OS/2.
KO Myung-Hun [Tue, 4 Nov 2014 13:23:24 +0000 (13:23 +0000)] 
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>
10 years agolibtool: support -export-symbols and -export-symbols-regex on OS/2.
KO Myung-Hun [Tue, 4 Nov 2014 13:13:59 +0000 (13:13 +0000)] 
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>
10 years agolibtool: add -os2dllname option.
KO Myung-Hun [Tue, 4 Nov 2014 12:27:05 +0000 (12:27 +0000)] 
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>
10 years agolibtool: fix DLL creation/installation/uninstallation on OS/2.
KO Myung-Hun [Tue, 4 Nov 2014 11:32:20 +0000 (11:32 +0000)] 
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>
10 years agolibtool: support -Zxxx options used on OS/2.
KO Myung-Hun [Tue, 4 Nov 2014 11:19:08 +0000 (11:19 +0000)] 
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>
10 years agolibtool: set lt_cv_deplibs_check_method to pass_all on OS/2.
KO Myung-Hun [Tue, 4 Nov 2014 11:16:51 +0000 (11:16 +0000)] 
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>
10 years agolibtool: there is no need to relink DLLs on OS/2.
KO Myung-Hun [Tue, 4 Nov 2014 11:15:53 +0000 (11:15 +0000)] 
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>
10 years agoltdl: OS/2 uses other APIs to load a DLL than LoadLibrary() on Windows.
KO Myung-Hun [Tue, 4 Nov 2014 11:14:27 +0000 (11:14 +0000)] 
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>
10 years agolibtool: support to link against static libraries on OS/2.
KO Myung-Hun [Tue, 4 Nov 2014 11:12:47 +0000 (11:12 +0000)] 
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>
10 years agolibtool: don't eliminate duplications in $postdeps and $predeps on OS/2
KO Myung-Hun [Tue, 4 Nov 2014 11:09:26 +0000 (11:09 +0000)] 
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>
10 years agoconfigury: create installation dir before writing to it.
Gary V. Vaughan [Mon, 3 Nov 2014 13:05:22 +0000 (13:05 +0000)] 
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>
10 years agomaint: .PHONY rules to protect gmake from pathological file names.
Gary V. Vaughan [Mon, 3 Nov 2014 11:14:24 +0000 (11:14 +0000)] 
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>
10 years agotests: fix typo in cmdline_wrap skip check.
Arkadiusz Miśkiewicz [Sun, 2 Nov 2014 15:59:40 +0000 (15:59 +0000)] 
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>
10 years agolibtoolize: don't forget to remove old non-gnulib argz files.
Gary V. Vaughan [Sun, 2 Nov 2014 14:40:13 +0000 (14:40 +0000)] 
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>
10 years agolibltdl: move libltdl argz module into LT namespace.
Gary V. Vaughan [Sun, 2 Nov 2014 12:30:40 +0000 (12:30 +0000)] 
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>
10 years agomaint: whitespace cleanup.
Gary V. Vaughan [Sun, 2 Nov 2014 11:58:38 +0000 (11:58 +0000)] 
maint: whitespace cleanup.

* Makefile.am ($(thanks)): Fix several whitespace syntax-check
failures.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agolibtoolize: do not remove gnulib files with --force.
Pavel Raiskup [Sun, 2 Nov 2014 10:53:20 +0000 (10:53 +0000)] 
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>
10 years agotests: set bindir and libdir at configure time.
Gary V. Vaughan [Thu, 30 Oct 2014 13:13:21 +0000 (13:13 +0000)] 
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>
10 years agolibtool: -rdynamic support for tcc.
Reuben Thomas [Wed, 29 Oct 2014 18:59:07 +0000 (18:59 +0000)] 
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>
10 years agolibtool: preliminary support for tcc on linux*.
Reuben Thomas [Wed, 29 Oct 2014 18:50:01 +0000 (18:50 +0000)] 
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>
10 years agomaint: fix README-alpha version match.
Gary V. Vaughan [Wed, 29 Oct 2014 18:00:32 +0000 (18:00 +0000)] 
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>
10 years agomaint: autogenerate THANKS.
Gary V. Vaughan [Wed, 29 Oct 2014 13:54:19 +0000 (13:54 +0000)] 
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>
10 years agomaint: fix prefix and suffix installs for libtoolize.
Gary V. Vaughan [Wed, 29 Oct 2014 12:17:35 +0000 (12:17 +0000)] 
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>
10 years agomaint: move Peter O'Gorman and Ralf Wildenhues to past maintainers.
Gary V. Vaughan [Mon, 27 Oct 2014 21:47:35 +0000 (21:47 +0000)] 
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>
10 years agomaint: post-release administrivia
Gary V. Vaughan [Mon, 27 Oct 2014 20:57:04 +0000 (20:57 +0000)] 
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

10 years agoversion 2.4.3 v2.4.3
Gary V. Vaughan [Mon, 27 Oct 2014 18:03:28 +0000 (18:03 +0000)] 
version 2.4.3

* NEWS: Record release date.

10 years agobootstrap: sync with upstream.
Gary V. Vaughan [Mon, 27 Oct 2014 17:59:20 +0000 (17:59 +0000)] 
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>
10 years agotestsuite: fixes required for `make distcheck CC=g++`.
Gary V. Vaughan [Mon, 27 Oct 2014 13:42:55 +0000 (13:42 +0000)] 
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>
10 years agomaint: fix a typo in THANKS.
Gary V. Vaughan [Mon, 27 Oct 2014 09:41:59 +0000 (09:41 +0000)] 
maint: fix a typo in THANKS.

* THANKS: s/macports\.com/macports.org/

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agosyntax-check: use strlcpy instead of strncpy.
Gary V. Vaughan [Sun, 26 Oct 2014 21:50:06 +0000 (21:50 +0000)] 
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>
10 years agolibtool: fix GCC linking with -fstack-protector.
Gary V. Vaughan [Sat, 25 Oct 2014 16:25:11 +0000 (17:25 +0100)] 
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>
10 years agolibtool: support Mac OS 10.10 and newer.
Gary V. Vaughan [Sat, 25 Oct 2014 15:59:07 +0000 (16:59 +0100)] 
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>
10 years agobootstrap: commit latest to avoid regeneration at build time.
Gary V. Vaughan [Sat, 25 Oct 2014 16:07:44 +0000 (17:07 +0100)] 
bootstrap: commit latest to avoid regeneration at build time.

* bootstrap: Regenerate.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
10 years agognulib: sync with upstream.
Gary V. Vaughan [Sat, 25 Oct 2014 16:10:38 +0000 (17:10 +0100)] 
gnulib: sync with upstream.

* gnulib: Sync with upstream.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
11 years agolibtool: delay expansion of $ECHO until the wrapper script runs
Peter Rosin [Tue, 13 May 2014 09:47:54 +0000 (11:47 +0200)] 
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>
11 years agolibtool: fix nm test for MSYS/MinGW
Peter Rosin [Tue, 6 May 2014 08:11:34 +0000 (10:11 +0200)] 
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>
11 years agolibtool: speed up ltwrapper_script detection in execute mode
Peter Rosin [Mon, 5 May 2014 22:03:19 +0000 (00:03 +0200)] 
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>
11 years agolibtool: prevent lto from stripping the magic cookie from the cwrapper
Peter Rosin [Fri, 2 May 2014 12:51:02 +0000 (14:51 +0200)] 
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>
11 years agotests: sprinkle -no-undefined when linking libraries
Peter Rosin [Wed, 12 Feb 2014 09:03:56 +0000 (10:03 +0100)] 
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>
11 years agolibtool: actually strip -Wl when relinking with $LD
Peter Rosin [Wed, 12 Feb 2014 09:01:13 +0000 (10:01 +0100)] 
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>
11 years agobootstrap: fix description of func_sort_ver to match recent sort change
Peter Rosin [Mon, 10 Feb 2014 13:51:07 +0000 (14:51 +0100)] 
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>
11 years agodoc: remove redundant "in order to" phrase where possible.
Gary V. Vaughan [Wed, 5 Feb 2014 23:05:04 +0000 (12:05 +1300)] 
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>
11 years agobootstrap: check for git tree with .git/. in case of soft links.
Bruce Korb [Mon, 3 Feb 2014 04:16:44 +0000 (17:16 +1300)] 
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>
11 years agobootstrap: use `-d .git` to check whether we are in a git tree.
Gary V. Vaughan [Mon, 27 Jan 2014 02:04:53 +0000 (15:04 +1300)] 
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>
11 years agolibtool: opt_duplicate_compiler_generated_deps is harmful on Solaris
Rainer Orth [Fri, 17 Jan 2014 21:07:52 +0000 (10:07 +1300)] 
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>
11 years agobootstrap: check for git checkout correctly.
Gary V. Vaughan [Wed, 15 Jan 2014 07:10:29 +0000 (20:10 +1300)] 
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>
11 years agolibtoolize: don't remove install-sh.
Todd C. Miller [Sat, 11 Jan 2014 00:15:32 +0000 (13:15 +1300)] 
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>
11 years agooptions-parser: --version works with 'DO NOT EDIT' preamble again.
Gary V. Vaughan [Tue, 7 Jan 2014 03:06:02 +0000 (16:06 +1300)] 
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>
11 years agobootstrap: specify particular version in buildreq with =x.y.
Gary V. Vaughan [Tue, 7 Jan 2014 01:16:34 +0000 (14:16 +1300)] 
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>
11 years agobootstrap: remove conftest.sed file droppings.
Gary V. Vaughan [Sun, 5 Jan 2014 04:13:47 +0000 (17:13 +1300)] 
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>
11 years agobootstrap: replace spurious hyphen in some section comments.
Gary V. Vaughan [Sat, 4 Jan 2014 01:53:06 +0000 (14:53 +1300)] 
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>