Commit Graph

3383 Commits

Author SHA1 Message Date
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