By substituting just the directory name as passed to the macro,
aux_dir can be used with or without $srcdir prefix, which is
more flexible, and always means the same thing in each file,
rather than sometimes being a directory name, sometimes relative
to $top_srcdir.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR)
(LT_CONFIG_LTDL_DIR): Don't force config.status substitutions
with unexpanded shell variables.
* Makefile.am, tests/defs.m4sh: Adjust.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Close http://debbugs.gnu.org/9962.
* tests/pic_flag.at (LT_AT_CONFIGURE): Make sure to configure
with --disable-silent-rules so that the full output parsed by
the rest of the test is available.
Reported by Roumen Petrov.
Signed-off-by: Gary V. Vaughan <gary@vaughan.pe>
Not only does it make more sense, it also matches bootstrap and
others.
* libtoolize.m4sh, libltdl/config/ltmain.m4sh,
libltdl/config/getopt.m4sh, tests/defs.m4sh (opt_debug): Rename
to debug_cmd.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
The `gnulib-tool' and gnulib `bootstrap' scripts maintain
`.gitignore' files in asciibetical order, so reorder them now
to avoid spurious patches later.
Take advantage of putting recursive file ignore matches into
`$top_srcdir/.gitignore' and remove repetitions from other
`.gitignore' files.
* Makefile.am: Replace all uses of m4dir with macrodir to
match AC_CONFIG_MACRO_DIR.
* libltdl/config/libtoolize.m4sh: Replace all uses of macrodir
with macro_dir.
* tests/defs.m4sh, tests/sh.test: Likewise.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* Makefile.am, Makefile.maint: Replace all uses of auxdir
with aux_dir to match AC_CONFIG_AUX_DIR.
* libltdl/config/libtoolize.m4sh: Likewise.
* tests/defs.m4sh, tests/getopt-m4sh.at: Likewise.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* libltdl/m4/ltdl.m4: Define extra extension if module extension
differs from shared lib extension.
* libltdl/ltdl.c: Use it.
* tests/darwin.at: Test it.
* NEWS: Announce it.
Reported by Hans Aberg, Michael Ellis, and others.
* libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Ignore
stderr during tests for -flag unless it contains "flag".
* tests/darwin.at: Add test.
Reported by Jeremy Huddleston and also by David Fang.
* libltdl/m4/libtool.m4: Modify --with-pic to accept a list of
package names. Modelled off --enable-shared.
* tests/with-pic.at: New test.
* Makefile.am (TESTSUITE_AT): Add tests/with-pic.at.
* doc/libtool.texi (LT_INIT): Enhance documentation of
--with-pic configure flag.
* NEWS (New features): Mention that --with-pic now accepts a
comma-separated list of package names.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/cwrapper.at (cwrapper and installed shared libraries):
Compile program source without libtool, so we can be sure a
non-PIC object will be created.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/bindir.at (bindir install tests): Rewrite checks for
place of the installed shared library in two separate tests,
depending on whether -bindir is supposed to have an effect or
not. In the positive case, make the test stricter so that we
reject libraries in $libdir. In the negative case, do not
require a major version number in the $libdir file name, for AIX
without runtimelinking. If tmpdir creation fails, skip the
test. Use fewer bindir directory names for testing, to speed
up the test. Also mention MSVC style DLL name in comment.
Report by Peter Rosin.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): If
the wrapper script contains long lines, split them for
readability and to conform with C standards.
* tests/cwrapper.at (cwrapper string length): New test, making
sure we don't regress.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS)
<dumpbin, lt_cv_sys_global_symbol_pipe>: Make all sections
viable for symbol extraction again when the symbols from a new
file starts. Fixes tests/tagdemo-make.test for MSVC 10.
* tests/dumpbin-symbols.at: New test, making sure we don't
regress.
* Makefile.am (TESTSUITE_AT): Update.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* tests/need_lib_prefix.at [MSVC, OS/2]: Skip this test on
systems that do not have libraries prefixed with lib.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Makes the touched tests pass for MSVC when DLLs are built.
* tests/demo/Makefile.am, tests/pdemo/Makefile.am: Define
BUILDING_LIBHELLO when building libhello.la.
* tests/demo/foo.h, tests/pdemo/foo.h (nothing) <MSVC>: Export
variable when building the libhello dll and import when using
libhello. For GCC and non-w32, and when building a static
libhello, leave as an ordinary extern.
* tests/pdemo/foo.h [Cygwin]: Remove unneeded and "dead" export
and import logic (LIBFOO_DLL is always undefined).
* tests/pdemo/longer_file_name_foo.c,
tests/pdemo/longer_file_name_foo2.c (_LIBFOO_COMPILATION_): Not
useful before, even less so now. Removed.
* tests/depdemo/l1/Makefile.am: Define BUILDING_LIBL1 when
building libl1.la.
* tests/depdemo/l2/Makefile.am: Define BUILDING_LIBL2 when
building libl2.la.
* tests/depdemo/l3/Makefile.am: Define BUILDING_LIBL3 when
building libl3.la.
* tests/depdemo/l4/Makefile.am: Define BUILDING_LIBL4 when
building libl4.la.
* tests/depdemo/l1/l1.h, tests/depdemo/l2/l2.h,
tests/depdemo/l3/l3.h, tests/depdemo/l4/l4.h <MSVC>: Export
variables when building the associated library dll and import
when using the library. For GCC and non-w32, and when building
static libraries, leave as an ordinary extern.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* tests/lt_dlexit.at (lt_dlexit unloading libs): Added an
explicit int type to declaration of 'v1' to prevent compilation
failure with C++.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
[cygwin, mingw, pw32, cegcc] <cl*, reload_cmds>: Indicate that
reloadable objects do not work.
* tests/duplicate_conv.at: Skip last test if reloadable
objects do not work.
* doc/libtool.texi (libtool script contents) <reload_cmds>:
Document how to indicate that reloadable objects do not work.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use
__declspec (dllimport) and __declspec (dllexport) instead of
the less portable __attribute__ ((dllimport)) and
__attribute__ ((dllexport)). Makes the test compile on MSVC.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* tests/lt_dlexit.at (b1.c) [MSVC]: Import function f1 and
variable v1 from liba1 when using them from modb1. Makes the
test pass on MSVC.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT):
Attempt to normalize temporary file names in error messages.
Fixes 'localized compiler messages' test failure on Darwin when
creating fat (multi-ABI) libraries.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* .cvsignore, doc/.cvsignore, libltdl/.cvsignore,
libltdl/config/.cvsignore, libltdl/loaders/.cvsignore,
libltdl/m4/.cvsignore, tests/.cvsignore,
tests/cdemo/.cvsignore, tests/demo/.cvsignore,
tests/depdemo/l1/.cvsignore, tests/depdemo/l2/.cvsignore,
tests/depdemo/l3/.cvsignore, tests/depdemo/l4/.cvsignore,
tests/f77demo/.cvsignore, tests/fcdemo/.cvsignore,
tests/mdemo/.cvsignore, tests/mdemo2/.cvsignore,
tests/pdemo/.cvsignore, tests/tagdemo/.cvsignore: Deleted. Even
when using savannah's CVS readonly mirror there's no way to commit
back to the real repo, so this files are not worth maintaining
or keeping around.
* tests/libtoolize.at (libtoolize macro serial update)
(libtoolize config files serial update, LIBTOOLIZE_OPTIONS):
Do not create empty files with AT_DATA, the latter is documented
to require a final newline. Fixes testsuite failures with zsh
4.3.10.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix]: Cache result
of link check for -Wl,-exported_symbol.
* tests/no-executables.at (AC_NO_EXECUTABLES): Set
lt_cv_irix_exported_symbol, to avoid link check.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure.ac: Ensure to_tool_file_cmd is available to Makefile.
* libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add
cache variable lt_cv_to_tool_file_cmd that describes how to
convert file names from $build to toolchain format.
* libltdl/config/ltmain.m4sh (func_to_tool_file): New function
that utilizes the above.
* Makefile.am: Ensure to_tool_file_cmd is included in
TEST_ENVIRONMENT so that it is passed to (old testsuite) tests.
* testsuite.at: Ensure to_tool_file_cmd is passed as a variable
setting on the configure line for (new testsuite) tests.
* doc/libtool.texi (libtool script content): Update with
to_tool_file_cmd description.
(Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* tests/help.at (debug tracing): Use $lt_INSTALL not cp for
install mode, the latter will not overwrite an existing library
with mode 555.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/pic_flag.at (override pic_flag at configure time):
Match HP-UX 10.20 cc warning about unknown options, to skip
the test.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/localization.at (localized compiler messages): Be sure
to switch the locale only for the actual compiler commands, so
we don't pick up warnings from helper tools such as diff which
may not have the locale installed.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/defs.m4sh: Unset MFLAGS, MAKEFLAGS, MAKELEVEL, __MKLVL__
and MAKE_JOBS_FIFO.
* tests/testsuite.at: Likewise.
Fixes warnings in test logs when the user uses 'make -jN check'
and inner $MAKE invocations can't connect to the job server.
Fixes spurious failures of configure-iface.at and of
demo-noinst-link tests with BSD and Tru64 make if the user uses
'make -k', as the exit status of the latter is not reliable.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/archive-in-archive.at: Tighten test to check that the desired
object files are indeed part of the archive. Microsoft lib still
passes, so remove the expected failure for that case.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
We now require a modern Autoconf to bootstrap libtool, which
will add the `Generated by ...' boiler-plate automatically,
so we can remove the hand-rolled @configure_input@
substitutions we had been doing:
* clcommit.m4sh, libtoolize.m4sh, tests/defs.sh,
libltdl/config/announce-gen.m4sh, libltdl/config/ltmain.m4sh,
libltdl/config/mailnotify.m4sh: Remove @configure_input@.
* Makefile.am (edit): Remove configure_input substitution.
(libtoolize, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4)
(tests/defs): Don't set `$input' shell variable.
* Makefile.maint (announce_gen, libltdl/config/mailnotify)
(commit): Likewise.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* Makefile.am: Pass AR through to the testsuite.
* tests/archive-in-archive.at: Bump copyright year. Extract archive
name from the .la file instead of hardcoding the name, and allow
different archivers. Also clarify that the tested functionality is
currently broken.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* tests/cwrapper.at (cwrapper for uninstalled executables):
Use a link test rather than a compile test to flesh out unknown
compiler flags starting with -W; Tru64/OSF1 cc will happily
accept `-Wall -Werror' as indication to pass flags on to
subprocesses.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/lalib-syntax.at (syntax of .la files): Assert that the
string returned by lt_dlerror after a failure is non-NULL, so
the failure shows up on systems other than Solaris. Mark test
as expected to fail.
Suggested by Bob Friesenhahn.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/testsuite.at: Ensure to_host_file_cmd is passed as a
variable setting on the configure line for (new testsuite) tests.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* libltdl/m4/libtool.m4 (_LT_WITH_SYSROOT): Fix typo.
* tests/sysroot.at: Search also for crt0.o to accommodate cygwin.
Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
On some systems, lt_preloaded_symbols may not be declared
const due to relocation issues. C99 requires qualification to
match for compatible declarations, so ensure we declare
const'ness in the same way everywhere; link-time optimization
may otherwise rightfully complain about inconsistencies.
Since ltdl.h may not depend upon config.h, rely on system
defines for choosing const'ness.
* NEWS: Update.
* doc/libtool.texi (Dlpreopening): Document this issue.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms):
[__WINDOWS__, __CYGWIN__, _WIN32_WCE]: Define LT_DLSYM_CONST
according to system defines. Remove old shell cruft. Use
LT_DLSYM_CONST for lt_${my_prefix}_LTX_preloaded_symbols.
* libltdl/libltdl/lt_system.h (LT_DLSYM_CONST): Likewise,
define LT_DLSYM_CONST according to system defines.
* tests/demo/foo.h (LT_DLSYM_CONST): Likewise.
* tests/pdemo/foo.h (LT_DLSYM_CONST): Likewise.
* tests/demo/dlmain.c (lt_dlsymlist): Use LT_DLSYM_CONST.
* tests/pdemo/longer_file_name_dlmain.c (lt_dlsymlist):
Likewise.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise
for configure test code.
* libltdl/ltdl.c (preloaded_symbols): Use LT_DLSYM_CONST.
* libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Likewise.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* sysroot:
Add ChangeLog entries for the sysroot branch.
fix AIX testsuite regression
fix --mode=finish
improve code for sysroot --mode=finish
add libtool --mode=finish mode for sysroot
reorganize parsing of --mode=finish arguments
fix sysroot handling for deplibs of preopened libtool libs
fix sysroot tests to pass on Fedora 13
initial version of the NEWS entry
add sysroot test
emit sysrooted paths when installing .la files
process postdeps to include sysrooted paths
handle sysrooted paths when reading dependencies to la files
teach libtool -L= and -R=
add --with-sysroot
handle sysroot flags
* configure.ac: Ensure to_host_file_cmd is available to Makefile.
* TODO: Document QoI issue with file name conversion functions.
* libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): New function
sets libtool variable $to_host_file_cmd, and employs cache.
(_LT_SETUP): Require it.
* tests/testsuite.at: Ensure to_host_file_cmd is passed as a
variable setting on the configure line for (new testsuite) tests.
* Makefile.am (TESTS_ENVIRONMENT): Ensure to_host_file_cmd is
included so that it is passed to (old testsuite) tests.
* libltdl/config/general.m4sh: Define $lt_sed_naive_backslashify here.
* libltdl/config/ltmain.m4sh ($to_host_file_cmd, $to_host_path_cmd):
New variables.
(func_cygpath): New function.
(func_init_to_host_path_cmd): New function.
(func_to_host_path): Renamed to...
(func_to_host_file): Refactored to... (now uses $to_host_file_cmd).
(func_convert_core_file_wine_to_w32): Here. New function.
(func_convert_core_msys_to_w32): Here. New function.
(func_convert_file_check): Here. New function.
(func_convert_file_noop): Here. New function.
(func_convert_file_msys_to_w32): Here. New function.
(func_convert_file_cygwin_to_w32): Here. New function.
(func_convert_file_nix_to_w32): Here. New function.
(func_convert_file_msys_to_cygwin): New function.
(func_convert_file_nix_to_cygwin): New function.
(func_to_host_pathlist): Renamed to...
(func_to_host_path): Refactored to... (now uses $to_host_path_cmd
and func_init_to_host_path_cmd).
(func_convert_path_check): Here. New function.
(func_convert_path_front_back_pathsep): Here. New function.
(func_convert_core_path_wine_to_w32): Here. New function.
(func_convert_path_noop): Here. New function.
(func_convert_path_msys_to_w32): Here. New function.
(func_convert_path_cygwin_to_w32): Here. New function.
(func_convert_path_nix_to_w32): Here. New function.
(func_convert_path_msys_to_cygwin): New function.
(func_convert_path_nix_to_cygwin): New function.
Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
* parallel-tests:
check-interactive and check-noninteractive for both testsuites.
Adjust docs for renaming and for parallel-tests.
Update VERBOSE handling for parallel-tests driver.
Enable parallel-tests test driver for the old testsuite.
New alias scripts for old tests run more than once.
Require Automake 1.11.1 for Libtool, enable color-tests.
* tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Skip the test
if 'autom4te --language=m4sh' exits 63 because version 2.61 is
required. Allows the testsuite to complete successfully with
Autoconf 2.59 and Automake 1.9.6.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure.ac: New configure test to find out whether `make'
supports order-only prerequisites; set @ORDER@ accordingly.
(AM_INIT_AUTOMAKE): Enable parallel-tests option.
* tests/defs.m4sh (prefix): Derive install prefix for tests
from the test name, to avoid clashes.
* Makefile.am (CXX_TESTS, F77_TESTS, FC_TESTS, COMMON_TESTS):
Reformat. Adjust for renamed tests. Add dependencies between
the respective log files of the tests, to ensure proper ordering.
Use order-only dependencies if possible, between test groups that
use the same directory.
(clean-local-legacy): Remove `_inst-*' directories as well.
Prompted by suggestion from Bob Friesenhahn.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/defs.m4sh [aix]: Remove file mode permission for others,
so shared libraries are not kept in memory after execution.
Fixes failures of repeated mdemo-inst.test with on AIX 5.3.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/versioning.at (versioning): The AIX linker always
records the unversioned library name, even with runtimelinking,
so skip the execution test for the incompatibly upgraded
library.
Report by Rainer Tammer.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* doc/libtool.texi (Finish mode): Document behavior when *.la files
are passed.
* libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot
or `=' signs representing it from files in $libs.
* tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot
references before running libtool --mode=finish, and for absence
afterwards.
* tests/getopt-m4sh.at (AT_CHECK): Autotest 2.62 chokes on unquoted
'#' in AT_CHECK, so replace all uses with '@%:@' quadrigraph.
Suggested by Eric Blake <eblake@redhat.com>
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/lt_dlopenext.at (lt_dlopenext error messages): Do not
use $LIBTOOL when compiling plain object, AIX by default does
not enable static archives.
* tests/ltdl-libdir.at (libdir of installed modules): Likewise.
Report by Rainer Tammer.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/deplibs-mingw.at (deplibs without file command): Use
LT_AT_CONFIGURE for consistency, update comment about why it
might fail.
* tests/pic_flag.at (override pic_flag at configure time): Skip
test if we are building in-tree.
Report by Rainer Tammer.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/config/ltmain.m4sh (func_check_version_match): Only
preserve '--debug' switch if $opt_debug is not equal to ':'.
* tests/help.at (debug tracing): New test group.
Report by Rainer Tammer.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link
test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath.
* tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to
avoid link test.
Bug report by Rainer Tammer.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Insert space
between double-quoted and unquoted shell parameter, as bash
4.0.28 doesn't add one in its output if the expansion of the
second one starts with a space.
(short option splitting, enhanced shell short option splitting)
(long option splitting, XSI long option splitting): Add space in
expected output.
Fixes testsuite failures on AIX, FreeBSD, etc.
Report by Rainer Tammer.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/pic_flag.at (override pic_flag at configure time): Skip
test if the compiler produces a warning containing `fpic'.
Do not use nonportable `grep -e', for Solaris.
Report by Charles Wilson.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Rename to
_LT_PROG_REPLACE_SHELLFNS.
(_LT_PROG_XSI_REPLACE): Rename to _LT_PROG_FUNCTION_REPLACE.
(_LT_PROG_FUNCTION_REPLACE): Change decorator comment to use
'Extended shell' rather than 'XSI' on successful replacement.
* libltdl/config/general.m4sh (func_dirname, func_basename)
(func_dirname_and_basename, func_stripname): Change decorator
comment to use 'extended shell' rather than 'XSI' on fallback
implementations.
* libltdl/config/getopt.m4sh (func_split_short_opt)
(func_split_long_opt): Ditto.
* libltdl/config/ltmain.m4sh (func_append, func_append_quoted)
(func_arith, func_len, func_lo2o, func_xform): Ditto.
* tests/getopt-m4sh.at (_LT_AT_XSI_FUNC_EXTRACT): Rename to
_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT.
(_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT): Change regular expression to
match new replacable function decorator comments.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Fixes a lot of testsuite failures with MSVC 2003 (v8.0) and
above (and perhaps also MSVC .Net) related to running programs
that have been moved (e.g. installed) without their manifests
also having been moved.
* libltdl/m4/libtool.m4 (_LT_PATH_MANIFEST_TOOL): New macro
that locates the Manifest Tool (mt) and verifies that it is
indeed the manifest tool. The result is stored in the new
variable MANIFEST_TOOL.
(_LT_LINKER_SHLIBS) <postlink_cmds>: New tag variable.
[ cygwin, mingw, cegcc ] <cl*>: Embed the manifest file as a
resource. Make sure the embedding work regardless of if the
@OUTPUT@ file name includes a trailing $EXEEXT.
(_LT_LANG_CXX_CONFIG): Likewise.
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Require the above
_LT_PATH_MANIFEST_TOOL.
* libltdl/config/ltmain.m4sh (func_mode_link): After linking
a program, replace @OUTPUT@ in $postlink_cmds and then execute
the commands.
* doc/libtool.texi (libtool script contents): Document
new postlink_cmds variable.
(LT_INIT): Add that the MANIFEST_TOOL environment variable can
be used to override the manifest tool to use.
* tests/exeext.at: New. Make sure linking with both -o prog
and -o prog$EXEEXT works.
* Makefile.am (TESTSUITE_AT): Update.
(TESTS_ENVIRONMENT): Propagate $(MANIFEST_TOOL) to the
testsuite.
* NEWS: Add note of the new MANIFEST_TOOL environment variable.
* tests/getopt-m4sh.at [enhanced shell option appending]:
_LT_AT_XSI_FUNC_EXTRACT will not be able to find the enhanced
libtool func_append function if the replacement wasn't substituted
by configure, since the decorator comments will be different - in
that case simply skip the test.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): New
macro to extract a fallback function implementation from
ltmain.m4sh.
[option appending]: Use it for a test of the fallback
implementation of func_append.
[enhanced shell option appending]: And also test the enhanced
implementation.
* libltdl/config/ltmain.m4sh (func_append_quoted): Fix missing \
to escape a quoted space for eval.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Fix missing $ in
dereference of func_append inline replacement for retarded
shells.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* libltdl/config/getopt.m4sh (m4go_shortnoargs): Remove 'v' now
that getopt.m4sh doesn't steal that letter for the --version
short option.
* libltdl/config/ltmain.m4sh (M4SH_GETOPTS): We can now use 'v'
as a short option for '--verbose'.
* libltdl/config/getopt.m4sh (m4go_printopts): Add back in the
leading '-' for remaining non-argument short options.
(func_split_short_opt): Use the correct sed script variable.
* libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also ensure
that XSI substring extraction is supported.
(_LT_PROG_XSI_SHELLFNS): Use XSI substring extraction to split
short options to avoid unnecessary forks if the host shell
supports that.
* tests/getopt-m4sh.at: New tests for getopt.m4sh coverage.
* Makefile.am (TESTSUITE_AT): Add getopt-m4sh.at.
(TESTS_ENVIRONMENT): Pass M4SH and SED for substition into the
m4sh expansion performed in tests/getopt-m4sh.at.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* tests/exception.at (common.h): New file, refactored from
(module.h): Move declaration of modexc to libcommon.
Include common.h. Use explicit import/export markings for
symbols when building on win32 or cygwin.
(common.cpp): New file.
(module.cpp): Ensure correct symbols markings when including
module.h.
(lib.h): Use explicit import/export markings for symbols
when building on win32 or cygwin.
(lib.cpp): Ensure correct symbol markings when including lib.h.
(main.cpp): Include common.h.
(commands): Ensure correct symbol markings when compiling
main.cpp, and lib.cpp, and module.cpp. Add command to compile
common.cpp, and to link libcommon.la. Add libcommon.la when
linking module.la and main. Add command to install libcommon.la.
Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
* tests/flags.at (passing CC flags through libtool): When $LD
is used for linking libraries, ensure flags passed with `-Wc,'
are not passed through to $LD, but flags passed with `-Wl,' use
$wl when linking programs. Fixed testsuite failure on HP-UX
10.20.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/exceptions.at (main.cpp:exceptions_in_module):
Move dlclose outside catch block; otherwise __cxa_end_catch
(part of the cygwin g++ ABI) accesses pointers to data inside
unloaded DLL. This is a platform ABI-specific bug, but is
likely common to many platforms' g++ and/or other C++
compilers.
Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
* tests/defs.m4sh: Strip trailing `/tests' from srcdir, to allow
`$srcdir/tests/FOO.test' to be run from the top build directory.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/execute-mode.at (execute mode): Do not use grep -F
with an empty pattern.
* THANKS: Update.
Report by Jay K.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_prog_compiler_pic>:
Save result, and allow override, through cache variable
lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}. The cache variable
needs to contain an eventual -DPIC.
* doc/libtool.texi (): Document it.
* tests/pic_flag.at (override pic_flag at configure time):
New file, new test.
* Makefile.am (TESTSUITE_AT): Update.
* NEWS, THANKS: Update.
Suggestion by Joakim Tjernlund and Paolo Bonzini.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
* doc/libtool.texi (libtool script contents): Document
new variables.
* NEWS: Updated.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/testsuite.at: Move AT_INIT call down to late in the
file, all prior code can go beforehand.
Call AT_COLOR_TESTS if defined.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/ltdl.c (parse_dotla_file) [__WINDOWS__]: Read the
libdir entry in the .la file, but accept it only if it is not
a unix-style absolute name.
* tests/ltdl-libdir.at: New test that checks if ltdl finds an
installed module via the libdir variable in the .la file. On
MinGW, use a Windows-style libdir name including drive spec.
* Makefile.am: Add above.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/testsuite.at (LT_AT_TAG): For the GCJ tag, actually
try to compile a .java file when deciding whether to skip.
(LT_AT_EXEC_TAG): New macro, to also ensure runnability.
* tests/convenience.at (Java convenience archives): Use
LT_AT_EXEC_TAG, simplify accordingly.
* tests/flags.at (passing lt_tag flags through libtool): Use
m4_defn for tag so LT_AT_TAG works.
* tests/infer-tag.at (GCJ inferred tag): Simplify.
* THANKS: Update.
Report by Warren Dodge.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE):
Do not wrap AT_CHECK in a subshell, so that failures are
properly propagated; instead, move environment changes inside
the AT_CHECK code.
Report and analysis by Peter Rosin.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/versioning.at (versioning): Add -no-undefined to
LDFLAGS.
(test_uninstalled): Also move $bindir out of the way
temporarily.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/versioning.at (versioning): For the library update
hypotheses, ensure the unchanged library libb isn't accidentally
relinked against the new liba, by not reinstalling libb.
Fixes testsuite failure for the incompatible update case with
LDFLAGS=-Wl,--as-needed.
* THANKS: Update.
Report by Ryan Hill.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/dlloader-api.at, tests/exceptions.at,
tests/lalib-syntax.at, tests/loadlibrary.at,
tests/lt_dlopenext.at, tests/resident.at: Detect when these
tests try to link against the not installed libltdl.la, and
skip rather than FAIL.
* doc/libtool.texi (Dlpreopening): Remove broken documentation
of lt_dlsymbol and lt_dlsymlist. Document typedef lt_dlsymlist
and symbol lt_preloaded_symbols according to the implementation.
* tests/demo/dlmain.c (lt_symlist): Make struct anonymous ...
(lt_dlsymlist): ... and typedef to this name.
(lt_preloaded_symbols, main): Adjust.
* tests/pdemo/longer_file_name_dlmain.c: Likewise.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src):
Update comments. Initialize program_name. Eliminate _LENGTH
variables for string constants. In debug mode, print a
banner with known content before any other output. Remove
LTWRAPPER_DEBUGPRINTF macro. Add constants and variables
to support new --lt-debug option.
(func_emit_cwrapperexe_src:ltwrapper_debugprintf): Renamed to...
(func_emit_cwrapperexe_src:lt_debugprintf): this. Only print
messages if lt_debug != 0. Ensure appearance of messages
conforms to GCS.
(func_emit_cwrapperexe_src:lt_fatal): Ditto.
(func_emit_cwrapperexe_src:lt_error_core): Ditto.
(func_emit_cwrapperexe_src): Update all callers to lt_fatal.
Update all users of LTWRAPPER_DEBUGPRINTF (()) to call
lt_debugprintf () directly.
(func_emit_cwrapperexe_src:main): Consolidate option parsing.
Ensure first use of lt_debugprintf occurs after option parsing.
Add stanza to parse for --lt-debug and set lt_debug variable.
Use strcmp rather than strncmp, where safe.
* tests/cwrapper.at: Add new tests for --lt-debug and
-DLT_DEBUGWRAPPER.
* libltdl/loaders/loadlibrary.c (loadlibraryerror): New
helper function that returns the latest Windows error as a
string, or the provided default string on failure to do so.
(LOADLIB_SETERROR): New macro that wraps previous to make it
easy to use.
(vm_open, vm_close, vm_sym): Make use of previous.
(LOCALFREE): New macro to help free the Windows error string.
(vl_exit): Make use of previous.
* tests/loadlibarry.at: New file, new test that makes sure
the loadlibrary loader reports non-standard error messages.
* Makefile.am (TESTSUITE_AT): Add above test.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* tests/resident.at (resident modules): New file, new test.
* Makefile.am (TESTSUITE_AT): Adjust.
Report by Bob Friesenhahn.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/deplib-in-subdir.at (deplib in subdir): New file, new
test.
* Makefile.am (TESTSUITE_AT): Update.
Prompted by report from Bob Friesenhahn.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/ltdl.c (trim): Do not dump core upon missing quote in
module .la file.
* tests/lalib-syntax.at (syntax of .la files): New file, new
test.
* Makefile.am (TESTSUITE_AT): Add tests/lalib-syntax.at.
Report by Bob Friesenhahn.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/config/general.m4sh: Use 'printf %s\n' if $as_echo is
unset.
* tests/testsuite.at: Likewise.
* THANKS: Update.
Report by Vadim Zeitlin and Peter Rosin.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/libltdl/slist.h: Include stddef.h, for size_t.
(slist_remove): Return pointer to SList, not void.
* libltdl/slist.c: Include stdlib.h, for malloc and free.
(slist_remove): Adjust prototype as above.
(slist_sort): Do not loop forever on one-item list.
* tests/slist.at (SList functionality): New file, new test.
* Makefile.am (TESTSUITE_AT): Add tests/slist.at.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/bindir.at (bindir basic lib test, bindir install tests):
Include stdlib.h rather than declaring abort.
* tests/lt_dlopenext.at (lt_dlopenext error messages): Use
`extern "C"' annotation for dlsym'ed function in C++ mode.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/ltdl.c (try_dlopen): Do not attempt to load an
unqualified module.la file from the current directory (by
default) since doing so is insecure and is not compliant with
the documentation.
* tests/testsuite.at: Qualify access to module.la file in
current directory so that test passes.
* libltdl/config/general.m4sh (func_normal_abspath): New function.
(func_relative_path): Likewise.
* libltdl/config/ltmain.m4sh (func_mode_help): Document "-bindir".
(func_mode_link): Accept new "-bindir" option and use it, if
supplied, to place Windows DLLs.
* tests/bindir.at: New file for install tests using "-bindir".
* Makefile.am (TESTSUITE_AT): Add bindir.at.
* doc/libtool.texi (Link Mode): Update documentation.
* NEWS, THANKS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/flags.at (passing flags through libtool): Split into ...
(passing CC flags through libtool)
(passing CXX flags through libtool)
(passing F77 flags through libtool)
(passing FC flags through libtool)
(passing GCJ flags through libtool): ... these five tests,
factorized with m4_foreach. Fix F77 and FC compile and link
commands; add GCJ tag. Use LT_AT_TAG to correctly skip tags
for which no compiler exists. Use $EXEEXT where appropriate.
Drop unneeded use of reload_cmds.
Reports by Peter Rosin and Peter O'Gorman.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Makefile.am (testsuite_deps, testsuite_deps_uninstalled):
New variables.
(check-local, installcheck-local): Use them.
(check-interactive, check-noninteractive): New rules.
* tests/link-order2.at (Link order of deplibs),
tests/static.at (static linking flags for programs): Add keyword
`interactive'.
* doc/libtool.texi (Test descriptions): Document all keywords
used in the Libtool test suite.
* NEWS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/fail.at (Failure tests): Run non-PIC failure test only
if pic_mode is 'default' or 'no', rather than 'default' or 'yes'
and also -prefer-pic has not been passed in $CFLAGS.
* THANKS: Update.
Report by Donn Washburn.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/flags.at (passing flags through libtool): New file, new
test, for bug fixed in previous commit.
* Makefile.am (TESTSUITE_AT): Add tests/flags.at.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/versioning.at (versioning): New file, new test.
* Makefile.am (TESTSUITE_AT): Adjust.
Prompted by bug report from Mike Gorchak.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/localization.at (localized compiler messages): Skip test
if the compiler warning output contains `locale', for HP-UX.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/lt_dladvise.at (lt_dlopenadvise library loading): Do not
build moddepend for systems without shared libraries.
Report by Alan Hourihane.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/old-m4-iface.at (AC_WITH_LTDL): Pass --with-included-ltdl
to configure, to ensure we do not accidentally link against a
previously installed libltdl.so where the corresponding .la
file has been removed, thus we do not add a run path, and the
runtime linker then fails to find libltdl.so.7.
* tests/configure-iface.at (--with-ltdl-include/lib): Remove -L
flags from LDFLAGS to avoid picking up an installed libltdl
outside of the default locations.
* THANKS: Update.
Prompted by report from Patrice Fromy.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/localization.at (localized compiler messages): Skip
test when there is a warning about `LC_ALL'.
* THANKS: Update.
Report by Maciej Helminiak.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/m4/libtool.m4 (LT_OUTPUT): Make LT_OUTPUT ignore the
--no-create configure option, and assume that the user wants
to use an up-to-date libtool script if the LT_OUTPUT macro is
present.
* tests/early-libtool.at: Make sure we do not regress.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* README: Document INNER_TESTSUITEFLAGS.
* tests/cmdline_wrap.at (Run tests with low max_cmd_len):
When using INNER_TESTSUITEFLAGS on the testsuite invocation,
drop leading space after "-k libtool", so that the user may
further limit the set of tests to be run.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/lt_dlopenext.at (lt_dlopenext error messages): New file,
with new test, with sources taken from the Autobook example.
* Makefile.am: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/testsuite.at: If `$INSTALL' points to in-tree
install-sh, override a possibly-relative path to it with an
absolute one.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
* 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.
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): New
macro, to normalize ccache and distcc output.
* tests/localization.at (localized compiler messages): Use it.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): STATUS is
argument $3, not $2.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/link-order.at (Link order test): Drop trailing period
from test name.
* tests/link-order2.at (Link order of deplibs): Likewise.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/execute-mode.at (execute mode): Actually also test the
cwrapper on the arguments.
Report by Bruno Haible.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.
* 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.
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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/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.
* 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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/lt_dladvise.at (lt_dlopenadvise library loading): Drop
some newlines in AT_CHECK commands, for better 'testsuite -x'
output. Only create a static installable libpreload.la, to
avoid exposing the bug libtool currently has with preloading of
shared libraries. Add a note to revisit this later.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/m4/ltdl.m4 (LTDL_INIT): Check for a libltdl that
provides lt_dladvise_preopen when deciding if installed libltdl
is 'new enough'.
* libltdl/libltdl/lt__private.h (lt__advise): Add a new
is_preload flag.
* libltdl/ltdl.c (lt_dladvise_preload): New api call to set it.
(try_dlopen): If it is set, and the search of preloaded modules
didn't return a match, don't bother searching the filesystem.
* libltdl/ltdl.h (lt_dladvise_preload): Declare it.
* doc/libtool.texi (Libltdl Interface): Document it.
* tests/lt_dladvise.at: Test it (and incidentally add some test
coverage for `libtool -dlpreopen').
* NEWS: Announce it.
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <icc, icpc>:
Use -fPIC, newer Intel compilers (icc 10, ifort 9) reject -KPIC.
* tests/localization.at: Skip test if the compiler fails merely
due to the locale setting.
* THANKS: Update.
Report by Vincent Lefevre.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/libtoolize.at
(verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Older aclocal
requires a space between -I and the directory argument.
Reported by Daniel Macks <dmacks@netspace.org>