* 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>
* 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>
* 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.
* 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>
* tests/flags.at (passing CC flags through libtool): When $LD
is used for linking libraries, ensure flags passed with `-Wc,'
are not passed through to $LD, but flags passed with `-Wl,' use
$wl when linking programs. Fixed testsuite failure on HP-UX
10.20.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/exceptions.at (main.cpp:exceptions_in_module):
Move dlclose outside catch block; otherwise __cxa_end_catch
(part of the cygwin g++ ABI) accesses pointers to data inside
unloaded DLL. This is a platform ABI-specific bug, but is
likely common to many platforms' g++ and/or other C++
compilers.
Signed-off-by: Charles Wilson <libtool@cwilson.fastmail.fm>
* tests/defs.m4sh: Strip trailing `/tests' from srcdir, to allow
`$srcdir/tests/FOO.test' to be run from the top build directory.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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>
* tests/execute-mode.at (execute mode): Do not use grep -F
with an empty pattern.
* THANKS: Update.
Report by Jay K.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_prog_compiler_pic>:
Save result, and allow override, through cache variable
lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}. The cache variable
needs to contain an eventual -DPIC.
* doc/libtool.texi (): Document it.
* tests/pic_flag.at (override pic_flag at configure time):
New file, new test.
* Makefile.am (TESTSUITE_AT): Update.
* NEWS, THANKS: Update.
Suggestion by Joakim Tjernlund and Paolo Bonzini.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libltdl/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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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.
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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.
* 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".
* tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE):
Do not wrap AT_CHECK in a subshell, so that failures are
properly propagated; instead, move environment changes inside
the AT_CHECK code.
Report and analysis by Peter Rosin.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/versioning.at (versioning): Add -no-undefined to
LDFLAGS.
(test_uninstalled): Also move $bindir out of the way
temporarily.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/versioning.at (versioning): For the library update
hypotheses, ensure the unchanged library libb isn't accidentally
relinked against the new liba, by not reinstalling libb.
Fixes testsuite failure for the incompatible update case with
LDFLAGS=-Wl,--as-needed.
* THANKS: Update.
Report by Ryan Hill.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* 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.