Ralf Wildenhues [Sun, 22 Aug 2010 04:32:39 +0000 (06:32 +0200)]
check-interactive and check-noninteractive for both testsuites.
* Makefile.am (COMMON_TESTS, TESTS): Split into ...
(NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new
variables.
(check-interactive-new): Rename from check-interactive.
(check-noninteractive-new): Rename from check-noninteractive.
(check-interactive-old, check-noninteractive-old): New targets.
(check-interactive, check-noninteractive): Depend on the
respective targets for the old and the new test suites.
* doc/libtool.texi (Test descriptions): Simplify description
about check-interactive and check-noninteractive. Add index
entries.
* NEWS: Update.
Ralf Wildenhues [Sun, 22 Aug 2010 04:30:25 +0000 (06:30 +0200)]
Update VERBOSE handling for parallel-tests driver.
* tests/defs.m4sh: Default to verbose output, drop now-unneeded
handling of 'VERBOSE=no'.
* README: Update example usage.
* README.alpha: Likewise.
* doc/libtool.texi (Test descriptions, When tests fail): Remove
unneeded VERBOSE recommendations. Point to per-test log files
and test-suite.log summary file.
Ralf Wildenhues [Sun, 22 Aug 2010 04:29:41 +0000 (06:29 +0200)]
Enable parallel-tests test driver for the old testsuite.
* 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.
Rainer Tammer [Sat, 21 Aug 2010 08:02:29 +0000 (10:02 +0200)]
Avoid issues with AIX resident shared libraries in old testsuite.
* 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.
Ralf Wildenhues [Fri, 6 Aug 2010 22:23:22 +0000 (00:23 +0200)]
Skip part of versioning test on AIX.
* 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.
Peter Rosin [Fri, 13 Aug 2010 11:11:54 +0000 (13:11 +0200)]
Allow the use of a listing file if the archiver supports it.
* libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection
of a suitable archiver...
(_LT_PROG_AR): ...to here. New macro, also detect 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. This is needed for
tool chains such as MSVC which do not support piece by piece
linking (-r -o).
* doc/libtool.texi (libtool script contents): Update with
archiver_list_spec description.
Gary V. Vaughan [Tue, 10 Aug 2010 09:38:03 +0000 (16:38 +0700)]
Make testsuite compatible with Autoconf 2.62 again.
* 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>
Ralf Wildenhues [Mon, 9 Aug 2010 21:16:12 +0000 (23:16 +0200)]
Fix more problematic code from "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_link): Revert back
func_append instances that as assignments relied on the shell
not performing word splitting on the right hand side of the
assignment.
Ralf Wildenhues [Mon, 9 Aug 2010 20:50:45 +0000 (22:50 +0200)]
Fix another typo on "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_link): Fix regression in
computation of finalize_rpath introduced in v2.2.10-40-g0da7d80,
fixing several testsuite failures on AIX.
Report by Rainer Tammer.
Ralf Wildenhues [Sat, 7 Aug 2010 17:16:23 +0000 (19:16 +0200)]
Fix compilation of program sources on AIX.
* 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.
Ralf Wildenhues [Sat, 7 Aug 2010 11:07:42 +0000 (13:07 +0200)]
Do not call toplevel configure in non-VPATH build.
* 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.
Ralf Wildenhues [Sat, 7 Aug 2010 11:03:37 +0000 (13:03 +0200)]
Allow running pic_flag test with different shell.
* tests/testsuite.at (LT_AT_CONFIGURE): Accept optional second
argument specifying the configure script to run.
* tests/pic_flag.at (override pic_flag at configure time):
Use LT_AT_CONFIGURE.
Ralf Wildenhues [Sat, 7 Aug 2010 05:41:12 +0000 (07:41 +0200)]
Ensure not to reverse preserving of --debug for relinking/finish.
* 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.
Ralf Wildenhues [Fri, 6 Aug 2010 20:03:19 +0000 (22:03 +0200)]
Fix AC_NO_EXECUTABLES test failure on AIX.
* 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.
Ralf Wildenhues [Wed, 4 Aug 2010 20:30:01 +0000 (22:30 +0200)]
Avoid syntax error due to shift of nonexistent parameter.
* libltdl/config/ltmain.m4sh <command-line handling>: Only shift
if there is a positional parameter to shift. Fixes `libtool
--help' when dash is used.
Report by Rainer Tammer.
Ralf Wildenhues [Tue, 3 Aug 2010 20:27:23 +0000 (22:27 +0200)]
Fix testsuite errors due to shell quoted parameter expansion issue.
* 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.
Ralf Wildenhues [Tue, 3 Aug 2010 19:49:10 +0000 (21:49 +0200)]
Fix build failure with AIX sh due to shell quoting error.
* libltdl/config/ltmain.m4sh (func_append_quoted): Document
that this function inserts a separator space.
(func_mode_compile): Do not pass extra space here.
Fixes regression introduced in v2.2.10-49-gc13532a.
Report by Rainer Tammer.
Ralf Wildenhues [Mon, 2 Aug 2010 20:21:05 +0000 (22:21 +0200)]
Fix pic_flag test unportabilities.
* 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.
Peter Rosin [Thu, 8 Jul 2010 16:12:02 +0000 (18:12 +0200)]
Make preloading heed libname_spec.
Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC.
* libltdl/ltdl.c (libprefix): New static variable describing
the prefix of static archives.
(try_dlopen): Use libprefix.
* libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static
archives to config.h. Also fix assignment of LTDLOPEN to be more
efficient and less error prone while at it.
Gary V. Vaughan [Thu, 8 Jul 2010 11:47:59 +0000 (18:47 +0700)]
Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE.
* 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.
Charles Wilson [Sat, 3 Jan 2009 01:39:15 +0000 (20:39 -0500)]
[cygwin|mingw] fix dlpreopen with --disable-static
* libltdl/config/general.m4sh (func_tr_sh): New function.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]:
Obtain DLL name corresponding to import library by using value
stored in unique variable libfile_$(transliterated implib name).
If that fails, use $sharedlib_from_linklib_cmd to extract DLL
name from import library directly. Also, properly extract dlsyms
from the import library.
(func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs
over static libs when both are available. When dlpreopening
DLLs, use linklib (that is, import lib) as dlpreopen file,
rather than DLL. Store name of associated la file in
unique variable libfile_$(transliterated implib name)
for later use.
(func_win32_libid): Accomodate pei-i386 import libs
as well as pe-i386.
(func_cygming_dll_for_implib): New function.
(func_cygming_dll_for_implib_fallback): New function.
(func_cygming_dll_for_implib_fallback_core): New function.
(func_cygming_gnu_implib_p): New function.
(func_cygming_ms_implib_p): New function.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed
expressions for lt_cv_sys_global_symbol_to_c_name_address and
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
as trailing space after module name is optional.
(_LT_LINKER_SHLIBS) [cygwin|mingw][C++]:
Set exclude_expsyms correctly for $host. Simplify regular
expression in export_symbols_cmds.
(_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms
correctly for $host. Enable export_symbols_cmds to identify
DATA exports by _nm_ prefix.
(_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets
sharedlib_from_linklib_cmd variable.
(_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set.
Peter Rosin [Thu, 1 Jul 2010 09:36:05 +0000 (11:36 +0200)]
Support for response files with $NM.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS)
<nm_file_list_spec>: New tag variable. Set it to '@' if input
files can be passed to $NM in a file named with the '@' option.
* libltdl/config/ltmain.m4sh (func_mode_link): When
nm_file_list_spec is nonempty, use it to avoid skipped_export.
* doc/libtool.texi (libtool script contents): Document
new variable.
Peter Rosin [Fri, 2 Jul 2010 06:17:19 +0000 (08:17 +0200)]
Don't trigger file name expansion when embedding manifests.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
[ cygwin, mingw, cegcc ] <cl*>: Remove all spaces in the
case statement of postlink_cmds to make file name expansion
more unlikely.
(_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |.
Peter Rosin [Mon, 28 Jun 2010 07:31:11 +0000 (09:31 +0200)]
For MSVC, embed the manifest as a resource in the executable.
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.
Peter Rosin [Thu, 24 Jun 2010 05:28:16 +0000 (07:28 +0200)]
Add MSVC support.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin]: Add
support for the Microsoft C/C++ Compiler (cl) relying on help
from the compile script in Automake.
* NEWS: Add note of the above.
Gary V. Vaughan [Thu, 1 Jul 2010 03:44:12 +0000 (10:44 +0700)]
Skip `enhanced shell option appending' test when not available.
* 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.
Gary V. Vaughan [Tue, 29 Jun 2010 22:12:42 +0000 (05:12 +0700)]
Add func_append test cases for smart and retarded implementations.
* 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.
Gary V. Vaughan [Tue, 29 Jun 2010 09:29:30 +0000 (16:29 +0700)]
Use a real XSI compliant func_split_short_opt substitution.
* libtool/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Remove
test ${foo:n:m} substrings, instead adding a ${foo%??} check
to the existing XSI tests.
(_LT_PROG_XSI_SHELLFNS): Remove the ${foo:n:m} based
func_split_short_opt substitution in favour of a properly
XSI compliant substitution.
Suggested by Paolo Bonzini.
Gary V. Vaughan [Sun, 27 Jun 2010 23:06:22 +0000 (06:06 +0700)]
Add func_append_quoted and do inline func_append substitutions.
* libtool/config/ltmain.m4sh: Replace all occurrences of
`foo="$foo bar"' with func_append. No decorator comment was
added since /func_append [a-zA-Z0-9_]* "/ is already an
excellent match regexp, and additional comments would only
complicate things.
(func_append_quoted): New function that quotes a value with
func_quote_for_eval before appending it. To avoid quoting the
whitespace in the passed value, a single whitespace is added
automatically. Changed callers where possible.
* libtool/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Perform a
`+=' implementation substitution for func_append_quoted. More
importantly, systematically replace matching func_append calls
with inline `+=' when supported (for maximum speed), and
longhand `foo="$foo bar"' otherwise to avoid the function
overhead.
Gary V. Vaughan [Sun, 27 Jun 2010 10:21:59 +0000 (17:21 +0700)]
Add an XSI replacement for func_split_short_opt, with test cases.
* 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.
Gary V. Vaughan [Sun, 27 Jun 2010 10:19:35 +0000 (17:19 +0700)]
Use TAB-SPACE in preference to SPACE-TAB.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): Some editors
might optimise away the SPACE in SPACE-TAB sequences, so use
TAB-SPACE just in case.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Gary V. Vaughan [Sun, 27 Jun 2010 06:57:50 +0000 (13:57 +0700)]
Fix portability regressions in today's earlier changeset.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not
portable; use `mv -f ...|| cp -f ...' instead.
Add an initial backslash to sed `c' substitutions with leading
whitespace, so that indentation is not removed by some non-POSIX
compliant sed implementations.
(_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if
one or more XSI function replacements failed.
Gary V. Vaughan [Fri, 11 Jun 2010 17:12:09 +0000 (00:12 +0700)]
getopt.m4sh generated libtool option parser, and XSI improvements.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable
shell versions of various utility functions from here...
* libltdl/config/getopt.m4sh (func_split_long_opt): ...to here...
* libltdl/config/general.m4sh (func_dirname, func_basename)
(func_dirname_and_basename, func_strip_name): ...here...
* libltdl/config/ltmain.m4sh (func_append, func_arith, func_len)
(func_lo2o, func_xform): ...and here.
* libltdl/config/libtool.m4 (_LT_PROG_XSI_REPLACE): New macro that
expands into a sed command for replacing the contents of a
suitably decorated shell function with an alternate XSI
implementation.
(_LT_PROG_XSI_SHELLFNS): Use it to replace the portable shell
versions of the functions above with equivalent XSI
implementations that avoid unnecessary forks if the host shell
supports that.
* libltdl/config/ltmain.m4sh: Replace hand written shell code
with a call to M4SH_GETOPTS. Rename some option variables in
the client code to match the generated option parser settings.
* libltdl/config/general.m4sh (func_echo, func_error)
(func_warning): Use $opt_mode instead of obsoleted $mode in
message leader.
Charles Wilson [Sun, 20 Jun 2010 04:59:02 +0000 (00:59 -0400)]
[cygwin] Refactor C++ exception handling for Win32 correctness
* 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>
Gary V. Vaughan [Mon, 21 Jun 2010 12:49:29 +0000 (19:49 +0700)]
Ensure getopts.m4sh is compatible with Autoconf-2.61 and newer.
* libltdl/config/getopt.m4sh (m4_chomp): Ensure this macro is
implemented even if Autoconf's m4sugar.m4 doesn't provide it.
(m4go_expand): New macro based on Autoconf-2.64 m4_expand. Use
it everywhere incase m4sugar.m4 doesn't have an implementation.
(m4_ifnblank): Replace all uses with m4_ifval, which was
available long before m4_ifnblank was introduced.
Ralf Wildenhues [Sat, 19 Jun 2010 21:59:45 +0000 (23:59 +0200)]
Fix clean mode for HP-UX 11.31 sh.
* libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not try
to match a null string in a case pattern, even with surrounding
spaces. Fixes `lt_dlopenadvise library loading' test.
Ralf Wildenhues [Sat, 19 Jun 2010 19:07:50 +0000 (21:07 +0200)]
Fix flags test failure when ld is used as linker.
* 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.
Charles Wilson [Sat, 19 Jun 2010 20:29:45 +0000 (16:29 -0400)]
[cygwin] Fix segfault in C++ exception handling test
* 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>
Ralf Wildenhues [Sat, 19 Jun 2010 04:47:42 +0000 (06:47 +0200)]
Use config.cache variable for PIC flag, to allow override.
* 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.
Ralf Wildenhues [Wed, 16 Jun 2010 04:03:27 +0000 (06:03 +0200)]
Optimize func_ltwrapper_scriptname to assume a cwrapper.
* libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Do not
call func_ltwrapper_executable_p again here, this function is
documented to allow being called with wrapper executables.
Ralf Wildenhues [Tue, 15 Jun 2010 17:23:16 +0000 (19:23 +0200)]
Fix bootstrap script to cope with changed AC_INIT arguments.
* bootstrap: When extracting PACKAGE and VERSION from AC_INIT
arguments, be sure to remove a 'GNU ' prefix and lowercase the
package name for PACKAGE. Also set PACKAGE_NAME and PACKAGE_URL
appropriately for GNU software. Pass these variables to the
make commands creating tests/package.m4 and other files.
* Makefile.am (edit): Fix substitution of PACKAGE_NAME and
PACKAGE_STRING.
* libltdl/config/announce-gen.m4sh: Use @PACKAGE@ not
@PACKAGE_STRING@.
Peter Rosin [Tue, 15 Jun 2010 20:52:33 +0000 (22:52 +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.
* 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>
Ralf Wildenhues [Tue, 15 Jun 2010 03:19:45 +0000 (05:19 +0200)]
Fix cleaning of uninstalled w32 shell wrapper in subdirs.
* libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not
override global objdir variable, instead use odir for the
directory of to-be-removed files. Drop unneeded origobjdir.
Report by Charles Wilson.
Ralf Wildenhues [Sun, 13 Jun 2010 10:28:58 +0000 (12:28 +0200)]
Print Libtool project URL in program --help output.
* configure.ac (AC_INIT): Set PACKAGE argument to `GNU Libtool',
so Autoconf knows this is GNU software. For Autoconf < 2.64,
if AC_PACKAGE_URL is not defined, substitute PACKAGE_URL.
* Makefile.am (edit): Substitute PACKAGE_URL.
($(srcdir)/tests/package.m4): Also depend on Makefile.am.
Define AT_PACKAGE_URL, for `tests/testsuite --help' output.
* libltdl/config/getopt.m4sh (func_help): Also extract comment
lines that mention a home page and general GNU help.
* libltdl/config/ltmain.m4sh: Use @PACKAGE_BUGREPORT@ instead of
hard-coded list address. Also mention Libtool home page and
general GNU help web page.
* libtoolize.m4sh: Likewise.
Peter Rosin [Thu, 10 Jun 2010 17:53:39 +0000 (19:53 +0200)]
Improve libdir usage from within ltdl on MinGW.
* 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.
Gary V. Vaughan [Fri, 11 Jun 2010 06:01:48 +0000 (13:01 +0700)]
Use getopt.m4sh to generate libtoolize option parser.
* libtoolize.m4sh: Replace hand written shell code with a
call to M4SH_GETOPTS. Move some premature initialization
from the preamble to the main part of the script. Exit with
an error on spurious additional non-option arguments.
(envopts): Integrate LIBTOOLIZE_OPTIONS pre-parsing into the
main option parsing loop.
(opt_copy): Use in place of and in the reverse sense of the
old opt_link variable.
Peter O'Gorman [Fri, 11 Jun 2010 03:00:47 +0000 (22:00 -0500)]
Create reloadable object files with non-pic objects too.
* libltdl/config/ltmain.m4sh: When not building a shared
library, use the non-pic objects to create a reloadable
object, because pic objects do not exist.
Ralf Wildenhues [Thu, 10 Jun 2010 17:44:23 +0000 (19:44 +0200)]
Ensure libltdl is up to date for check-local.
* Makefile.am (LTDL_BOOTSTRAP_DEPS): New variable.
(all-local): Use it to simplify dependencies.
(testsuite_deps_uninstalled): Add $(LTDL_BOOTSTRAP_DEPS).
Report by Peter Rosin.
Gary V. Vaughan [Thu, 10 Jun 2010 14:02:48 +0000 (21:02 +0700)]
Support shell tracing inside functions even with ksh.
* libltdl/config/getopt.m4sh: Set $opt_debug to be either `:'
or `set -x' depending on whether --debug was parsed to match
usage in libtoolize.m4sh and ltmain.m4sh.
* clcommit.m4sh, libltdl/config/announce-gen.sh: Instead of
`$opt_debug && ...', use `test "$opt_debug" != ":" && ...'.
* clcommit.m4sh, libltdl/config/announce-gen.m4sh,
libltdl/config/getopt.m4sh, libltdl/connfig/mailnotify.m4sh:
Execute at the start of functions to cater to ksh, which
resets `-x' inside shell functions.
Ralf Wildenhues [Tue, 8 Jun 2010 20:41:41 +0000 (22:41 +0200)]
Factorize testing gcj installation in the testsuite.
* 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.
Peter Rosin [Wed, 9 Jun 2010 12:26:00 +0000 (19:26 +0700)]
Don't try the MSYS libdir path on MinGW.
* libltdl/ltdl.c (parse_dotla_file) [mingw]: The absolute
libdir path in the .la file is recorded as an MSYS (POSIX
style) path. Make sure it isn't tried when locating the
shared library.
* NEWS: Updated.
Gary V. Vaughan [Wed, 9 Jun 2010 12:00:19 +0000 (19:00 +0700)]
Simplify license variations, and add missing license texts.
* ChangeLog, ChangeLog.1996, ChangeLog.1997, ChangeLog.1998,
ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002,
ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006,
ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, NEWS: Add
all-permissive license.
* HACKING, README, README.alpha, TODO: Relax license to RMS
encouraged all-permissive terms.
* libltdl/README: Ditto. I added the original license text in
2007, and there's no need for it to be so long for such a trivial
file.
* libltdl/config/getopt.m4sh, libltdl/general.m4sh: Cvs-utils is
dead, and I am the author of these files, so consolidated license
terms to match regular Libtool licensing.
* HACKING (Licensing Rules): Update wording, and list of files for
the all permissive license.
(GPL with CVS-Utils exception clause): Removed. No files have these
license any more.
(GPL with Libtool exception clause): Ditto, only libltdl/README
used to be distributed with this variation.
* AUTHORS: Add GPL license text.