Gary V. Vaughan [Tue, 1 Apr 2008 23:32:02 +0000 (23:32 +0000)]
GNU Libtool 2.2.2 was released.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.2.
* libltdl/Makefile.in (LTDL_VERSION_INFO): C:R+1:A because the
interfaces are unchanged, even though we improved the code some
more.
* NEWS: Updated.
Peter O'Gorman [Thu, 27 Mar 2008 17:53:46 +0000 (17:53 +0000)]
* libltdl/m4/libtool.m4 [_LT_REQUIRED_DARWIN_CHECKS]: Fix the
test for -single_module and log it to config.log.
Reported by Torok Edwin and Nigel Home.
Ralf Wildenhues [Mon, 24 Mar 2008 14:28:43 +0000 (14:28 +0000)]
Document that disable-static plus -all-static is not portable.
* doc/libtool.texi (Link mode): -all-static does not go well
with disable-static on most systems.
* tests/static.at (static linking flags for programs) [!aix]:
With --disable-static but nonempty link_static_flag, skip the
m-all-static link. Do not skip it on AIX, as there the
enable_static is self-inflicted, and thus expected to work.
* THANKS: Update.
Report by Nix.
Ralf Wildenhues [Mon, 17 Mar 2008 22:39:05 +0000 (22:39 +0000)]
* libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): No need to escape
backticks in argument to AC_MSG_WARN or AC_MSG_ERROR.
* libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE, LTDL_INIT): Likewise.
Ralf Wildenhues [Sat, 15 Mar 2008 22:06:56 +0000 (22:06 +0000)]
* tests/defs.m4sh (func_get_config): Build egrep regex to speed
up extracting several variables at once. Use it to extract all
default variables at once. Also extract build_alias and
host_alias from the libtool script.
(func_configure_nofail): Use build_alias and host_alias for
--build and --host, respectively. Pass each if nonempty.
* tests/testsuite.at: Pass --build if build_alias is nonemtpy.
* tests/quote.test: Extract ECHO and wl at once.
Charles Wilson [Thu, 13 Mar 2008 04:46:08 +0000 (04:46 +0000)]
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file
scope]: additional #includes and #defines to support...
(func_emit_cwrapperexe_src) [main]: ensure stdout is set to
binary mode for cygwin|mingw builds. Ensure temporary script
file is written in binary mode for cygwin|mingw builds.
(func_mode_link) [cygwin|mingw]: cross-build support - only
use cwrapper to generate shell wrapper if building native;
otherwise use func_emit_wrapper()
Bruno Haible [Sun, 9 Mar 2008 14:12:10 +0000 (14:12 +0000)]
Fix compiler output to be in the user locale.
* libltdl/config/general.m4sh (func_show_eval_locale): New
function, for running commands in the user locale.
* libltdl/config/ltmain.m4sh (func_mode_compile): Use it for
compiling.
* tests/localization.at (localized compiler messages): New test.
* Makefile.am: Adjust.
Report by Bruno Haible.
Ralf Wildenhues [Sat, 8 Mar 2008 18:02:39 +0000 (18:02 +0000)]
Fix several test failures on Cygwin and MinGW.
* tests/nonrecursive.at: Use -no-undefined for foo.la.
* tests/recursive.at: Likewise.
* tests/subproject.at: Likewise.
* tests/lt_dladvise.at: For systems where undefined symbols are
not allowed, to not try to load the module libdepend.
[ mingw ]: Add to list of such systems.
* tests/testsuite.at (_LT_AT_TRANSLATE_TEXT_OUTPUT): New macro,
to translate line ending of expout and experr files suitable for
host executables.
(LT_AT_CHECK, LT_AT_NOINST_EXEC_CHECK): Use it.
Report by Bob Friesenhahn.
Ralf Wildenhues [Sat, 8 Mar 2008 17:41:44 +0000 (17:41 +0000)]
Fix installcheck dependencies, fix for --program-transform-name.
* Makefile.am (installcheck-local): Depend upon tests/atconfig
and $(srcdir)/$(TESTSUITE).
* tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): New macro.
(LT_AT_CHECK_LIBTOOLIZE): Use it to transform expout and experr
files suitably.
* HACKING: Update.
Ralf Wildenhues [Sat, 8 Mar 2008 12:14:15 +0000 (12:14 +0000)]
Drop usage of obsolete macros AC_EXEEXT and AC_OBJEXT.
* libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION)
(_LT_COMPILER_C_O, LT_PATH_NM, _LT_CMD_GLOBAL_SYMBOLS, _LT_SETUP):
Drop usage of obsolete AC_OBJEXT and AC_EXEEXT.
* tests/am-subdir.at (C++ subdir-objects): Likewise.
Peter O'Gorman [Fri, 7 Mar 2008 08:07:50 +0000 (08:07 +0000)]
* tests/convenience.at (Java convenience archives): Skip test if
gcj cannot compile a working executable from .java files.
Report by Nelson H. F. Beebe.
Peter O'Gorman [Fri, 7 Mar 2008 05:38:33 +0000 (05:38 +0000)]
* libltdl/m4/libtool.m4 (_LT_PROG_FC): Report FC=no if the FC
compiler is not a GNU compiler and the CXX compiler is a GNU
compiler.
Reported by Nelson H. F. Beebe.
Gary V. Vaughan [Fri, 7 Mar 2008 03:26:26 +0000 (03:26 +0000)]
* Makefile.maint (TSDEPS_DIST): Removed. No longer used.
(TSDEPS): libtool.m4 has long since moved to libltdl.
(cvs-dist): Don't put the suffix dot in twice.
Ralf Wildenhues [Wed, 5 Mar 2008 20:14:43 +0000 (20:14 +0000)]
* libltdl/config/ltmain.m4sh (func_lalib_unsafe_p): redirect
and restore from stdin, not stdout.
* tests/execute-mode.at (execute mode): Adjust test to catch
this.
Report by Roberto Bagnara.
Ralf Wildenhues [Tue, 4 Mar 2008 22:31:33 +0000 (22:31 +0000)]
Fix libltdl to not skip dlopen on systems with several loaders,
such as HP-UX, Cygwin.
* libltdl/slist.c (slist_concat): When appending to the tail
of a list, do not drop items off the beginning of the list.
* NEWS: Update.
Ralf Wildenhues [Tue, 4 Mar 2008 21:25:48 +0000 (21:25 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_execute): Replace only
arguments we have identified as shell or C wrappers.
(func_emit_wrapper): Output error message on stderr.
* tests/execute-mode.at: New file, with --mode=execute tests.
* Makefile.am: Adjust.
* NEWS: Update.
Fixes 2.2 regression. Report by Roberto Bagnara.
Ralf Wildenhues [Tue, 4 Mar 2008 21:14:22 +0000 (21:14 +0000)]
* libltdl/m4/libtool.m4 (_LT_CONFIG): Drop misleading `GNU'
prefix before the host package name in the "Generated by" line
for the libtool script.
* THANKS: Update.
Reports by Peter Rosin and Roberto Bagnara.
Gary V. Vaughan [Sat, 1 Mar 2008 22:43:04 +0000 (22:43 +0000)]
* tests/lt_dladvise.at, tests/lt_dlexit.at,
tests/need_lib_prefix.at: Skip these tests when called from
`make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install'.
The tests try to link against the dummy installed libltdl.la
from .../_inst/lib/libltdl.la, which does not exist when
configured with --disable-ltdl-install.
Gary V. Vaughan [Fri, 29 Feb 2008 21:33:22 +0000 (21:33 +0000)]
* libltdl/m4/argz.m4 (AC_CHECK_FUNCS): Also use our replacement
argz if the system argz_add or argz_count are missing.
Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
Ralf Wildenhues [Fri, 8 Feb 2008 06:55:07 +0000 (06:55 +0000)]
* tests/archive-in-archive.at
(static library contains static library): Test also the actual
broken link command, and the following install command, as
UnixWare ar rightly refuses to put an archive into an archive.
Report by Tim Rice.
Ralf Wildenhues [Fri, 1 Feb 2008 19:06:42 +0000 (19:06 +0000)]
* tests/testsuite.at (LT_AT_TAG): For the CXX tag, if $CXX is
g++, check that `g++ -v' works; AC_PROG_CXX may have set that
as default value even if it found no C++ compiler.
Report by Andreas Schwab.
Gary V. Vaughan [Fri, 1 Feb 2008 19:03:56 +0000 (19:03 +0000)]
* libltdl/Makefile.inc (EXTRA_DIST): Now that we're not using
Autoconf's AC_SOURCES macro, Automake can't trace our extra
source files argz, lt__dirent.c and lt__strl.c. List them
manually here to make sure they are distributed.
* NEWS: Updated.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
Gary V. Vaughan [Thu, 31 Jan 2008 16:21:19 +0000 (16:21 +0000)]
GNU Libtool 2.1b was released.
* configure.ac (AC_INIT): Bump version number to 2.1b.
* libltdl/Makefile.inc (LTDL_VERSION_INFO): Increment to account
for new interfaces since the last libltdl update.
* HACKING (Release Procedure): Note that LTDL_VERSION_INFO is now
kept in libltdl/Makefile.inc.
Gary V. Vaughan [Thu, 31 Jan 2008 16:19:18 +0000 (16:19 +0000)]
* tests/cdemo, tests/depdemo, tests/fcdemo, tests/pdemo,
tests/demo, tests/f77demo, tests/mdemo, tests/tagdemo
(distclean-local): Remove compiler file droppings left by
Autoconf tests that prevent make dist from finishing on
several machines including Mac OS 10.5.
Gary V. Vaughan [Thu, 31 Jan 2008 16:17:06 +0000 (16:17 +0000)]
Unfortunately, the autoconf implementation of AC_LIBOBJ and
friends requires all libobjs to be in the same directory, as
declared by AC_CONFIG_LIBOBJ_DIR. That might prevent using
either recursive or nonrecursive libltdl if the parent project
has libobjs of its own, except that this patch tracks libltdl's
libobjs in another namespace:
* libltdl/m4/ltdl.m4 (_LT_LIBOBJ, _LT_LIBSOURCES): Versions of
AC_LIBOBJ and AC_LIBSOURCES that save missing sources in a
ltdl_LIBOBJS automake macro, instead of the global LIBOBJS
automake macro. Content of the macros inspired by code from
gnulib-tool.
(_LTDL_MODE_DISPATCH): Initialise lt_libobj_prefix in
nonrecursive mode.
(LTDL_INIT): Push and pop the new definitions around potential
sites that call AC_LIBOBJ. Also, using lt_libobj_prefix,
initialise ltdl_LIBOBJS and ltdl_LTLIBOBJS.
* libtoolize.m4sh (func_fixup_Makefile): Substitute ltdl_LIBOBJS
and ltdl_LTLIBOBJS for LIBOBJS and LTLIBOBJS during copying
either Makefile.am or Makefile.inc, depending on ltdl_mode.
Reported by Eric Blake <ebb9@byu.net>
Gary V. Vaughan [Thu, 31 Jan 2008 16:14:09 +0000 (16:14 +0000)]
There are 5 distinct batches of files that libtoolize might
install into a project, depending on whether libltdl is
being installed in subproject mode, and in that case whether
the parent project shares the config and macro directories
with the subproject ltdl. Make a separate function for each
of those 5 batches (4 new functions below, plus the recently
factored func_install_pkgltdl_files), and make a clearer
distinction between when each of them is needed:
* libtoolize.m4sh (func_install_pkgmacro_subproject):
New function for installing and reporting on m4 files copied
to a subproject ltdl directory.
(func_install_pkgmacro_parent): Similar new function for m4
files copied solely for the use of the parent project,
including serial checking.
(func_install_pkgconfig_subproject): New function for
installing and reporting on config helper files copied to a
subproject ltdl directory.
(func_install_pkgconfig_parent): Similar new function for
config helper files copied solely for the use of the parent
project, including serial checking.
(func_install_pkgmacro_files, func_install_pkgconfig_files):
Rewritten in terms of the above functions.
* tests/libtoolize.at: Adjust test expout's to match newly
regularized libtoolize output.
Move parent project pkgconfig files to build-aux directory
so that progress messages show an obvious difference to
pkgconfig files installed to subproject `config' directory.
(nonrecursive ltdl with AC_CONFIG_MACRO_DIR): New test.
(diagnose missing LT_CONFIG_LTDL_DIR): New test.
(subproject ltdl with non-shared directories): New test.
Reported by Eric Blake <ebb9@byu.net>
Peter O'Gorman [Mon, 28 Jan 2008 15:49:46 +0000 (15:49 +0000)]
Search the compiler path too.
* libltdl/m4/libtool.m4 (compiler_lib_search_dirs): New variable.
* libltdl/config/ltmain.m4sh: Use it.
Reported by Maynard Johnson
Gary V. Vaughan [Mon, 28 Jan 2008 05:39:26 +0000 (05:39 +0000)]
* libtoolize.m4sh: Set opt_ltdl whenever seen_ltdl is set
so that libtoolize behaves as though --ltdl was passed even
if it wasn't as long as LTDL_INIT (or equivalent) was seen
in configure.ac. Adjust redundant '$opt_ltdl || $seen_ltdl'
to simply '$opt_ltdl'.
Reported by Eric Blake <ebb9@byu.net>
Gary V. Vaughan [Mon, 28 Jan 2008 05:04:51 +0000 (05:04 +0000)]
* libtoolize.m4sh (func_scan_files): Be sure to set the
default libltdl mode to 'subproject' when libtoolize is
executed before configure.ac has been updated.
Gary V. Vaughan [Sun, 27 Jan 2008 16:35:36 +0000 (16:35 +0000)]
* libtoolize.m4sh (func_install_pkgconfig_files)
(func_install_pkgmacro_files, func_install_pkgltdl_files):
Factored out from the 'Main' section of the file.
Gary V. Vaughan [Sun, 27 Jan 2008 15:44:04 +0000 (15:44 +0000)]
* libtoolize.m4sh (subproject_auxdir, subproject_macrodir):
New variables to hold the default locations for auxfiles
and macrofiles in a subproject libltdl.
(ac_auxdir, ac_macrodir): New variables to hold the values
passed by AC_CONFIG_AUX_DIR and AC_CONFIG_MACRO_DIR resp.
(auxdir, macrodir): Adjust to contain the values to be
used by libtoolize at runtime.
Gary V. Vaughan [Sat, 26 Jan 2008 06:23:10 +0000 (06:23 +0000)]
* libtoolize.m4sh (Main): Copy (or link) libltdl sources
into project tree when LTDL_INIT was seen, whether or not
`--ltdl' is passed.
(func_check_macros): Recommend LTDL_INIT instead of
LT_WITH_LTDL when `--ltdl' is used before configure.ac is
upgraded.
* tests/libtoolize.at: Test that it works.
(_LT_AT_LTDL_SETUP): Factor out some common test setup.
Reported by Eric Blake <ebb9@byu.net>
Peter O'Gorman [Thu, 24 Jan 2008 06:55:36 +0000 (06:55 +0000)]
* libltdl/m4/libtool.m4 (sys_lib_search_path_spec,
sys_lib_dlsearch_path_spec): Allow for a cache variable
lt_cv_sys_lib_... to set these at configure time.
* doc/notes.texi: Short note about the above change.
Ralf Wildenhues [Thu, 17 Jan 2008 05:36:21 +0000 (05:36 +0000)]
* libtoolize.m4sh (func_scan_files): Avoid matching our own
macro code when scanning configure.ac and aclocal.m4.
Don't produce spurious output if AC_PROG_RANLIB is found.
* tests/old-m4-iface.at (AM_PROG_LIBTOOL): Add a (weak) check
that we don't match our own macro code when searching for user
code calling us.
* TODO: Updated.
Ralf Wildenhues [Thu, 17 Jan 2008 05:32:42 +0000 (05:32 +0000)]
New variable LTDLDEPS for use in output_DEPENDENCIES.
* libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE, _LTDL_INSTALLABLE)
(LTDL_INIT): Set and substitute LTDLDEPS according to chosen
method.
* tests/configure-iface.at (installable libltdl)
(--with-ltdl-include/lib, --with-included-ltdl): Test it.
* doc/libtool.texi (Distributing libltdl): Document LTDLDEPS.
* NEWS: Updated.
Dependency bug exposed by Eric Blake in M4, found by Bob Proulx
build daemon.
Ralf Wildenhues [Thu, 17 Jan 2008 04:47:41 +0000 (04:47 +0000)]
* doc/libtool.texi (Distributing libltdl): Clarify that
LTDL_INIT goes after LT_INIT; also show the latter in the
respective examples.
* tests/subproject.at: Adjust order.
Ralf Wildenhues [Mon, 14 Jan 2008 22:06:00 +0000 (22:06 +0000)]
Silence all non-warning output from `libtool --silent'.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms)
(func_extract_archives, func_mode_link): Use func_verbose
instead of func_echo for all non-warning output.
Ralf Wildenhues [Sat, 12 Jan 2008 17:00:51 +0000 (17:00 +0000)]
* libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define
LTDL_DLOPEN_SELF_WORKS, depending upon lt_cv_dlopen_self.
* libltdl/loaders/dlopen.c (vm_open) [!LTDL_DLOPEN_SELF_WORKS]:
Fail for dlopen(NULL), so that the preopen loader is used. This
fixes mdemo-exec.test failures on AIX where dlopen(NULL)
succeeds but dlsym resolves no symbol.
* NEWS: Update.
Report by Rainer Tammer.
Ralf Wildenhues [Sat, 12 Jan 2008 13:58:14 +0000 (13:58 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link): Fix warning
about -l and -L for archives and objects as output, to not
trigger for *.la files. Non-convenience archives are diagnosed
Ralf Wildenhues [Sat, 12 Jan 2008 11:25:03 +0000 (11:25 +0000)]
* tests/configure-iface.at: Ensure LTDLINCL is expanded
before CPPFLAGS, so that even CPPFLAGS=-I/usr/local/include
won't make the tests prefer an installed ltdl.h over the
in-package one.
Report by Bob Friesenhahn.
Ralf Wildenhues [Fri, 11 Jan 2008 19:15:08 +0000 (19:15 +0000)]
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) <exclude_expsyms>:
Also exclude `_GLOBAL__F[ID]_.*'. Also set for the C++ tag.
Fixes esp. demo/helldl build failure with GCC on AIX.
Report by Rainer Tammer.
Peter O'Gorman [Fri, 11 Jan 2008 07:08:28 +0000 (07:08 +0000)]
* libltdl/m4/libtool.m4 [darwin]: Reorganize darwin support, use
dsymutil if it is available so that debugging is possible, check
for nmedit and dsymutil with AC_CHECK_TOOL, use the linker flag
-exported_symbols_list in preference to nmedit if it is available.
Drop support for xlc, it is probably broken.
* tests/template.at [darwin]: Skip this test, I can not find a way
to make it work on darwin9 with Xcode-3.0.
* NEWS: Note the dropping of xlc support.
Gary V. Vaughan [Tue, 8 Jan 2008 06:48:49 +0000 (06:48 +0000)]
* tests/configure-iface.at: Build libltdl in a subdir so that
it can be easily removed without trying to remove config.log
on windows (which can't delete a file until it is closed).
Gary V. Vaughan [Tue, 8 Jan 2008 05:21:49 +0000 (05:21 +0000)]
* libltdl/m4/ltdl.m4 (LTDL_INSTALLABLE): Use _LT_BUILD_PREFIX
instead of ${top_builddir} for Autoconf-2.62.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Gary V. Vaughan [Tue, 8 Jan 2008 05:07:41 +0000 (05:07 +0000)]
* tests/configure-iface.at, tests/nonrecursive.at,
tests/recursive.at, tests/subproject.at (_LTDL_SETUP):
Renamed to _LT_AT_LTDL_SETUP to avoid a nameclash with
libltdl/m4/ltoptions.m4:_LTDL_SETUP from yesterday's patch.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Gary V. Vaughan [Sun, 6 Jan 2008 16:33:31 +0000 (16:33 +0000)]
Move libltdl build mode options from LT_CONFIG_LTDL_DIR to
LTDL_INIT. Accept (optional) new 'convenience' and 'installable'
options in lieu of LTDL_CONVENIENCE and LTDL_INSTALL macros. And
also, implement --with-included-ltdl, --with-ltdl-lib and
--with-ltdl-include configure-time options:
* libltdl/m4/ltoptions.m4: Associate existing option settings with
LT_INIT.
(LT_OPTION_DEFINE): Associate options 'nonrecursive', 'recursive',
'subproject', 'installable' and 'convenience' with LTDL_INIT.
(_LT_MANGLE_OPTION, _LT_SET_OPTION, _LT_IF_OPTION)
(_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Add MACRO-NAME argument to
support options to named macros instead of hardcoding only LT_INIT
options.
* libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE): Factor common code from
LTDL_CONVENIENCE and LTDL_INIT([convenience]).
(_LTDL_INSTALLABLE): Factor out common code from LTDL_INSTALLABLE
and LTDL_INIT([installable]).
(_LTDL_SETUP): Renamed from LTDL_INIT. Support new configure-time
options: --with-included-ltdl, --with-ltdl-lib,
--with-ltdl-include.
(LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust.
(LT_WITH_LTDL): Removed.
(LTDL_INIT): Parse caller options.
* libltdl/m4/libtool.m4 (LT_INIT): Declare that this macro must be
expanded before LTDL_INIT, and be sure to parse caller options.
* configure.ac: Call directly into internal _LTDL_SETUP macro.
* libtoolize.m4sh (func_scan_files): Ltdl mode argument moved from
LT_CONFIG_LTDL_DIR to LT_INIT.
* tests/nonrecursive.at, tests/recursive.at: Use new interfaces.
* tests/configure-iface.at: Test it.
* Makefile.am (TESTSUITE_AT): Add configure-iface.at.
* doc/libtool.texi (Distributing libltdl): Document improved.
LTDL_INIT interfaces.
* NEWS: Updated.
Ralf Wildenhues [Wed, 2 Jan 2008 19:35:56 +0000 (19:35 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link): When creating
reloadable object files, avoid issuing plain `rm -f' without
further arguments, even if the line length limit is ridiculously
low as in the `Run tests with low max_cmd_len' test. This
failure is exposed on NetBSD.
Report by Patrick Welche.
Ralf Wildenhues [Mon, 26 Nov 2007 21:42:51 +0000 (21:42 +0000)]
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: The IBM
XL 8.0 C++ compiler may also be called xlc++*, not only xlC*.
Report by Nysal K Jan <jnysal@in.ibm.com>.
Ralf Wildenhues [Sat, 24 Nov 2007 08:02:21 +0000 (08:02 +0000)]
* libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): New macro.
Warn about whitespace in the absolute build tree name.
(LT_INIT): Use it.
* THANKS: Update.
Report by Jim Meyering.