Commit Graph

3121 Commits

Author SHA1 Message Date
Gary V. Vaughan
d8bdf9339b 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>
2010-06-30 05:12:42 +07:00
Gary V. Vaughan
e4edceb028 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>
2010-06-29 16:32:46 +07:00
Gary V. Vaughan
6639fdbe2f 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>
2010-06-29 16:29:30 +07:00
Gary V. Vaughan
0da7d80909 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>
2010-06-28 13:48:51 +07:00
Gary V. Vaughan
448445c6f8 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>
2010-06-28 05:41:36 +07:00
Gary V. Vaughan
0483a52e8b 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>
2010-06-27 19:19:18 +07:00
Gary V. Vaughan
001f756ffa 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>
2010-06-27 17:19:35 +07:00
Gary V. Vaughan
6767ed13de 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>
2010-06-27 14:54:57 +07:00
Gary V. Vaughan
ee2dde86ba 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>
2010-06-27 13:57:50 +07:00
Gary V. Vaughan
b8dd17aeba 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>
2010-06-27 00:13:42 +07:00
Charles Wilson
ec9de9a8af [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>
2010-06-24 18:39:37 -04:00
Gary V. Vaughan
3d2d3ef899 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.
2010-06-21 19:49:29 +07:00
Ralf Wildenhues
ef76a23497 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>
2010-06-20 19:12:20 +02:00
Ralf Wildenhues
8a80206ac0 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>
2010-06-20 19:11:57 +02:00
Ralf Wildenhues
61aac6f3f4 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>
2010-06-20 19:11:37 +02:00
Charles Wilson
c4901206cf [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>
2010-06-19 17:46:56 -04:00
Ralf Wildenhues
80333a915c 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>
2010-06-19 17:06:33 +02:00
Ralf Wildenhues
1f6f90797f 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>
2010-06-19 16:40:51 +02:00
Ralf Wildenhues
50ebc59ab2 Let the bootstrap script fail upon errors.
* bootstrap: Enable errexit.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-19 11:22:18 +02:00
Ralf Wildenhues
c70a1b4593 Fixup botched ChangeLog entry, fix name added to THANKS. 2010-06-19 11:11:43 +02:00
Ralf Wildenhues
fdc9248662 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>
2010-06-19 10:27:20 +02:00
Ralf Wildenhues
64377ca9da 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>
2010-06-19 06:47:42 +02:00
Ralf Wildenhues
4d3ac408c8 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>
2010-06-16 06:04:36 +02:00
Ralf Wildenhues
47e4d7da64 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>
2010-06-16 06:04:36 +02:00
Peter Rosin
8cc72b48f6 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>
2010-06-15 22:52:33 +02:00
Philip Allison
e0c817e510 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>
2010-06-15 20:10:04 +02:00
Ralf Wildenhues
66c97302ad 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>
2010-06-15 19:17:00 +02:00
Ralf Wildenhues
d640a3f4fc 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>
2010-06-14 20:39:43 +02:00
Peter O'Gorman
0263ff229b Pass resident test with --disable-shared too.
* tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS.
2010-06-14 11:04:17 -05:00
Peter O'Gorman
23c144c1bc Test with --disable-shared at release time too.
* HACKING: Note it.
2010-06-13 22:30:59 -05:00
Peter O'Gorman
7b9d7e4af3 Avoid failure for --disable-shared.
* tests/lt_dladvise.at: Hack.
2010-06-13 22:30:53 -05:00
Peter O'Gorman
83b2c36410 Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure.
* tests/exceptions.at: Use it.
2010-06-13 22:30:08 -05:00
Ralf Wildenhues
6558f036e3 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>
2010-06-13 19:14:58 +02:00
Peter Rosin
2a42785373 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>
2010-06-12 10:09:26 +02:00
Peter O'Gorman
d4558ac9be 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.
2010-06-11 14:39:31 -05:00
Gary V. Vaughan
cc051734a3 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>
2010-06-11 13:01:48 +07:00
Peter O'Gorman
f5e292a4ee 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.
2010-06-10 23:00:43 -05:00
Ralf Wildenhues
8e31ea01ad 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>
2010-06-10 19:44:37 +02:00
Gary V. Vaughan
cd0b95778b 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>
2010-06-10 21:02:48 +07:00
Gary V. Vaughan
90231d3e97 Fix a typu in HACKING.
* HACKING (Release Procedure): s/Makeflie/Makefile/.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-06-10 14:22:40 +07:00
Ralf Wildenhues
8f241f6eaa 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>
2010-06-09 19:41:13 +02:00
Peter O'Gorman
15017972c5 Skip demo-nopic tests if SELinux policy will cause failure.
* tests/demo-nopic.test: Check SELinux policy and skip if
necessary.
2010-06-09 11:45:51 -05:00
Gary V. Vaughan
d18372c98a 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>
2010-06-09 22:17:47 +07:00
Gary V. Vaughan
c6b266a56f 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>
2010-06-09 21:03:07 +07:00
Gary V. Vaughan
c39115a3f8 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>
2010-06-09 19:34:34 +07:00
Peter Rosin
1a3cd365c0 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>
2010-06-09 19:26:00 +07:00
Gary V. Vaughan
9bf1ccc71a 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.
2010-06-09 19:00:19 +07:00
Gary V. Vaughan
03c999cb71 Fix a type in the 2.2.8 release notes.
* NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes.
2010-06-09 17:08:27 +07:00
Gary V. Vaughan
6897067b69 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".
2010-06-09 17:03:22 +07:00
Gary V. Vaughan
a50e0106ea 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.
2010-06-09 16:53:56 +07:00
Gary V. Vaughan
c0aed9ccd0 * 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>
2010-06-09 16:24:59 +07:00
Ralf Wildenhues
e0c89b9a07 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>
2010-06-08 21:23:08 +02:00
Ralf Wildenhues
eb399e6a03 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>
2010-06-08 06:44:26 +02:00
Ralf Wildenhues
0e3d88b839 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>
2010-06-07 22:39:23 +02:00
Ralf Wildenhues
9a801684f6 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>
2010-06-07 22:31:26 +02:00
Ralf Wildenhues
b188543381 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>
2010-06-06 13:22:58 +02:00
Gary V. Vaughan
b33d82439a 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.
2010-06-05 05:40:40 +07:00
Gary V. Vaughan
540fbe5b32 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.
2010-06-05 05:06:45 +07:00
Gary V. Vaughan
7a1821bead Quote command line arguments after --rcfile properly.
* libltdl/config/announce-gen.m4sh (--rcfile): Quote remaining
arguments shell variable expression correctly for eval.
2010-06-05 04:22:01 +07:00
Gary V. Vaughan
fd9aeebfe9 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.
2010-06-05 04:19:11 +07:00
Gary V. Vaughan
f369e07974 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.
2010-06-05 04:06:10 +07:00
Gary V. Vaughan
695c5ee50d 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.
2010-06-05 03:56:43 +07:00
Gary V. Vaughan
4a649e5c36 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.
2010-06-05 03:52:43 +07:00
Gary V. Vaughan
8524eb8f5c Set SCM version number to 2.2.9a.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.9a.
* NEWS: Updated.
2010-06-05 02:29:56 +07:00
Gary V. Vaughan
2f666f7769 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.
2010-06-05 01:43:56 +07:00
Gary V. Vaughan
aa7558299c 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>
2010-06-05 00:50:24 +07:00
Gary V. Vaughan
efa4f5e852 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>
2010-05-22 18:10:27 +07:00
Ralf Wildenhues
0a0ac75137 * HACKING: Set Reply-To: in announcement emails.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-05-22 11:29:48 +02:00
Gary V. Vaughan
1d0c6a58c8 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.
2010-05-21 06:59:56 +07:00
Gary V. Vaughan
99da5501fc 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.
2010-05-21 04:24:18 +07:00
Gary V. Vaughan
066a70fd86 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.
2010-05-21 04:21:38 +07:00
Peter Rosin
b2c5221466 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>
2010-05-04 20:36:52 +02:00
Peter O'Gorman
3ae7bf0b91 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>
2010-05-04 00:51:33 -05:00
Ralf Wildenhues
3d0fc4870e 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>
2010-04-09 21:37:09 +02:00
Ralf Wildenhues
519bf919cc 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>
2010-04-04 09:40:17 +02:00
Ralf Wildenhues
d7e8e16dd0 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>
2010-03-31 21:53:50 +02:00
Ralf Wildenhues
03feff4719 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>
2010-03-28 22:21:55 +02:00
Ralf Wildenhues
0238e60a63 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>
2010-03-28 22:21:17 +02:00
Ralf Wildenhues
55b7842849 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>
2010-03-28 18:03:09 +02:00
Ralf Wildenhues
c334a37bc6 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>
2010-03-28 18:02:22 +02:00
Ralf Wildenhues
57c342937d Fix ChangeLog entry. 2010-03-28 18:00:03 +02:00
Chris Demetriou
74c8993c17 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>
2010-03-19 06:26:18 +01:00
Ralf Wildenhues
7877d1d13f 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>
2010-03-19 06:24:23 +01:00
Peter Rosin
f21029c498 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>
2010-03-17 09:01:57 +01:00
Peter Rosin
3f0fa1bae4 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>
2010-03-17 08:54:16 +01:00
Ralf Wildenhues
d5ca75c82d 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>
2010-02-28 13:38:34 +01:00
Pierre Ossman
7efdc2482e 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>
2010-02-28 05:46:16 +01:00
Scott McCreary
5627b263cc 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>
2010-02-24 22:10:52 +01:00
Ralf Wildenhues
3cca61ae59 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>
2010-02-22 22:05:14 +01:00
Charles Wilson
948e6bbecd 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.
2010-02-21 16:58:31 -05:00
Charles Wilson
76735dcb93 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.
2010-02-21 15:07:12 -05:00
Charles Wilson
efa4728055 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.
2010-02-21 00:42:13 -05:00
Charles Wilson
2613ea3ab2 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.
2010-02-21 00:32:17 -05:00
Ralf Wildenhues
7e8be90f48 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>
2010-01-31 15:34:51 +01:00
Ralf Wildenhues
2080fe9649 Make testsuite code C++ clean again.
* tests/resident.at (resident modules): Fix for C++.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-01-31 15:33:27 +01:00
Peter Rosin
e4eefcd401 Testsuite exposure for dlloader API.
* tests/dlloadet-api.at: New file, new test.
* Makefile.am (TESTSUITE_AT): Update.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-01-29 09:04:13 +01:00
Peter Rosin
f4c63234c9 * tests/loadlibrary.at: Fix C++ issues.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-01-29 08:50:13 +01:00
Peter Rosin
080e088e42 Report proper errors from the loadlibrary loader.
* 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>
2010-01-21 08:42:12 +01:00
Peter Rosin
16362c656a Use GetErrorMode if it is available.
* libltdl/loaders/loadlibrary.c (wrap_geterrormode): New
function that checks if GetErrorMode is supported by the
system and makes use of it if it is.
(fallback_geterrormode): New function that is used otherwise
that implements the old workaround.
(geterrormode): New function pointer that points at either
of the above or directly at GetErrorMode.
(vm_open): Make use of the above.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-01-18 09:48:23 +01:00
Ralf Wildenhues
a75f8acf28 Ensure functions from resident modules work in atexit handlers.
* 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>
2010-01-11 21:56:23 +01:00