Ralf Wildenhues [Fri, 16 Dec 2005 16:15:32 +0000 (16:15 +0000)]
* tests/testsuite.at (PREPARE_TESTS): New variable `tst_dist',
default to empty.
* tests/nonrecursive.at, tests/recursive.at,
tests/standalone.at, tests/subproject.at: Use it in
LT_AT_BOOTSTRAP or LT_AT_MAKE, so that you can optionally test
redistribution within the tests.
Ralf Wildenhues [Fri, 16 Dec 2005 16:02:43 +0000 (16:02 +0000)]
* libltdl/m4/lt~obsolete.m4: Update documentation for aclocal
versions before 1.7. Change all macros to use AC_DEFUN instead
of AU_DEFUN.
* (_AC_PROG_LIBTOOL, AC_LIBTOOL_SETUP, _LT_AC_CHECK_DLFCN)
(AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_TAGCONFIG)
(AC_DISABLE_FAST_INSTALL, _LT_AC_LANG_CXX, _LT_AC_LANG_F77)
(_LT_AC_LANG_GCJ, AC_LIBTOOL_RC, AC_LIBTOOL_LANG_C_CONFIG)
(_LT_AC_LANG_C_CONFIG, AC_LIBTOOL_LANG_CXX_CONFIG)
(_LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_LANG_F77_CONFIG)
(_LT_AC_LANG_F77_CONFIG, AC_LIBTOOL_LANG_GCJ_CONFIG)
(_LT_AC_LANG_GCJ_CONFIG, AC_LIBTOOL_LANG_RC_CONFIG)
(_LT_AC_LANG_RC_CONFIG, AC_LIBTOOL_CONFIG)
(_LT_AC_FILE_LTDLL_C): Add new fake macros for these, they
were used at one time in libtool.m4.
Ralf Wildenhues [Fri, 16 Dec 2005 15:57:22 +0000 (15:57 +0000)]
* tests/am-subdir.at (Makefile.am): Put automake options here,
in AUTOMAKE_OPTIONS. Require 1.6 because of the newer
`AC_INIT(pkgname,version) AM_INIT_AUTOMAKE' scheme.
* tests/nonrecursive.at, tests/recursive.at: Require 1.7,
because libltdl rules use `+=' in conditionals.
* tests/testsuite.at (LT_AT_AUTOMAKE): Fix indenting.
(LT_AT_AUTORECONF): also detect too old Automake.
Peter O'Gorman [Thu, 8 Dec 2005 04:17:02 +0000 (04:17 +0000)]
* libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_LINKER_SHLIBS)
[darwin]: Use $LTCC $LTCFLAGS to check for -single_module.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 7 Dec 2005 20:46:54 +0000 (20:46 +0000)]
* bootstrap: always remove Makefile, to avoid triggering the
autotools rebuild rules before autoreconf builds these.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>.
Peter O'Gorman [Wed, 7 Dec 2005 13:23:14 +0000 (13:23 +0000)]
* libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 [darwin]:
Use -single_module by default when linking shared libraries. Can
be overridden by specifying -multi-module or by setting the env
var LT_MULTI_MODULE before configure.
* libltdl/m4/libtool.m4 (archive_expsyms_cmds) [darwin]:
Simplify.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sun, 4 Dec 2005 14:48:09 +0000 (14:48 +0000)]
* Makefile.am (install-data-local): No continuation here.
(dist-hook): Fix copying of README.alpha to README.
* tests/early-libtool.at (configure.ac): Remove
`AM_INIT_AUTOMAKE', we do not use automake in these tests.
Ralf Wildenhues [Sun, 4 Dec 2005 14:34:03 +0000 (14:34 +0000)]
* libtoolize.m4sh (func_copy_cb, func_copy_some_files)
(func_serial_update, func_keyword_update): Fail immediately
if some file we may install does not exist.
Reported by Troy Benjegerdes <hozer@hozed.org>.
Ralf Wildenhues [Sat, 3 Dec 2005 08:49:48 +0000 (08:49 +0000)]
* libtoolize.m4sh (func_fixup_Makefile_inc): New function.
(main): Call it in nonrecursive mode to mangle Makefile.inc.
* tests/nonrecursive.at: adjusted to test this.
Ralf Wildenhues [Sat, 3 Dec 2005 08:33:48 +0000 (08:33 +0000)]
* libltdl/config/general.m4sh (func_show_eval):
Rewrite use the failure expression, because the exit status of
the previous command may not be preserved in the next `eval' by
some shells, such as pdksh.
* libltdl/config/ltmain.m4sh (func_extract_an_archive):
Use func_show_eval correctly.
(func_mode_link): Likewise. Also, do not use `$status'.
* tests/fail.at: New set of tests to ensure libtool fails.
* Makefile.am, tests/testsuite.at: Adjusted.
Ralf Wildenhues [Fri, 25 Nov 2005 18:54:08 +0000 (18:54 +0000)]
* libltdl/Makefile.inc (libltdl/argz.h): Create libltdl
directory if it does not exist yet. Take care that munging
of the file will not mess up the build rule.
Reported by Peter O'Gorman <peter@pogma.com>.
Eric Blake [Fri, 25 Nov 2005 18:44:43 +0000 (18:44 +0000)]
* libltdl/loaders/loadlibrary.c (iface_id): New variable.
(get_vtable): Get an `iface_id' from `lt_dlinterface_register'.
(get_vtable): Rewrite to catch up with lt_dlhandle_iterate
interface change. Append dot only after w32 path conversion
so it works on cygwin managed mounts.
Ralf Wildenhues [Fri, 25 Nov 2005 18:17:49 +0000 (18:17 +0000)]
* libltdl/m4/libtool.m4 [aix] <archive_expsym_cmds>
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Always move -bnoentry
before $compiler_flags, so it can be overridden.
Ralf Wildenhues [Fri, 18 Nov 2005 17:37:40 +0000 (17:37 +0000)]
* libtoolize.m4sh (func_copy_all_files)
(func_massage_aclocal_DATA, func_massage_pkgltdl_files)
(func_massage_pkgconfig_files): Work around ksh limitation.
Reported by Thorsten Glaser <tg@66h.42h.de>.
Ralf Wildenhues [Mon, 14 Nov 2005 22:19:40 +0000 (22:19 +0000)]
Testsuite portability update round.
* tests/inherited_flags: skip when shared libs are disabled.
* tests/deplibs-ident.at [ aix ]: No unexpected failure here.
* tests/libtoolize.at: Fix for distcheck (readonly sources).
* tests/nonrecursive.at, tests/recursive.at, tests/subproject.at
(foo.c): Actually export a symbol, for AIX.
* tests/old-m4-iface.at: Use AC_LIBTOOL_DLOPEN, for AIX.
* tests/nonrecursive.at: Set foo_la_SOURCES, for automake-1.7.
* tests/subproject.at: Require automake-1.9, we use indirect
subdirs.
* tests/am-subdir.at: Move AT_KEYWORDS settings..
* tests/testsuite.at: ..here, in respective macros.
(LT_AT_AUTOMAKE): Skip if we detect failure due to old version.
(PREPARE_TESTS): Set autotool variables to `no' if not present.
(LT_AT_ACLOCAL, LT_AT_AUTOCONF, LT_AT_AUTOMAKE)
(LT_AT_AUTOHEADER, LT_AT_AUTORECONF): Use to XFAIL tests.
Reported by Tim Rice <tim@multitalents.net>.
(LT_AT_MAKE): Do not use `make -e'.
(_LTDL_PROJECT_FILES): Adjust sub-make call. Work around `make'
which does not set `MAKE' or `SHELL'. Fix for user-set
`CONFIG_SHELL'.
Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
Ralf Wildenhues [Mon, 14 Nov 2005 20:48:15 +0000 (20:48 +0000)]
* libltdl/m4/lt~obsolete.m4 (_LT_CC_BASENAME)
(_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE):
Added because they were added to branch-1-5 AC_DEFUNed.
* HACKING: Add note about lt~obsolete.m4.
Ralf Wildenhues [Mon, 14 Nov 2005 20:39:27 +0000 (20:39 +0000)]
* Makefile.am, libltdl/Makefile.inc (INSTALL_LTDL):
For nonrecursive mode, add to include_HEADERS as well.
* doc/libtool.texi (Invoking libtoolize, Distributing libltdl),
tests/nonrecursive.at: Adjusted, and removed TABS from .texi.
Ralf Wildenhues [Sat, 12 Nov 2005 10:41:09 +0000 (10:41 +0000)]
* libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF, _LT_COMPILER_PIC):
Make sure `$wl' is properly expanded for tests involving
`export_dynamic_flag_spec', `lt_prog_compiler_static'.
Gary V. Vaughan [Thu, 10 Nov 2005 17:51:37 +0000 (17:51 +0000)]
* tests/testsuite.ac (macrodir): Don't set it here...
* Makefile.am (BUILDCHECK_ENVIRONMENT, INSTALLCHECK_ENVIRONMENT):
...set it here to pick up files from the right place in context.
* tests/libtoolize.at, tests/old-m4-iface.at: Adjust.
* libtoolize.m4sh: Take tst_aclocaldir into account when running
inside the test harness.
Ralf Wildenhues [Wed, 9 Nov 2005 22:36:22 +0000 (22:36 +0000)]
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Also set pic_flag.
(_LT_LANG_CXX_CONFIG): Use $as_unset, not unset.
(_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG): Remove bogus
ld_shlibs tests.
Ralf Wildenhues [Wed, 9 Nov 2005 22:18:44 +0000 (22:18 +0000)]
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Move setting of
`variables_saved_for_relink'..
(_LT_SYS_DYNAMIC_LINKER): here, when both `shlibpath_var'
and `runpath_var' have been set.
Reported by Mike Frysinger <vapier@gentoo.org>.
Ralf Wildenhues [Wed, 9 Nov 2005 21:38:09 +0000 (21:38 +0000)]
* libltdl/Makefile.inc (AM_CPPFLAGS): Do not define
HAVE_CONFIG_H.
* libltdl/m4/ltdl.m4 (LTDL_INIT): Do not invoke
AC_CONFIG_HEADERS ourselves, we can build with or without now.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG) [ hpux10, hpux11 ]:
hardcode_libdir_flag_spec and hardcode_minus_L are the same for
hppa*64 and ia64*. Don't set
hardcode_libdir_flag_spec='-L$libdir' on ia64* because if you
specify +b and -L, +b overrides what is set into DT_RPATH.
Gary V. Vaughan [Mon, 7 Nov 2005 15:37:11 +0000 (15:37 +0000)]
* tests/testsuite.at (_LTDL_PROJECT_FILES): Factored out from
common code to build a basic libltdl using project.
* tests/old-m4-iface.at, tests/standalone.at, tests/subproject.at:
Use it.
Gary V. Vaughan [Mon, 7 Nov 2005 14:18:15 +0000 (14:18 +0000)]
Support 'recursive' mode for building libltdl: Automake will
recursively descend into the libltdl directory, and use libltdl's
Makefile.am code to build libltdl:
* ltdl.m4 (LT_CONFIG_LTDL_DIR): Don't barf on 'recursive' mode
for 2nd argument.
(_LTDL_MODE_DISPATCH): Handle recursive mode.
Gary V. Vaughan [Mon, 7 Nov 2005 14:16:15 +0000 (14:16 +0000)]
* tests/recursive.at: New tests for libltdl as a subdirectory,
configured and compiled from the toplevel project using a
recursive make..
* tests/testsuite.at: Use it.
* Makefile.am (TESTSUITE_AT): Depend on it.
Ralf Wildenhues [Sun, 6 Nov 2005 12:35:28 +0000 (12:35 +0000)]
* libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Revert
expansion of `$wl'.
(_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_GCJ_CONFIG):
Do not require LT_SYS_DLOPEN_SELF.
(_LT_LANG_C_CONFIG): Instead call it at the right time.
(_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG)
(_LT_LANG_GCJ_CONFIG): Do not call _LT_CMD_STRIPLIB.
Gary V. Vaughan [Wed, 2 Nov 2005 17:43:51 +0000 (17:43 +0000)]
* tests/nonrecursive.at: New tests for libltdl as a subdirectory,
configured and compiled from the toplevel project.
* tests/testsuite.at: Use it.
(LT_AT_AUTOHEADER): New macro.
* Makefile.am (TESTSUITE_AT): Depend on nonrecursive.at.
Ralf Wildenhues [Tue, 1 Nov 2005 16:24:10 +0000 (16:24 +0000)]
* libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Add `-64'
to $LD if necessary, to permit combining of several convenience
libs without any further objects added.
Reported by Brian Barrett <brbarret@open-mpi.org>.
Kean Johnston [Tue, 1 Nov 2005 16:08:48 +0000 (16:08 +0000)]
* libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Use
`lt_prog_compile_static', not `link_static_flag'. Expand `$wl'
so expansion of `export_dynamic_flag_spec' works.
(_LT_TRY_DLOPEN_SELF): Show dlerror() in case of failure.
(_LT_LINKER_SHLIBS) [ aix3 ]: Likewise.
(_LT_COMPILER_PIC) [ hpux* ]: Use `${wl}'.
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.