]> git.ipfire.org Git - thirdparty/libtool.git/log
thirdparty/libtool.git
15 years agoFix typo in "Add func_append_quoted and do..."
Peter Rosin [Sat, 3 Jul 2010 08:14:35 +0000 (10:14 +0200)] 
Fix typo in "Add func_append_quoted and do..."

* libltdl/config/ltmain.m4sh (func_mode_compile): Use
func_append_quoted instead of func_append.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
15 years agoDon't trigger file name expansion when embedding manifests.
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 |.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
15 years agoFix regression caused by "Add func_append_quoted and do..."
Peter Rosin [Thu, 1 Jul 2010 17:22:29 +0000 (19:22 +0200)] 
Fix regression caused by "Add func_append_quoted and do..."

* libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover
"_libs" trash.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
15 years agoFor MSVC, embed the manifest as a resource in the executable.
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.

15 years agoAdd MSVC support.
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.

15 years agoSkip `enhanced shell option appending' test when not available.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoAdd func_append test cases for smart and retarded implementations.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoCorrect func_split_short_opt comment cut-n-pasto.
Gary V. Vaughan [Tue, 29 Jun 2010 09:32:46 +0000 (16:32 +0700)] 
Correct func_split_short_opt comment cut-n-pasto.

* libtool/config/getopt.m4sh (func_split_short_opt): Fix
the function comment.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoUse a real XSI compliant func_split_short_opt substitution.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoAdd func_append_quoted and do inline func_append substitutions.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoAdd an XSI replacement for func_split_short_opt, with test cases.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoAdd missing case branch terminators.
Gary V. Vaughan [Sun, 27 Jun 2010 12:19:18 +0000 (19:19 +0700)] 
Add missing case branch terminators.

* libltdl/config/ltmain.m4sh: Fixed everal case branches with
missing ';;' terminators.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoUse TAB-SPACE in preference to SPACE-TAB.
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>

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoAmend a missed opt_mode rename instance in ltmain.m4sh.
Gary V. Vaughan [Sun, 27 Jun 2010 07:54:57 +0000 (14:54 +0700)] 
Amend a missed opt_mode rename instance in ltmain.m4sh.

* libltdl/config/ltmain.m4sh <mode>: Rename to opt_mode.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoFix portability regressions in today's earlier changeset.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agogetopt.m4sh generated libtool option parser, and XSI improvements.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years ago[cygwin] Refactor C++ exception handling for Win32 correctness
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>
15 years agoEnsure getopts.m4sh is compatible with Autoconf-2.61 and newer.
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.

15 years agoFix clean mode for HP-UX 11.31 sh.
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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoAdd comment for exception handling module unloading issue.
Ralf Wildenhues [Sun, 20 Jun 2010 17:10:38 +0000 (19:10 +0200)] 
Add comment for exception handling module unloading issue.

* tests/exceptions.at (C++ exception handling): Add comment
for last patch.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix flags test failure when ld is used as linker.
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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years ago[cygwin] Fix segfault in C++ exception handling test
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>
15 years agoFix srcdir computation for manual runs of old tests.
Ralf Wildenhues [Sat, 19 Jun 2010 15:06:33 +0000 (17:06 +0200)] 
Fix srcdir computation for manual runs of old tests.

* 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>
15 years agoClean up @var handling in the manual.
Ralf Wildenhues [Sat, 19 Jun 2010 14:40:51 +0000 (16:40 +0200)] 
Clean up @var handling in the manual.

* doc/libtool.texi: Throughout the manual, replace @var with
@samp or @code as appropriate, ensure the argument of remaining
@var uses are lower-case.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoLet the bootstrap script fail upon errors.
Ralf Wildenhues [Sat, 19 Jun 2010 09:22:18 +0000 (11:22 +0200)] 
Let the bootstrap script fail upon errors.

* bootstrap: Enable errexit.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFixup botched ChangeLog entry, fix name added to THANKS.
Ralf Wildenhues [Sat, 19 Jun 2010 08:54:35 +0000 (10:54 +0200)] 
Fixup botched ChangeLog entry, fix name added to THANKS.

15 years agoFix execute mode test for OSF/1 5.1.
Ralf Wildenhues [Wed, 9 Jun 2010 18:09:37 +0000 (20:09 +0200)] 
Fix execute mode test for OSF/1 5.1.

* 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>
15 years agoUse config.cache variable for PIC flag, to allow override.
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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoOptimize func_ltwrapper_scriptname to assume a cwrapper.
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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix bootstrap script to cope with changed AC_INIT arguments.
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@.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoOn Windows, find potential libs regardless of file name case.
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>
15 years agoAvoid GCC -Wall compiler warning in dlopen self test.
Philip Allison [Tue, 15 Jun 2010 18:09:48 +0000 (20:09 +0200)] 
Avoid GCC -Wall compiler warning in dlopen self test.

* libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Fix unused
variable warning in test program.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix cleaning of uninstalled w32 shell wrapper in subdirs.
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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoEnable colored Autotest testsuite output if available.
Ralf Wildenhues [Sun, 13 Jun 2010 09:46:16 +0000 (11:46 +0200)] 
Enable colored Autotest testsuite output if available.

* 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>
15 years agoPass resident test with --disable-shared too.
Peter O'Gorman [Mon, 14 Jun 2010 16:04:17 +0000 (11:04 -0500)] 
Pass resident test with --disable-shared too.

* tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS.

15 years agoTest with --disable-shared at release time too.
Peter O'Gorman [Mon, 14 Jun 2010 03:27:31 +0000 (22:27 -0500)] 
Test with --disable-shared at release time too.

* HACKING: Note it.

15 years agoAvoid failure for --disable-shared.
Peter O'Gorman [Mon, 14 Jun 2010 03:26:48 +0000 (22:26 -0500)] 
Avoid failure for --disable-shared.

* tests/lt_dladvise.at: Hack.

15 years agoUse LTDL_SET_PRELOADED_SYMBOLS to avoid failure.
Peter O'Gorman [Mon, 14 Jun 2010 03:21:54 +0000 (22:21 -0500)] 
Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure.

* tests/exceptions.at: Use it.

15 years agoPrint Libtool project URL in program --help output.
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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoImprove libdir usage from within ltdl on MinGW.
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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoSkip bindir install test if we're not building shared.
Peter O'Gorman [Fri, 11 Jun 2010 19:22:55 +0000 (14:22 -0500)] 
Skip bindir install test if we're not building shared.

* tests/bindir.at: Skip install test if necessary.
* THANKS: Update.
Report by Michael E Faenza.

15 years agoUse getopt.m4sh to generate libtoolize option parser.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoCreate reloadable object files with non-pic objects too.
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.

15 years agoEnsure libltdl is up to date for check-local.
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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoSupport shell tracing inside functions even with ksh.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoFix a typu in HACKING.
Gary V. Vaughan [Thu, 10 Jun 2010 07:22:40 +0000 (14:22 +0700)] 
Fix a typu in HACKING.

* HACKING (Release Procedure): s/Makeflie/Makefile/.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoFactorize testing gcj installation in the testsuite.
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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoSkip demo-nopic tests if SELinux policy will cause failure.
Peter O'Gorman [Wed, 9 Jun 2010 16:45:51 +0000 (11:45 -0500)] 
Skip demo-nopic tests if SELinux policy will cause failure.

* tests/demo-nopic.test: Check SELinux policy and skip if
necessary.

15 years agoSet SCM version number to 2.2.11a.
Gary V. Vaughan [Wed, 9 Jun 2010 15:17:47 +0000 (22:17 +0700)] 
Set SCM version number to 2.2.11a.

* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.11a.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoPrepare for next release. v2.2.10
Gary V. Vaughan [Wed, 9 Jun 2010 14:03:07 +0000 (21:03 +0700)] 
Prepare for next release.

* configure.ac, libltdl/configure.ac (AC_INIT): Bump version number
to 2.2.10.
* NEWS: Update version number.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoFix a quoting bug with ./commit -a 'A U Thor'.
Gary V. Vaughan [Wed, 9 Jun 2010 12:34:34 +0000 (19:34 +0700)] 
Fix a quoting bug with ./commit -a 'A U Thor'.

* clcommit.m4sh (func_commit): Use func_show_eval when calling
git, so that the previously func_quote_for_eval()ed $git_flags is
expanded properly.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoDon't try the MSYS libdir path on MinGW.
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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoSimplify license variations, and add missing license texts.
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.

15 years agoFix a type in the 2.2.8 release notes.
Gary V. Vaughan [Wed, 9 Jun 2010 10:08:27 +0000 (17:08 +0700)] 
Fix a type in the 2.2.8 release notes.

* NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes.

15 years agoDon't warn about the blank line inserted into git commit message.
Gary V. Vaughan [Wed, 9 Jun 2010 10:03:22 +0000 (17:03 +0700)] 
Don't warn about the blank line inserted into git commit message.

* clcommit.m4sh: When searching for accidental commits of mutliple
changes, ignore the second line of the message, which we inserted
earlier to support "git log --oneline".

15 years agoEnable correct extraction of multiline copyright from --version.
Gary V. Vaughan [Wed, 9 Jun 2010 09:53:56 +0000 (16:53 +0700)] 
Enable correct extraction of multiline copyright from --version.

* libltdl/config/getopt.m4sh: Wrap copyright notice at 76
columns.
(func_version): Don't omit spaces when merging multiline copyright
notices.
* clcommit.m4sh, libtoolize.m4sh: Wrap copyright notice at 76
columns.

15 years ago* NEWS (2.2.8): BlueGene compiler tests were performed on BG/P
Gary V. Vaughan [Wed, 9 Jun 2010 09:24:59 +0000 (16:24 +0700)] 
* NEWS (2.2.8): BlueGene compiler tests were performed on BG/P
systems, not BG/L.
Reported by Christian Rössel <christian.roessel@gmx.de>

15 years agoFix testsuite helper macros to not hide failure.
Ralf Wildenhues [Tue, 8 Jun 2010 19:23:08 +0000 (21:23 +0200)] 
Fix testsuite helper macros to not hide failure.

* 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>
15 years agoAvoid autom4te warning about unnamed diversion.
Ralf Wildenhues [Tue, 8 Jun 2010 04:44:26 +0000 (06:44 +0200)] 
Avoid autom4te warning about unnamed diversion.

* libltdl/config/getopt.m4sh: Use diversion name KILL not -1.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoMake versioning test stricter for w32, enable shared libs.
Ralf Wildenhues [Mon, 7 Jun 2010 20:32:26 +0000 (22:32 +0200)] 
Make versioning test stricter for w32, enable shared libs.

* 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>
15 years agoFix versioning test for LDFLAGS=-Wl,--as-needed.
Ralf Wildenhues [Mon, 7 Jun 2010 20:30:44 +0000 (22:30 +0200)] 
Fix versioning test for LDFLAGS=-Wl,--as-needed.

* 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>
15 years agoRewrite manual intro to be gender-neutral.
Ralf Wildenhues [Sun, 6 Jun 2010 11:21:39 +0000 (13:21 +0200)] 
Rewrite manual intro to be gender-neutral.

* doc/libtool.texi (Introduction): Use gender-neutral
formulation when addressing developers.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoUpdate and simplify all m4sh scripts to use latest getopt.m4sh.
Gary V. Vaughan [Fri, 4 Jun 2010 22:40:40 +0000 (05:40 +0700)] 
Update and simplify all m4sh scripts to use latest getopt.m4sh.

* clcommit.m4sh, libltdl/config/mailnotify.m4sh: Rewrite option
parsing loop over M4SH_GETOPTS macro, and adjust all clients of
option variables to use generated option names.

15 years agoAdd missing quote for literal ? in a shell case statement.
Gary V. Vaughan [Fri, 4 Jun 2010 22:06:45 +0000 (05:06 +0700)] 
Add missing quote for literal ? in a shell case statement.

* libltdl/config/getopt.m4sh (m4go_shortnoargs): Quote initial ?
correctly for use in a shell case statement.

15 years agoQuote command line arguments after --rcfile properly.
Gary V. Vaughan [Fri, 4 Jun 2010 21:22:01 +0000 (04:22 +0700)] 
Quote command line arguments after --rcfile properly.

* libltdl/config/announce-gen.m4sh (--rcfile): Quote remaining
arguments shell variable expression correctly for eval.

15 years agoShift correctly in numbered option argument collection.
Gary V. Vaughan [Fri, 4 Jun 2010 21:19:11 +0000 (04:19 +0700)] 
Shift correctly in numbered option argument collection.

* libltdl/config/getopt.m4sh (_m4go_option): Argument list also
needs to be `shift'ed in the shell option loop after processing a
numbered argument collection.

