Török Edwin [Sat, 28 Feb 2009 12:26:59 +0000 (13:26 +0100)]
Do not add bogus directory arguments to link command lines.
* libltdl/config/ltmain.m4sh (func_mode_link): Ensure $path is
always initialized before it is used. Reported for zsh, for
which $path contains $PATH entries even after "emulate sh", see
<http://bugs.debian.org/517501>.
Ralf Wildenhues [Mon, 16 Feb 2009 20:59:34 +0000 (21:59 +0100)]
Do not pass $INSTALL via TESTS_ENVIRONMENT.
* Makefile.am (TESTS_ENVIRONMENT): Set lt_INSTALL, not INSTALL,
so that a bogus relative path to the install-sh script in the
source tree is not propagated to the configure scripts of the
old test suite.
* tests/testsuite.at: Adjust.
* tests/install.at (Install tests): Likewise.
Kurt Roeckx [Tue, 3 Feb 2009 06:54:33 +0000 (07:54 +0100)]
lt_dlopenext sets error upon successful library load.
* libltdl/ltdl.c (lt_dlopenadvise): Fix bogus error on
successful loading of library with lt_dlopenext.
Report by Kaiwang Chen in <http://bugs.debian.org/510006>.
Ralf Wildenhues [Sun, 1 Feb 2009 14:06:19 +0000 (15:06 +0100)]
install mode: do not pass `-m $install_override_mode' to cp.
* libltdl/config/ltmain.m4sh (func_mode_install): New variable
$install_cp, factor test when `cp' is used for installation.
Do not pass mode override to cp. Fixes `libtool --mode=install
cp ...' on HP-UX; cp should not be used for libraries that might
be needed by programs invoked during the installation process.
Jeff Squyres [Sat, 31 Jan 2009 15:04:07 +0000 (16:04 +0100)]
New test for bogus lt_dlopen error message.
* tests/lt_dlopen.at (lt_dlopen error messages): New file, new
test, marked as XFAIL for now.
* Makefile.am: Adjust.
Report and reproducible test case by Jeff Squyres.
Ralf Wildenhues [Sat, 31 Jan 2009 14:00:10 +0000 (15:00 +0100)]
execute mode: do not transform *.lo or *.la arguments.
* libltdl/config/ltmain.m4sh (func_mode_execute): Do not check
arguments matching *.lo or *.la for script wrappers.
* tests/execute-mode.at (execute mode): Add tests.
* NEWS, THANKS: Update.
Report by Paul Biggar.
Ralf Wildenhues [Sat, 31 Jan 2009 10:34:06 +0000 (11:34 +0100)]
Nonexistent `main' does not guarantee link failure.
* tests/fail.at (Failure tests): Use an unresolved symbol,
rather than non-presence of `main', to provoke a link failure
also on QNX. Only check for failure of the libtool script if
the link without libtool would have failed, too.
Report by Mike Gorchak.
Ralf Wildenhues [Sat, 31 Jan 2009 10:27:11 +0000 (11:27 +0100)]
Use AT_CHECK more liberally in duplicate members test.
* tests/duplicate_members.at (duplicate members in archive
tests): Wrap link commands in AT_CHECK, they might fail, as seen
on QNX.
* THANKS: Update.
Report by Mike Gorchak.
Akim Demaille [Mon, 5 Jan 2009 10:56:24 +0000 (11:56 +0100)]
Fix func_exec_init.
* tests/defs.m4sh (func_exec_init): Instead of using the undefined
my_dir, call func_dirname_and_basename and use its result.
(func_make): For consistency, don't use the useless local variable
my_dir.
Ralf Wildenhues [Thu, 29 Jan 2009 18:54:31 +0000 (19:54 +0100)]
Document --mode short-hands better, and test them.
* doc/libtool.texi (Invoking libtool): Give examples for using
the `--mode=MODE' short-hand `MODE', or abbreviations thereof.
* libltdl/config/ltmain.m4sh: Mention the short-hand for MODE
in the --help output.
* tests/help.at (mode short-hands): New test group.
Suggestion by Bruno Haible.
Ralf Wildenhues [Thu, 29 Jan 2009 17:53:13 +0000 (18:53 +0100)]
func_version copes with multi-line copyright headers.
* libltdl/config/getopt.m4sh (func_version): Slurp in copyright
lines until a period is found.
* libltdl/config/ltmain.m4sh: Multi-line copyright is ok to use
now.
* tests/help.at (standard command line options): New file, new
tests. Make this test group the first one for libtool tests,
moving the banner ...
* tests/duplicate_members.at: ... from here.
* Makefile.am (TESTSUITE_AT): Add tests/help.at.
Akim Demaille [Thu, 29 Jan 2009 17:39:58 +0000 (18:39 +0100)]
Normalize compiler output due to compiler wrappers.
* tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): New
macro, to normalize ccache and distcc output.
* tests/localization.at (localized compiler messages): Use it.
Peter Rosin [Mon, 26 Jan 2009 21:37:35 +0000 (22:37 +0100)]
AWK is required, make sure it is set.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS: Make sure
AWK is set (automake brings it in, but is not always used).
Fixes old-m4-iface.at on MSYS/MSVC.
Signed-off-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Charles Wilson [Fri, 23 Jan 2009 13:45:38 +0000 (08:45 -0500)]
[cygwin|mingw] cwrapper cleanups.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src)
[file scope]: re-organized includes and portability
macros. Avoid oldnames on MINGW32 and MSVC for
setmode/stat/chmod/getcwd/putenv. Declare _putenv on
MINGW32 when -ansi. Use namespaced macro LT_DEBUGWRAPPER.
Peter Rosin [Thu, 22 Jan 2009 22:41:06 +0000 (23:41 +0100)]
Unify line endings in localization test.
* tests/testsuite.at: Update copyright year.
(LT_AT_UNIFY_NL): Add macro that unifies line endings on
platforms that suffer from such confusion.
* tests/localization.at: Use it. Update copyright year. Fixes
the test on MSYS/MSVC.
Ralf Wildenhues [Mon, 19 Jan 2009 22:55:07 +0000 (23:55 +0100)]
Avoid failure due to Cygwin path detection bug.
* tests/execute-mode.at (execute mode): Ignore noise on stderr;
Cygwin might consider `d\"e' to be a DOS-style path and warn.
Report by Charles Wilson.
Peter Rosin [Wed, 14 Jan 2009 08:04:40 +0000 (09:04 +0100)]
Fix flakey mdemo-dryrun test on MSYS (again!)
* tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year,
not time, for really fresh files. Add sleep 1 call at yet another
strategic position. Makes the test pass reliably for MSYS/MinGW.
Ralf Wildenhues [Wed, 17 Dec 2008 19:41:57 +0000 (20:41 +0100)]
Add cache variables to link tests.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_LINKER_SHLIBS): Add cache variables to tests that
require the linker to work. For shlibpath_overrides_runpath,
this also changes the semantics to let the result from the C
compiler take precedence.
* tests/no-executables.at (AC_NO_EXECUTABLES): New file.
* Makefile.am: Update.
* NEWS: Update.
Report of shlibpath_overrides_runpath issue by Mike Frysinger,
report of GCC issue by Andreas Schwab.
Ralf Wildenhues [Mon, 24 Nov 2008 20:49:23 +0000 (21:49 +0100)]
Fix func_infer_tag $ECHO usage; some testsuite exposure.
* libltdl/config/ltmain.m4sh (func_infer_tag): Use func_echo_all
rather than $ECHO for possibly multiple arguments.
* tests/infer-tag.at (inferred tag, CXX inferred tag)
(F77 inferred tag, FC inferred tag, GCJ inferred tag): New file,
new tests.
* Makefile.am: Adjust.
Ralf Wildenhues [Sun, 23 Nov 2008 21:58:06 +0000 (22:58 +0100)]
Fix expout and experr line ending issues.
* tests/testsuite.at (LT_AT_HOST_DATA): Renamed from..
(_LT_AT_TRANSLATE_TEXT_OUTPUT): ..this.
(LT_AT_EXEC_CHECK, LT_AT_NOINST_EXEC_CHECK): Do not use
_LT_AT_TRANSLATE_TEXT_OUTPUT any more.
* tests/configure-iface.at: Use LT_AT_HOST_DATA instead of
AT_DATA for `expout' files.
* tests/lt_dladvise.at (lt_dlopenadvise library loading):
Likewise.
* tests/need_lib_prefix.at (enforced lib prefix): Likewise.
Report by Roumen Petrov.
Ralf Wildenhues [Sun, 23 Nov 2008 21:54:35 +0000 (22:54 +0100)]
Relax link-order2 test for systems with partial wrong order.
* tests/link-order2.at (Link order of deplibs.): On w32 (and
others, e.g., AIX), the wrongly linked executable picks up only
one instance of the bad function instead of two; relax the test
to accept this; we still require the right link order with the
correctly linked executable.
Reported by Roumen Petrov and others.
Roumen Petrov [Sun, 23 Nov 2008 20:26:09 +0000 (21:26 +0100)]
Add $EXEEXT to all linked programs in the new testsuite.
* tests/convenience.at, tests/ctor.at, tests/darwin.at,
tests/deplibs-ident.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/export.at, tests/fail.at, tests/indirect_deps.at,
tests/inherited_flags.at, tests/link-order.at,
tests/link-order2.at, tests/lt_dladvise.at, tests/lt_dlexit.at,
tests/need_lib_prefix.at, tests/runpath-in-lalib.at,
tests/search-path.at, tests/shlibpath.at, tests/static.at,
tests/stresstest.at, tests/template.at, tests/testsuite.at:
Use $EXEEXT throughout, except in Makefile.am snippets where
automake takes care of it, and in testsuite macros that take
care of the extension.
Reports by Roumen Petrov and Alon Bar-Lev.
Ralf Wildenhues [Sun, 23 Nov 2008 21:35:58 +0000 (22:35 +0100)]
Adjust executable run tests to cwrapper changes.
* tests/testsuite.at (LT_AT_EXEC_CHECK): Accept fifth argument
ARGS-OR-STATUS-ADJUST, for command-line arguments and/or exit
status flattening. Rewrite to prefer the executable with the
`.exe' prefix over one without. Test exit status against
expected exit status, not against zero, when determining whether
this may be a cross-compilation-induced result.
(LT_AT_NOINST_EXEC_CHECK): Likewise.
* tests/static.at (static linking flags for programs): Adjust
calls.
Report by Roumen Petrov.
Vincent Torri [Sun, 23 Nov 2008 19:30:33 +0000 (20:30 +0100)]
Fix func_emit_cwrapperexe_src for WinCE: no errno support.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src)
[__MINGW32CE__]: Do not use errno, do not include errno.h and
remove calls related to errno when using the mingw32ce compiler.
Ralf Wildenhues [Sun, 23 Nov 2008 14:36:14 +0000 (15:36 +0100)]
Fix $ECHO test to not influence other _AS_DETECT_SUGGESTED code.
* libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix test to
not influence further tests registered with _AS_DETECT_SUGGESTED
and do not use a PATH below /tmp, to avoid influence by a third
party.
Ralf Wildenhues [Sun, 23 Nov 2008 14:17:34 +0000 (15:17 +0100)]
Avoid newlines in some AT_CHECK commands.
* tests/standalone.at (linking libltdl without autotools): Wrap
lines with dnl, to avoid turning off tracing of AT_CHECK.
* tests/subproject.at (linking libltdl without autotools):
Likewise.
Ralf Wildenhues [Sun, 23 Nov 2008 13:38:24 +0000 (14:38 +0100)]
Revenge of the $ECHO. Kill most uses of Xsed.
* libltdl/config/general.m4sh: Replace all uses of `$ECHO "X..."
| $Xsed' with `$ECHO "..." | $SED', and employ further trivial
simplifications. Replace $ECHO with echo where appropriate.
(func_echo_all): New function.
* libltdl/config/getopt.m4sh: Likewise simplifications.
* libltdl/config/ltmain.m4sh: Likewise.
* libltdl/m4/libtool.m4: Likewise.
(LT_CMD_MAX_LEN): Use func_fallback_echo, to ensure that the
command line is passed through an exec* function.
* libtoolize.m4sh: Likewise simplifications. Use func_echo_all
to implement --dry-run.
* tests/defs.m4sh: Likewise simplifications.
* tests/quote.test: Likewise simplifications.
Ralf Wildenhues [Sun, 23 Nov 2008 08:13:13 +0000 (09:13 +0100)]
Fix matching of Sun Fortran compiler on Linux.
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: Also
match `Sun Ceres Fortran' compiler; reorder with C compiler
matching.
* THANKS: Update.
Report by Ethan Mallove.
Charles Wilson [Sat, 15 Nov 2008 09:40:26 +0000 (04:40 -0500)]
Fix --verbose option; add new --no-{silent|quiet|verbose} options.
* libltdl/config/ltmain.m4sh (usage): Document
new options --no-silent/--no-quiet and --no-verbose.
(func_enable_tag): Handle new options.
Modified --verbose to actually activate opt_verbose.
New behavior: --silent disables both "normal" output and
func_verbose output. --verbose enables both "normal"
output and func_verbose output. --no-silent enables
"normal" output, but does not affect func_verbose output.
--no-verbose disables func_verbose output, but does not
affect "normal" output.
* NEWS: announce new options --no-silent/--no-quiet, and
--no-verbose.
* doc/libtool.texi: document new options --no-silent/--no-quiet
and --no-verbose.
Ralf Wildenhues [Thu, 20 Nov 2008 06:18:38 +0000 (07:18 +0100)]
Ensure $ac_aux_dir is initialized for LIBTOOL_DEPS.
* libltdl/m4/libtool.m4 (LT_INIT): Require
AC_CONFIG_AUX_DIR_DEFAULT.
* tests/old-m4-iface.at (AM_PROG_LIBTOOL): Amend test to
expose this.
Report, analysis, and test example by Jakub Bogusz.
Ralf Wildenhues [Thu, 20 Nov 2008 06:13:36 +0000 (07:13 +0100)]
Check for bogus aclocal.m4 contents in bootstrap and dist-hook.
* Makefile.am (dist-hook): Bail out if shipped aclocal.m4 files
contain LT_INIT, AC_PROG_LIBTOOL, or AM_PROG_LIBTOOL macro
definitions. These can only come from bogus pull-ins from older
installed Libtool macro files.
* bootstrap: Likewise.
Report by Akim Demaille.
Ralf Wildenhues [Sun, 16 Nov 2008 22:31:56 +0000 (23:31 +0100)]
Skip sys_lib_search_path on systems without libz.
* tests/search-path.at (sys_lib_search_path): Autotest needs at
least one AT_CHECK executed in a test group. So if we haven't
found -lz anywhere, as may happen with cross-compilers, skip the
test.
* THANKS: Update.
Report by Alon Bar-Lev.
Ralf Wildenhues [Wed, 12 Nov 2008 20:13:17 +0000 (21:13 +0100)]
Fix archive_cmds for older cc on HP-UX 11.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [hp-ux11*, !GCC]
[!hppa*64*, !ia64*] <archive_cmds>: Older releases of the HP-UX
11.00 C compiler do not support -b yet; use a link test to
decide whether $LD should be used for library creation.
* THANKS: Update.
Report by Daniel Richard G.
Paolo Bonzini [Fri, 7 Nov 2008 08:03:35 +0000 (09:03 +0100)]
Implement $ECHO with print -r, printf or cat in a shell function.
* configure.ac: Bump Autoconf requirement.
* libltdl/config/general.m4sh: Use $as_echo as default $ECHO.
* tests/testsuite.at: Use $as_echo as default $ECHO.
* libltdl/m4/libtool.m4 (LT_INIT): Add _LT_SHELL_INIT to
work around Autoconf <2.64 bug.
(_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): Add func_fallback_echo.
Eliminate lt_ECHO requoting.
(_LT_SHELL_INIT): Use a public M4sh diversion.
(_LT_PROG_ECHO_BACKSLASH): Rewrite.
(LT_CMD_MAX_LEN): Do not use --fallback-echo.
* libltdl/config/ltmain.m4sh: Remove --no-reexec and --fallback-echo
handling.
(func_fallback_echo): New.
(func_emit_wrapper_part1): Quote ECHO. Remove --no-reexec and
--fallback-echo handling.
(Execute mode): Do not set qecho.
Paolo Bonzini [Mon, 10 Nov 2008 07:25:24 +0000 (08:25 +0100)]
Use documented M4sh interfaces.
* clcommit.m4sh: Do not unset CDPATH, use AS_INIT and M4sh diversions.
* libltdl/config/mailnotify.m4sh: Likewise.
* libtoolize.m4sh: Likewise.
* tests/defs.m4sh: Likewise.
* tests/testsuite.at: Move AT_INIT invocation at the top.
* libltdl/m4/libtool.m4 (_LT_GENERATED_FILE_INIT): New.
(LT_OUTPUT): Use it.
* libltdl/config/general.m4sh (M4SH_IN_HEADER): New.
(progpath): Move setting before $0 could be clobbered.
* libltdl/config/ltmain.m4sh (M4SH_IN_HEADER): New.
Bruno Haible [Tue, 11 Nov 2008 05:51:24 +0000 (06:51 +0100)]
Fix cwrapper argument mangling on w32.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): On
mingw, preprocess the argument vector through prepare_spawn.
* tests/execute-mode.at (execute mode): Output args
newline-separated. Extend tests by more argument pairs that
contain special characters, where the w32 cwrapper fails.
Also test a real compiled program, linked against an uninstalled
library, to expose cwrapper issues.
* NEWS: Update.
Ralf Wildenhues [Sun, 5 Oct 2008 10:35:27 +0000 (12:35 +0200)]
Atomic shared library install permissions on HP-UX.
The HP-UX 11 runtime linker fails to mmap shared libraries
without execute permissions. Fixing them with postinstall_cmds
may be too late, as ln, sed, and chmod may link against the
library being installed.
* libltdl/m4/libtool.m4 (install_override_mode): New LT_DECL.
(_LT_SYS_DYNAMIC_LINKER) [hpux9*, hpux10*, hpux11*]: Set it.
* libltdl/config/ltmain.m4sh (func_mode_install): Build a second
command line, $install_shared_prog, for the installation of the
shared library. Override resp. set the permission mode if
install_override_mode is nonempty.
* doc/libtool.texi (libtool script contents): Document it.
* tests/install.at (Install tests): New test.
* Makefile.am (TESTSUITE_AT): Adjust.
(TESTS_ENVIRONMENT): Pass INSTALL.
Report by Bruno Haible.
* Makefile.am (dist_man1_MANS, update_mans): New macros.
($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New
rules. Use --help-all for libtool.
(MAINTAINERCLEANFILES): New macro. Add dist_man1_MANS.
(BUILT_SOURCES): Add libtoolize.
* configure.ac: Check for help2man, set HELP2MAN.
* doc/libtool.texi: Add @direntry for libtool-invocation.
(Invoking libtool): Document -h, --help-all. Reorder mode
description for consistency.
(Compile mode): Do not document -Wl,FLAG and -XCClinker here.
(Link mode): Document -Wc,FLAG here, reformat a bit.
* libtoolize.m4sh: Reformat --help output a bit, to help
help2man.
* libltdl/config/ltmain.m4sh: Likewise. Also, set PROGRAM to
`libtool', not `ltmain.sh', so the former is used in the man
page.
New argument `--help-all'. If given, call func_help and
func_mode_help several times, beating output in shape with sed.
(func_mode_help): Do not exit here.
* libltdl/config/getopt.m4sh (func_usage): Work with different
indentations, but require comment hash in first column, when
grepping for '-h' in usage to end short help.
(func_help): Accept optional argument to not exit.
* NEWS, THANKS: Update.
Suggestion by Karl Berry.
Gary V. Vaughan [Mon, 8 Sep 2008 06:36:26 +0000 (14:36 +0800)]
Use `-version-info 9:0:2' for one added iface since 2.2.4.
* libltdl/Makefile.inc (LTDL_VERSION_INFO): Make the libltdl
version number match 2.2.6a rerelease.
Gary V. Vaughan [Mon, 8 Sep 2008 06:24:06 +0000 (14:24 +0800)]
Add ./commit option for pushing tags back to origin.
* clcommit.m4sh (opt_tags): New --tags push option.
(func_commit): Run `$GIT push --tags' if --tags was passed.
* HACKING (Release Procedure): Note the requirement to pass
--tags to ./commit for new release tag to be push back to
origin.
Gary V. Vaughan [Sun, 7 Sep 2008 11:59:28 +0000 (19:59 +0800)]
Retire gnu.org news.html in favour of savannah news.
* HACKING (Release Procedure): Add instructions for sending
a web release announcement to http://planet.gnu.org via
the savannah news manager.
Gary V. Vaughan [Sun, 7 Sep 2008 11:53:16 +0000 (19:53 +0800)]
Add untested git push conflict testing to commit script.
* clcommit.m4sh (func_check_conflicts): Test return status
of 'git push --dry-run', and display an error on non-zero.
Gary V. Vaughan [Sun, 7 Sep 2008 08:17:37 +0000 (16:17 +0800)]
Enable release procedure to work with lzma OLDRELEASE file.
* Makefile.maint (diffs, prev-tarball, new-tarball): If lzma
tarballs are present use them to generate the diffs, otherwise
use gz tarballs if they are present, or else complain if both
are missing.