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 [Wed, 13 Aug 2008 05:13:06 +0000 (07:13 +0200)]
Support for response files with $NM.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) <nm_file_list_spec>:
New tag variable.
[ cygwin, mingw, cegcc ] <cl*>: Set to '@'.
(_LT_LANG_CXX_CONFIG): Likewise.
* libltdl/config/ltmain.m4sh (func_mode_link): When
nm_file_list_spec is nonempty, use it to avoid skipped_export.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Peter Rosin [Tue, 12 Aug 2008 07:02:32 +0000 (09:02 +0200)]
For MSVC, embed the manifest as a resource in the executable.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) <postlink_cmds>:
New tag variable.
[ cygwin, mingw, cegcc ] <cl*>: Embed the manifest file as a
resource.
(_LT_LANG_CXX_CONFIG): Likewise.
* libltdl/config/ltmain.m4sh (func_mode_link): After linking
a program, replace @OUTPUT@ in $postlink_cmds and then execute
the commands.
Peter Rosin [Sat, 2 Aug 2008 12:54:10 +0000 (14:54 +0200)]
Indicate if the archiver supports a listing file.
Allow the use of a file listing file if the archiver supports
it. Add hint so that the Microsoft lib archiver uses the file
listing feature.
* libltdl/m4/libtool.m4 (_LT_PROG_AR): Indicate if the
archiver supports a listing file with the new variable
archiver_list_spec.
* libltdl/config/ltmain.m4sh: If the archiver supports
a listing file, use it when max_cmd_len is exceeded.
Peter Rosin [Sat, 2 Aug 2008 12:54:10 +0000 (14:54 +0200)]
MSVC doesn't support the -l option.
MSVC doesn't support the -l option, instead it expects the exact
library file name. Retain the -l option as long as possible as
libtool recognizes -l internally. Then, as late as possible
transform the -l option to an exact file name (-lfoo ->
foo.lib).
* libltdl/m4/libtool.m4: Add tag variable dashl_xform which
specifies how to transform -l options for the linker.
* libltdl/config/ltmain.m4sh (func_mode_link): Transform -l
options using dashl_xform right before creating the
program or library.
Peter Rosin [Sat, 2 Aug 2008 12:54:10 +0000 (14:54 +0200)]
MSVC needs a hint to force it to compile either as C or C++.
* libltdl/m4/libtool.m4: Add tag variable compile_tag to
enable tag specific compiler options that are bad in the
linking phase.
* libltdl/config/ltmain.m4sh: Add the tag specific options
to the compile command line.
Peter Rosin [Sat, 2 Aug 2008 12:54:10 +0000 (14:54 +0200)]
The MSVC linker doesn't have a -L option.
The MSVC linker doesn't have a -L option, and doesn't understand
posix paths. Move paths to an envvar with a prefix (-LIBPATH:).
* libltdl/m4/libtool.m4: Add new tag variables to specify
to what variable (dashL_envvar) -L options should be moved,
and what to prepend to the -L path (dashL_envvar_spec).
* libltdl/config/ltmain.m4sh (func_dashL_to_envvar): New
function that moves -L options to a variable.
* libltdl/config/ltmain.m4sh (func_mode_link): Prior to
linking, call above function if dashL_envvar is set.
Peter Rosin [Sat, 2 Aug 2008 12:54:10 +0000 (14:54 +0200)]
On Windows, find potential libs regardless of file name case.
* libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD),
libltdl/config/ltmain.m4sh (func_mode_link): On Windows,
find potential libs regardless of file name case.
* tests/nocase.at: New test, to check for regressions
of the above.
* Makefile.am: Add above new test.
Peter Rosin [Sat, 2 Aug 2008 12:54:10 +0000 (14:54 +0200)]
Allow Microsoft lib to be used as the archiver.
* libltdl/m4/libtool.m4 (_LT_PROG_AR): New macro, detect the
interface used by the archiver. In particular, add the AR_SEP
variable to allow archivers that does not allow a space between
the options to create an archive and the archive name and the
ar_extract_one_by_one variable which indicates if the archiver
can extract all members in one go.
* libltdl/m4/libtool.m4: Add $AR_SEP between $AR_FLAGS and the
archive file name in all $AR commands.
* libltdl/config/ltmain.m4sh (func_extract_an_archive): Add support
for archivers that only supports extracting one member at a time
and otherwise adjust to the above libtool.m4 changes. Also, add
$AR_SEP to the $AR invocations.
* Makefile.am: Pass AR, AR_FLAGS and AR_SEP through to the
testsuite.
* tests/archive-in-archive.at: Extract archive name from the .la
file instead of hardcoding the name, and allow different archivers.
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.