15 years agoFetch from new upstream host for config.guess and config.sub.
Gary V. Vaughan [Fri, 4 Jun 2010 21:06:10 +0000 (04:06 +0700)] 
Fetch from new upstream host for config.guess and config.sub.

* Makefile.maint (WGET_CGIT): Location of newest config.guess and
config.sub upstream.
(fetch): Fetch config.guess and config.sub from WGET_CGIT, rather
than no-longer-updating WGET_SGO location.

15 years agoUpdate generated upload directive file format to v1.1.
Gary V. Vaughan [Fri, 4 Jun 2010 20:56:43 +0000 (03:56 +0700)] 
Update generated upload directive file format to v1.1.

* Makefile.maint (git-dist, diffs): Update to generate v1.1 format
directive files for ftp://ftp-upload.gnu.org/incoming/ftp.

15 years agoFix web manual generation details in release instructions.
Gary V. Vaughan [Fri, 4 Jun 2010 20:52:43 +0000 (03:52 +0700)] 
Fix web manual generation details in release instructions.

* HACKING (Release Procedure): Move the instruction for generating
web manuals for a new release to before the instruction that bumps
the version numbers to the post release values.

15 years agoSet SCM version number to 2.2.9a.
Gary V. Vaughan [Fri, 4 Jun 2010 19:29:56 +0000 (02:29 +0700)] 
Set SCM version number to 2.2.9a.

* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.9a.
* NEWS: Updated.

15 years agoPrepare for next release. v2.2.8
Gary V. Vaughan [Fri, 4 Jun 2010 18:43:56 +0000 (01:43 +0700)] 
Prepare for next release.

* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.8.
* NEWS: Update version number.
* INSTALL, libltdl/config/install-sh, libltdl/config/config.guess,
libltdl/config/config.sub, libltdl/config/texinfo.tex: Updated
from canonical source.

15 years agoProvide an m4sh reimplementation of announce-gen.
Gary V. Vaughan [Fri, 4 Jun 2010 17:50:24 +0000 (00:50 +0700)] 
Provide an m4sh reimplementation of announce-gen.

* libltdl/config/getopt.m4sh (M4SH_GETOPTS): New macro that takes
a quoted m4 list of command line options to be parsed, and
generates the shell code to parse those options and collect the
results into appropriately named 'opt_xxx' shell variables.  Also,
add some private supporting macros, and improve the comments
radically.
* libltdl/config/announce-gen.m4sh: New file, to generate and
optionally post (an enhancement over the gnulib perl script of the
same name) a release announcement.
* Makefile.maint (announce-gen): Build a new announce-gen script
in the build directory, from the contents of
libltdl/config/announce-gen.m4sh.
* HACKING (Release Procedure): Update the instructions to use
announce-gen.
(Alpha release note template, Full release note template):
Removed.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
15 years agoSupport "git log --oneline" in generated commit messages.
Gary V. Vaughan [Sat, 22 May 2010 11:10:27 +0000 (18:10 +0700)] 
Support "git log --oneline" in generated commit messages.

