Gary V. Vaughan [Tue, 1 Nov 2005 14:32:18 +0000 (14:32 +0000)]
* libltdl/m4/ltdl.m4 (LTDL_INIT): Call _LT_ENABLE_INSTALL directly
instead of m4_requiring it, as it relies on enable_ltdl_install
and enable_ltdl_convenience to have been initialised first.
Gary V. Vaughan [Tue, 1 Nov 2005 14:28:20 +0000 (14:28 +0000)]
* libtoolize.m4sh: Use serial tags to locate the correct serial
numbers when deciding whether to update.
(func_serial): Allow for macro_regex argument to be originating
file name.
(func_serial_update): Use NL2SP to flatten list of extracted
m4_include files.
* tests/libtoolize.at: More tests for old-style verbatim copying
of macros into aclocal.m4.
Howard Chu [Sat, 29 Oct 2005 14:21:02 +0000 (14:21 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link):
With `-static', only link statically against uninstalled
libtool libraries. Fixes 1.5.x regression to match documented
behavior.
* NEWS: Updated.
Gary V. Vaughan [Wed, 26 Oct 2005 14:21:01 +0000 (14:21 +0000)]
* libtoolize.m4sh: Put back the func_serial_update callback for
func_copy_some_files so that the testsuite passes again. We'll
have to find a better way of handling serial numbers in libtool
macro files.
Gary V. Vaughan [Wed, 26 Oct 2005 10:42:05 +0000 (10:42 +0000)]
* libltdl/Makefile.inc: New file, factored out of Makefile.am for
use in non-recursive libltdl installations.
* bootstrap: Adjust.
* Makefile.am: include it.
(libltdl/Makefile.am): Adjust to build from the new
libltdl/Makefile.inc.
(SUBDIR_LIBOBJS): Renamed from this...
(LTDL_SUBDIR_LIBOBJS): ...to this.
* configure.ac: Adjust.
* doc/libtool.texi (Invoking libtoolize): Document the new modes
and libtoolize option to select them.
* libtoolize.m4sh: Parse new options, --nonrecursive, --recursive
and --subproject. Install the appropriate files with --ltdl
according to the selected mode.
(func_scan_files): If --subproject, --recursive or --nonrecursive
options were not given, use the value from LT_CONFIG_LTDL_DIR; if
a mode was given, and there is also an argument to
LT_CONFIG_LTDL_DIR, ensure they are the same.
* NEWS: Updated.
Gary V. Vaughan [Wed, 26 Oct 2005 10:36:31 +0000 (10:36 +0000)]
* libtoolize.m4sh: Don't use func_serial_update as a copy
function for libtool m4 files with no macro_regex. If the
files are copied directly into aclocal.m4, because
AC_CONFIG_MACRO_DIR isn't set for example, there is no way
to tell what serial number goes with what source file.
(func_serial_update): For future-proofing, only make the second
serial number check if the destination file wasn't m4_included
into aclocal.m4 (and hence updated automatically by the cat of
copying a new version to the dest directory).
Gary V. Vaughan [Wed, 26 Oct 2005 10:31:51 +0000 (10:31 +0000)]
* libtoolize.m4sh: Copying just libtool.m4 for hand maintained
aclocal.m4 doesn't work. List all required files in that case,
using the files from installed libltdl if available. Also, list
the additional files required when using libltdl.
Reported by Patrick Welche <prlw1@newn.cam.ac.uk>.
Gary V. Vaughan [Wed, 26 Oct 2005 09:20:45 +0000 (09:20 +0000)]
* libtoolize.m4sh: Always copy pkgconfig_files for --ltdl, incase
ltdl needs additional things not found by automake when looking at
the parent project configury.
* tests/libtoolize.at: Adjust.
Gary V. Vaughan [Fri, 14 Oct 2005 10:43:45 +0000 (10:43 +0000)]
* tests/subproject.at (_LTDL_SETUP): Use pushdef/popdef to
simulate file-local scope. Empty source file compilation is not
portable, so add minimal code to generated foo.c file.
Ralf Wildenhues [Tue, 11 Oct 2005 16:51:50 +0000 (16:51 +0000)]
* tests/testsuite.at (LT_AT_AUTOMAKE): New macro.
* tests/subproject.at: Use it. Do not call `autoreconf' in
tests, since it will try to reconfigure `sub/ltdl', which
breaks `make check' during `distcheck' because of a readonly
source tree.
Gary V. Vaughan [Mon, 10 Oct 2005 17:20:10 +0000 (17:20 +0000)]
* libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Remove
AC_SUBST of LIBLTDL, LTDLINCL, and all mention of INCLTDL.
(LT_WITH_LTDL): Due to order constraints between LTDL_CONVENIENCE,
LTDL_INSTALLABLE, LT_WITH_LTDL & LTDL_INIT, we can safely AC_SUBST
LIBLTDL and LTDLINCL here. Also, remember to synch INCLTDL.
Ralf Wildenhues [Fri, 7 Oct 2005 08:52:10 +0000 (08:52 +0000)]
* configure.ac (abs_top_builddir, abs_top_srcdir): always
substitute.
* Makefile.am (BUILDCHECK_ENVIRONMENT)
(INSTALLCHECK_ENVIRONMENT): New macros. Set _lt_pkgdatadir,
LIBTOOL, LIBTOOLIZE accordingly, by using above, and
program_transform_name.
* tests/testsuite.at (TESTS_PREPARE): Do not set them anymore.
Set $unset.
(LT_AT_MAKE): Use to unset LIBTOOL and LIBTOOLIZE.
Gary V. Vaughan [Wed, 5 Oct 2005 15:02:54 +0000 (15:02 +0000)]
* tests/subproject.at: New tests for libltdl as a subproject with
its own configuration.
* tests/testsuite.at: Use it.
* Makefile.am (TESTSUITE_AT): Depend on it.
Ralf Wildenhues [Wed, 5 Oct 2005 08:58:19 +0000 (08:58 +0000)]
* Makefile.am (BUILDCHECK_ENVIRONMENT)
(INSTALLCHECK_ENVIRONMENT): New macros.
(check-local, installcheck-local): Use them.
* tests/testsuite.at (PREPARE_TESTS): Extract host_alias, ECHO.
Set configure_options appropriately.
(LT_AT_CONFIGURE, LT_AT_AUTORECONF, LT_AT_MAKE): New macros.
(LT_AT_BOOTSTRAP): Use them.
* tests/am-subdir.at, tests/early-libtool.at,
tests/old-m4-iface.at, tests/standalone.at: Likewise.
* tests/link-order.test: Do not extract ECHO any more.
Gary V. Vaughan [Mon, 3 Oct 2005 15:45:47 +0000 (15:45 +0000)]
* libltdl/m4/ltdl.m4: Bump serial as we are changing the
interface.
(LT_CONFIG_LTDL_DIR): New macro to centralise setting the
subdirectory used for libltdl.
(LTDL_CONVENIENCE): Continue backwards compatibility support for
declaring the libltdl source subdirectory with an argument, but
defer to LT_CONFIG_LTDL_DIR.
(AC_LIBLTDL_CONVENIENCE): Adjust to upgrade to the new style.
(LTDL_INSTALLABLE, AC_LIBLTDL_INSTALLABLE): Ditto.
(LTDL_INIT): lt_ltdl_dir is set by LT_CONFIG_LTDL_DIR now, and
even `./' needs trailing slashes trimming! If the user didn't
upgrade their configure.ac yet, call LT_CONFIG_LTDL_DIR for them.
* libtoolize.m4sh (func_scan_files): If --ltdl option is given
without a directory argument, use the value from
LT_CONFIG_LTDL_DIR; if the argument is given, and there is also a
value in LT_CONFIG_LTDL_DIR, ensure they are the same.
* libltdl/configure.ac: Use it.
* NEWS: Updated.
* tests/deplibs-ident.at: New file with XFAIL test to expose
wrong multiple listing of a deplib on the command line.
* Makefile.am, tests/testsuite.at: Updated.
Reported by Brian Barrett <brbarret@open-mpi.org>.
Gary V. Vaughan [Fri, 30 Sep 2005 01:13:38 +0000 (01:13 +0000)]
* tests/libtoolize.at: Add a new test to catch a regression I
almost introduced with respect to copying macro files when
AC_CONFIG_MACRO_DIR is shared with libltdl subproject.
Gary V. Vaughan [Fri, 30 Sep 2005 00:46:52 +0000 (00:46 +0000)]
* tests/old-m4-iface.at: Start of a new test series for m4
interface backwards compatibility.
* tests/testsuite.at: Use it.
(macrodir): Declare the location of uninstalled libtool m4 macros.
* Makefile.am (TESTSUITE_AT): Depend on it.
Peter Ekberg [Thu, 29 Sep 2005 16:59:43 +0000 (16:59 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link): Don't modify
user provided symbols file. Adjust removal of temporary files
and also remove temporary files used during symbols file
filtering.
Gary V. Vaughan [Tue, 27 Sep 2005 13:09:20 +0000 (13:09 +0000)]
* libtoolize.m4sh (func_scan_files): Support projects that have
upgraded libtool, but still use an old autoconf. When the libtool
macros are not copied (because of missing ACLOCAL_AMFLAGS and
AC_CONFIG_MACRO_DIR ), point them at the libtoolize master tree
for files to manually copy into acinclude.m4 or aclocal.m4.
Gary V. Vaughan [Tue, 27 Sep 2005 13:01:51 +0000 (13:01 +0000)]
* libltdl/lt_error.c (lt__last_error, lt__error_strings): The lt__
prefix is used to indicate internal symbols that are only exported
for use by other parts of libltdl. These are now static, so...
(last_error, error_strings): ...renamed to this. Changed all
callers.
Gary V. Vaughan [Tue, 27 Sep 2005 10:03:51 +0000 (10:03 +0000)]
* libltdl/ltdl.c (lt_dlcaller_register): Renamed to avoid problems
with module visibilty when linked with programs written for the
old API.
(lt_dlinterface_register): New name.
* Makefile.am (VERSION_INFO): Bumped.
* doc/libtool.texi (User defined module data): Updated.
Peter Ekberg [Sun, 25 Sep 2005 07:01:29 +0000 (07:01 +0000)]
* libltdl/libltdl/lt__private.h, libltdl/lt_error.c:
Don't export the lt__last_error and lt__error_strings
variables. Define lt__error_strings so that no relocations
are needed.
* libltdl/libltdl/lt__private.h (LT__STRERROR, LT__GETERROR)
(LT__SETERRORSTR): Adjust to not use the above variables,
instead use the following functions...
* libltdl/lt_error.c: (lt__error_string, lt__get_last_error)
(lt__set_last_error): Reimplement the functionality in
these functions instead.
* libltdl/libltdl/lt_error.h: Add LT_ERROR_LEN_MAX define for
max error string length.
(lt_dlerror_table): Append explicit nul terminators so that
compilers warn more reliably if the above define is too small.
Peter Ekberg [Thu, 22 Sep 2005 07:46:08 +0000 (07:46 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link): Filter
user supplied symfile to tag relevant symbols as data
symbols. Fixes segfault in stresstest.at on Cygwin and
makes the test pass.
Peter Ekberg [Thu, 22 Sep 2005 06:44:24 +0000 (06:44 +0000)]
* tests/link-order.test: Clean up the uninstalled libraries
before linking the test executables so that they don't pick
up the dlls from the current dir on Cygwin and MinGW.
Peter Ekberg [Thu, 22 Sep 2005 04:53:14 +0000 (04:53 +0000)]
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC)
(_LT_LINKER_SHLIBS): Require _LT_TAG_COMPILER to make sure that
$compiler is assigned. Fixes crippled configure output.
Peter Ekberg [Wed, 21 Sep 2005 12:32:43 +0000 (12:32 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_uninstall): Clean
up $dlname as well when cleaning a uninstalled libtool
library. Fixes -mode=clean on Cygwin and MinGW to actually
remove the dll when cleaning up an uninstalled library.
Peter Ekberg [Tue, 20 Sep 2005 12:12:23 +0000 (12:12 +0000)]
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG):
Split up --out-implib option for linker in separate args so that
the MSYS path translation can do its magic on the provided path
to the import library. Fixes problem in stresstest.at on MinGW.
* libltdl/m4/ltdl.m4 (LTDL_INIT) <CONFIG_H>: Rename to..
<LT_CONFIG_H>: this, to contain the name of the config
header.
* Makefile.am <DEFS>: Use it to define LT_CONFIG_H.
* HACKING, libltdl/argz.c, libltdl/lt__alloc.c,
libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h,
libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h:
Adjusted.
Peter Ekberg [Fri, 16 Sep 2005 08:33:24 +0000 (08:33 +0000)]
* tests/testsuite.at (LT_AT_EXEC_CHECK): Make sure
that the exit status of the tested program is
propagated as the exit status of the expression
fed to AT_CHECK.
* libltdl/ltdl.c (lt_argz_insert): Work around newlib
argz_insert bug.
* Makefile.am (VERSION_INFO): Bumped revision.
Reported by Eric Blake <ebb9@byu.net>.
Peter Ekberg [Tue, 13 Sep 2005 07:28:14 +0000 (07:28 +0000)]
* libltdl/config/ltmain.m4sh (func_generate_dlsyms):
Fix escape expression to actually escape relevant
characters from the following grep. Fix Cygwin and
MinGW to use the filtered symbol list when exporting
from self, and not the symbol filter.
* tests/stresstest.at: Export w8, not w8$
Make tagdemo work smoothly with both pre- and ISO C++ compilers,
and remove all use of libstdc from other tests.
* tests/tagdemo/configure.ac (HAVE_NAMESPACES, HAVE_IOSTREAM):
New tests for ISO C++ features. Reimplementation of similar
macros from the autoconf archive.
* tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp: Adjusted.
* tests/am-subdir.at, tests/template.at: Do not use iostream.
* libltdl/m4/ltdl.m4 (LT_WITH_LTDL, LTDL_CONVENIENCE)
(LTDL_INSTALLABLE): Use less quoting for expanded LIBLTDL,
LTDLINCL. Use m4_default instead of m4_if, to work
around AU_ALIAS bug with empty macro arguments.
(LTDL_INIT): Likewise.
* libltdl/m4/ltoptions.m4 (_LT_WITH_PIC): Likewise.
* TODO, HACKING: Updated.
* libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE)
(_LT_LINKER_BOILERPLATE, _LT_COMPILER_OPTION, _LT_LINKER_OPTION)
(_LT_COMPILER_C_O): When comparing expected and actual compiler/
linker output for warnings, weed out both empty lines as well as
lines starting with possibly indented `+', to allow for shell
debugging with `set -x'.
Check the weeded instead of unweeded contents for emptiness.
* libltdl/config/ltmain.m4sh (func_mode_link): Actually provide
a useful error message. Fixes long-standing shameful user
neglection.
Reported by Martin Paljak <martin.paljak@gmail.com>.
Peter Ekberg [Thu, 8 Sep 2005 08:25:35 +0000 (08:25 +0000)]
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]:
Symbols in "pick any" sections are not global. Use
awk, not sed, in the global_symbol_pipe so that keeping
track of sections is easier.
* doc/libtool.texi (libtool script contents): Update to hint
at new findings concerning "pick any" sections.
Charles Wilson [Thu, 8 Sep 2005 07:00:03 +0000 (07:00 +0000)]
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
[ cygwin, mingw, pw32 ]: Use --enable-auto-image-base instead of
a fixed image base address.
* libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ sysv4*uw2*,
sysv4.2uw2* ]: Fix my last checkin to really match the more special
case before the general case.
Reported by Stepan Kasal <kasal@ucw.cz>.
Roger Cornelius [Tue, 6 Sep 2005 08:18:10 +0000 (08:18 +0000)]
* libltdl/m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD)
[ sysv5OpenUNIX8, sysv5UnixWare7, sysv5uw[78], unixware7,
sysv4*uw2* ]: Match special cases before general case.
* Makefile.am (TESTS_ENVIRONMENT): Export SHELL.
* bootstrap (SHELL): Set to $CONFIG_SHELL or /bin/sh.
Name `make' targets in portable fashion. Work around `rm'
warnings. Unconditionally create fake `libtoolize'.
Reported by Patrick Welche <prlw1@newn.cam.ac.uk>.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ aix ]
<export_symbols_cmds>: Work around shell expansion issue in
func_show_eval by separating `$' and field number; drop then
unnecessary m4 quoting.