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.
Gary V. Vaughan [Sat, 6 Sep 2008 21:12:18 +0000 (05:12 +0800)]
Prepare for next stable release.
* libltdl/Makefile.inc (LTDL_VERSION_INFO): Update.
* libltdl/m4/libtool.m4: Bump serial number to account for
changes since 2.2.4 release.
* INSTALL, config/config.guess, config/texinfo.tex: Updated
from canonical source.
* configure.ac (AM_INIT_AUTOMAKE): Specify dist-lzma, which
was introduced after automake-1.10 was released.
(abs_top_srcdir, abs_top_builddir): No need to substitute these
from configure anymore, since we require automake 1.10.1, which
does perform the substitutions properly.
(TIMESTAMP): Normal releases were displaying the long-form
timestamp. Fix to show the short release timestamp as per
alpha release numbers.
* NEWS: Update with missing entries from ChangeLog.
* HACKING (Release Procedure): We release lzma tarballs now
but no xdeltas.
* Makefile.maint: Updated to match Release Procedure
instructions in HACKING.
Gary V. Vaughan [Sat, 6 Sep 2008 14:50:15 +0000 (22:50 +0800)]
Fix 'DISTCHECK_CONFIGURE_FLAGS=--program-prefix=g' bug.
* tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Fix test failures
with --program-prefix, where the test case output contains the
transformed name somewhere other than the beginning of a line.
* libtoolize.m4sh (func_check_macros): Be sure to always use
the transformed name in output messages.
* libltdl/config/ltmain.m4sh (func_mode_link): When removing
potential output files before linking, do not remove *.gcno
profile information GCC outputs next to object files in `.libs'.
Report by Vincent Torri.
libltdl/m4/ltdl.m4: Remove LTDL_DLOPEN_SELF_WORKS define.
libltdl/loaders/dlopen.c: Remove LTDL_DLOPEN_SELF_WORKS check.
libltdl/m4/libtool.m4 [aix]: Set export_dynamic_flag_spec to -Wl,-bexpall. This is a temporary workaround until a real fix is implemented.
Peter O'Gorman [Tue, 26 Aug 2008 17:41:25 +0000 (12:41 -0500)]
Remove unnecessary global argz functions.
* libltdl/argz.c (argz_add,argz_count): Remove.
* libltdl/argz_.h (argz_add,argz_count): Remove.
* NEWS: Announce it.
* tests/ltdl-api.at: Test so we don't repeat it.
* Makefile.am: Add new test.
Ralf Wildenhues [Thu, 21 Aug 2008 19:07:16 +0000 (21:07 +0200)]
Disallow `-L path', do not misparse it silently.
* libltdl/config/ltmain.m4sh (func_mode_link): Diagnose `-L'
without argument, and `-L path', i.e., with a space.
* tests/fail.at (Failure tests): Test for these failures.
* THANKS: Update.
Report by Olaf Lenz.