* clcommit.m4sh (func_check_commit_msg): Insert an empty line
between the ChangeLog entry summary line and the ChangeLog entry
body, so that "git log --oneline" works properly.
Bump copyright and version number.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

15 years ago* HACKING: Set Reply-To: in announcement emails.
Ralf Wildenhues [Sat, 22 May 2010 09:29:48 +0000 (11:29 +0200)] 
* HACKING: Set Reply-To: in announcement emails.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoSet SCM version number to 2.2.7c.
Gary V. Vaughan [Thu, 20 May 2010 23:59:56 +0000 (06:59 +0700)] 
Set SCM version number to 2.2.7c.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.7c.
* NEWS: Updated.

GNU Libtool 2.2.7b  was released.

15 years agoPrepare for next release candidate. v2.2.7b
Gary V. Vaughan [Thu, 20 May 2010 21:24:18 +0000 (04:24 +0700)] 
Prepare for next release candidate.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.7b.
* libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4,
libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: These files
have been updated without a serial bump since the last release.
* libltdl/Makefile.inc (LTDL_VERSION_INFO): Bump Revision, to
account for bugfixes since the last release.
* libltdl/config/install-sh, libltdl/config/config.guess,
libltdl/config/config.sub, libltdl/config/texinfo.tex,
INSTALL: Updated from canonical source.
* NEWS: Update with missing entries from ChangeLog.
* HACKING: Note workaround for developer tool-path leakage bug.

15 years agoSkip some tests in --disable-ltdl-install mode.
Gary V. Vaughan [Thu, 20 May 2010 21:21:38 +0000 (04:21 +0700)] 
Skip some tests in --disable-ltdl-install mode.
* 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.

15 years agoClarify versioning algorithm documentation.
Peter Rosin [Tue, 4 May 2010 18:36:52 +0000 (20:36 +0200)] 
Clarify versioning algorithm documentation.

* doc/libtool.texi (Updating version info): Be explicit
about setting age to zero on interface change.
Reported by Jef Driesen <jefdriesen@hotmail.com>

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
15 years agoRanlib is required with -force_load and fat archives.
Peter O'Gorman [Tue, 4 May 2010 05:44:48 +0000 (00:44 -0500)] 
Ranlib is required with -force_load and fat archives.

* libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run
ranlib.
Reported by Jeremy Huddleston <jeremyhu@apple.com>

15 years agoFix incompatible struct declarations.
Ralf Wildenhues [Sun, 4 Apr 2010 08:56:27 +0000 (10:56 +0200)] 
Fix incompatible struct declarations.

* 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>
15 years agoUse linker_flags not compiler_flags with $LD.
Ralf Wildenhues [Sun, 4 Apr 2010 07:32:56 +0000 (09:32 +0200)] 
Use linker_flags not compiler_flags with $LD.

* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux]
<archive_cmds, archive_expsym_cmds>: With xlf and bgxlf
compilers, when linking with $LD, use $linker_flags not
$compiler_flags.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoAdd FAQ, and FAQ entry for flags stripped at library link time.
Ralf Wildenhues [Sun, 28 Mar 2010 16:04:10 +0000 (18:04 +0200)] 
Add FAQ, and FAQ entry for flags stripped at library link time.

* doc/libtool.texi (FAQ, Stripped link flags): New nodes.
(Wrapper executables): Replace bug address with macro.
(Compile mode, Link mode): Document `-Wc,' and `-Xcompiler '
semantics better.
* libltdl/config/ltmain.m4sh (func_mode_link): Rewrite comment
for the flags that are passed through.
Prompted by reports from Simon Richter <Simon.Richter@hogyros.de>,
Török Edwin <edwintorok@gmail.com> and
Åke Sandgren <ake.sandgren@hpc2n.umu.se>.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix preloader symbol list declaration in libltdl.
Ralf Wildenhues [Sun, 28 Mar 2010 17:14:05 +0000 (19:14 +0200)] 
Fix preloader symbol list declaration in libltdl.

* libltdl/ltdl.c (preloaded_symbols): Fix declaration to include
array brackets.
(lt_dlinit): Do not take address of preloaded_symbols.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix typo in libtool --help output.
Ralf Wildenhues [Sun, 28 Mar 2010 16:11:44 +0000 (18:11 +0200)] 
Fix typo in libtool --help output.

* libltdl/config/ltmain.m4sh (func_mode_help): Fix typo in help
output.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix a couple of documentation errors.
Ralf Wildenhues [Sun, 28 Mar 2010 16:03:09 +0000 (18:03 +0200)] 
Fix a couple of documentation errors.

* doc/libtool.texi (Autoconf macros): Improve hyphenation.
(Using libltdl): libltdl uses the Lesser General Public License,
not the Library General Public License.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoDo not use @sc nor @acronym in the manual.
Ralf Wildenhues [Sun, 28 Mar 2010 16:02:22 +0000 (18:02 +0200)] 
Do not use @sc nor @acronym in the manual.

* doc/libtool.texi: Remove all usage of @sc.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix ChangeLog entry.
Ralf Wildenhues [Sun, 28 Mar 2010 16:00:03 +0000 (18:00 +0200)] 
Fix ChangeLog entry.

15 years agoSort output of 'find' to enable deterministic builds.
Chris Demetriou [Fri, 19 Mar 2010 05:26:03 +0000 (06:26 +0100)] 
Sort output of 'find' to enable deterministic builds.

* libltdl/config/ltmain.m4sh (func_extract_archives): Sort
output of 'find'.
* libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Likewise.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoUnconditionally normalize LC_ALL, LANGUAGE in libtool script.
Ralf Wildenhues [Wed, 17 Mar 2010 21:44:25 +0000 (22:44 +0100)] 
Unconditionally normalize LC_ALL, LANGUAGE in libtool script.

* libltdl/config/ltmain.m4sh: Unconditionally set LC_ALL and
LANGUAGE to 'C', to avoid semantic differences on MinGW under
Chines locale.  SCO issues with e.g. LANG=C are not known to
be relevant today any more.
Report by Pete Batard <pbatard@gmail.com> and Xiaofan Chen
<xiaofanc@gmail.com>.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoPreserve the last error when restoring the error mode.
Peter Rosin [Wed, 17 Mar 2010 08:01:57 +0000 (09:01 +0100)] 
Preserve the last error when restoring the error mode.

* libltdl/loaders/loadlibrary.c (wm_open): Don't rely on
SetThreadErrorMode (or SetErrorMode) to not clobber the last
error.
Report by Ralf Wildenhues.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
15 years agoUse Get/SetThreadErrorMode if they are available.
Peter Rosin [Wed, 17 Mar 2010 07:54:16 +0000 (08:54 +0100)] 
Use Get/SetThreadErrorMode if they are available.

* libltdl/loaders/loadlibrary.c (wrap_geterrormode): Replaced...
(wrap_getthreaderrormode): ...by this function that checks
first for GetThreadErrorMode, then GetErrorMode and makes use
of either of those or...
(fallback_getthreaderrormode): ...else falls back to this
replacement function that implements the old workaround, which
was previously implemented in...
(fallback_geterrormode): ...this now renamed function.
(geterrormode): Replaced...
(getthreaderrormode): ...by this function pointer that points
at either of wrap_getthreaderrormode, GetThreadErrorMode,
GetErrorMode or fallback_getthreaderrormode.
(wrap_setthreaderrormode): New function that checks if
SetThreadErrorMode is supported by the system and makes use of
it if it is.
(fallback_setthreaderrormode): New function that is used
otherwise that implements the old version using SetErrorMode.
(setthreaderrormode): New function pointer that points at
either of wrap_setthreaderrormode, SetThreadErrorMode or
fallback_setthreaderrormode.
(vm_open): Adjust to the above.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
15 years agoDetect Sun compiler suite with 'sun'-prefixed names.
Ralf Wildenhues [Sun, 28 Feb 2010 12:38:34 +0000 (13:38 +0100)] 
Detect Sun compiler suite with 'sun'-prefixed names.

* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG)
(_LT_SYS_HIDDEN_LIBDEPS) [solaris]: Accept compiler names sunCC,
sunf77, sunf90, sunf95 in addition to CC, f77, f90, f95.
* NEWS: Update.
Report by Vadim Zeitlin.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix deplibs check fallback for 64-bit Windows and Windows CE.
Pierre Ossman [Mon, 22 Feb 2010 21:44:04 +0000 (22:44 +0100)] 
Fix deplibs check fallback for 64-bit Windows and Windows CE.

* libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats
'pe-arm-wince' and 'pe-x86-64'.  Add note about consistency with ...
* libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective
pattern here; sync pattern from the former.
* tests/deplibs-mingw.at (deplibs without file command): New
file, new test.
* Makefile.am (TESTSUITE_AT): Update.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoUpdate search path on Haiku for legacy system directory.
Scott McCreary [Wed, 24 Feb 2010 21:10:52 +0000 (22:10 +0100)] 
Update search path on Haiku for legacy system directory.

* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [haiku]
<sys_lib_dlsearch_path_spec>: Replace legacy
/boot/beos/system/lib directory with /boot/system/lib.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agomanual: fix detailmenu ordering.
Ralf Wildenhues [Mon, 22 Feb 2010 21:05:14 +0000 (22:05 +0100)] 
manual: fix detailmenu ordering.

* doc/libtool.texi (Top): Add section for `Linking executables'
in the detailmenu.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoGuard against strerror()==NULL
Charles Wilson [Sun, 21 Feb 2010 21:56:44 +0000 (16:56 -0500)] 
Guard against strerror()==NULL

* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main):
Check return value of strerror() using nonnull().
(func_emit_cwrapperexe_src:find_executable): Ditto.
(func_emit_cwrapperexe_src:chase_symlinks): Ditto.

15 years agoDocument wrapper changes.
Charles Wilson [Sun, 12 Jul 2009 22:49:06 +0000 (18:49 -0400)] 
Document wrapper changes.

* NEWS: Indicate new feature and incompatibility.
* doc/libtool.texi [detailmenu]: Add reference to subsection
'Wrapper executables for programs', in Platform Quirks category.
[Linking executables]: Mention wrapper executables, in
addition to wrapper scripts. Add menu referencing subsection
'Wrapper executables for programs'.
[Wrapper executables for programs]: New subsection. Documents
cwrapper rationale and command line options.

15 years agoAdd --lt-* options to shell wrapper
Charles Wilson [Sun, 12 Jul 2009 21:40:26 +0000 (17:40 -0400)] 
Add --lt-* options to shell wrapper

* libltdl/config/ltmain.m4sh (func_emit_wrapper): Call
func_parse_lt_options early. Use func_exec_program.
(func_emit_wrapper:func_parse_lt_options): New function.
(func_emit_wrapper:func_lt_dump_args): New function.
(func_emit_wrapper:func_exec_program_core): New function.
(func_emit_wrapper:func_exec_program): New function.

15 years agoEnable runtime cwrapper debugging; add tests
Charles Wilson [Sun, 12 Jul 2009 18:30:44 +0000 (14:30 -0400)] 
Enable runtime cwrapper debugging; add tests

* 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.

15 years agoUse --email with gendocs.sh.
Ralf Wildenhues [Sun, 31 Jan 2010 12:39:48 +0000 (13:39 +0100)] 
Use --email with gendocs.sh.

* Makefile.maint (web-manual): Pass bug reporting address to
gendocs.sh.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>