* tests/early-libtool.at: Pass $CPPFLAGS and $CFLAGS to
compiler when compiling for extra flags that might be
needed for ANSI-compliance, 64-bit, etc. The environment
we compile with should match the environment libtool was
compiled with.
Ralf Wildenhues [Thu, 18 May 2006 05:43:01 +0000 (05:43 +0000)]
Fix mode=compile time regression of CVS HEAD over branch-1-5.
* libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Rename to...
(_LT_CHECK_SHELL_FEATURES): ...this.
(_LT_SETUP): Adjust caller.
(_LT_CHECK_XSI_SHELL): New libtool variables `lt_unset',
`SP2NL', `NL2SP', to contain results from tests for unset,
taken from AS_BOURNE_COMPATIBLE, and ASCII vs EBCDIC, taken...
* libltdl/config/general.m4sh: ...from here, and used...
* libltdl/config/ltmain.m4sh: ...here everywhere now.
* (AS_SHELL_SANITIZE): Replace by faster, actually necessary
part of its expansion, taken from current Autoconf CVS. Do not
save and set all locale variables any more, but only LANG,
LC_ALL, LC_CTYPE, LC_COLLATE, LC_MESSAGES.
(func_mode_execute): Adjust.
* libltdl/m4/libtool.m4 (_LT_CONFIG): No need to unset CDPATH
here any more.
* libtoolize.m4sh: Compute `SP2NL' and `NL2SP' here, too.
* libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG,
_LT_LANG_FC_CONFIG) [ aix4*, aix5*, hpux10*, hpux11* ]:
Introduce a new variable, hardcode_direct_static, which
would ignore hardcode_direct=yes if the result would create a
static library dependency. Static library dependencies are
immune to $shlibpath_var.
* tests/link-order.at: Take hardcode_direct and
hardcode_direct_static into consideration when testing
link order.
Ralf Wildenhues [Wed, 17 May 2006 01:58:40 +0000 (01:58 +0000)]
Eliminate quadratic scaling in argument parsing loop, for
shells that understand `var+=value', such as Bash-3.1, or Zsh.
* libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Test whether
the shell understands `var+=value'.
(_LT_PROG_XSI_SHELLFNS): Define `func_append' based on this.
* config/ltmain.m4sh (func_mode_link): Use `func_append' for
compile_command, finalize_command, libtool_args, libobjs,
non_pic_objects.
Bruno Haible [Mon, 15 May 2006 16:40:43 +0000 (16:40 +0000)]
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ linux ]:
Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on
GNU/Linux.
* NEWS: Update.
Ralf Wildenhues [Mon, 15 May 2006 16:14:24 +0000 (16:14 +0000)]
* Makefile.am (check-local): Move `$(TESTS_ENVIRONMENT)' and
`$(BUILDCHECK_ENVIRONMENT)' to be arguments of `testsuite', so
that reruns will remember it; set enviroment variable
`CONFIG_SHELL' so the suite will know which shell it was started
with.
(installcheck-local): Likewise, for `$(TESTS_ENVIRONMENT)' and
`$(INSTALLCHECK_ENVIRONMENT)'.
* tests/testsuite.at (LT_AT_TAG): Do not set the compiler
variable here.
John Bowler [Sun, 14 May 2006 08:20:11 +0000 (08:20 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link): For version_type
`none', we still need to set `current', `age', and `revision',
so that our checks don't barf. The values won't be used later.
Apparently reported by several people, several times, for BeOS.
* NEWS, THANKS: Update.
Ralf Wildenhues [Sat, 13 May 2006 18:14:36 +0000 (18:14 +0000)]
* tests/fail.at: Use "test -x" if available, for testing of
executables; code modified from Autoconf's AS_EXECUTABLE_P.
Reported by Albert Chin <china@thewrittenword.com>.
* libltdl/config/ltmain.m4sh (func_write_libtool_object):
New function, factored out from..
(func_mode_compile): .. here. Call it to generate the libtool
object file (the `.lo' file) in one step.
Ralf Wildenhues [Tue, 28 Mar 2006 18:11:28 +0000 (18:11 +0000)]
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]:
Avoid warning when "parsing" `/etc/ld.so.conf' and empty
`/etc/ld.so.conf.d'.
Reported by Orion Poplawski <orion@cora.nwra.com>.
Ralf Wildenhues [Thu, 23 Mar 2006 22:39:41 +0000 (22:39 +0000)]
* libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [ freebsd ]
[ dragonfly ]: Set libltdl_cv_sys_dlopen_deplibs to yes.
Fixes excessive lt_dlopen times on these systems.
* NEWS, THANKS: Update.
Bug reported by Peter Jeremy <peterjeremy@optushome.com.au>,
patch by Joerg Sonnenberger <joerg@netbsd.org>.
Ralf Wildenhues [Fri, 17 Mar 2006 17:20:11 +0000 (17:20 +0000)]
* tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp [ hpux ] <aCC>:
The HPPA C++ compiler has namespace support but provides no
`std' namespace; just provide it with a dummy.
Ralf Wildenhues [Thu, 16 Mar 2006 20:47:54 +0000 (20:47 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link): Comment out the
code to remove uninstalled paths, as it is wrong here. Change
the wrong shell quoting that kept it from "working" before.
* THANKS: Updated.
Ralf Wildenhues [Thu, 16 Mar 2006 16:56:34 +0000 (16:56 +0000)]
* libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER)
[ freebsd, dragonfly ]: Fix 1.5.22 regression caused by too
strict $host_os match that stopped DragonFly from working.
* THANKS: Updated.
Reported by Jeremy C. Reed <reed@reedmedia.net>,
patch by Todd Vierling <tv@duh.org>.
Ralf Wildenhues [Mon, 20 Feb 2006 19:39:16 +0000 (19:39 +0000)]
* doc/libtool.texi (Tags): Mention `FC'.
(libtool script contents) <CC>: Specify more precisely as the
compiler of the current tag.
<LTCC, LTCFLAGS, build, build_alias, build_os, host_alias,
host_os, macro_version, macro_revision, max_cmd_len>:
Document these variables.
Ralf Wildenhues [Wed, 15 Feb 2006 09:33:47 +0000 (09:33 +0000)]
* libltdl/config/getopt.m4sh (func_help): Substitute `$host'.
* libltdl/config/ltmain.m4sh (help message): Use $host not
@host_triplet@, as the `@..@' substitution is done at bootstrap
time already.
Reported by Julien Lecomte <julien@famille-lecomte.net>.
Ralf Wildenhues [Wed, 15 Feb 2006 07:02:38 +0000 (07:02 +0000)]
* doc/libtool.texi (Implementation issues): Note that both
prefix and suffix of a library may differ.
(Using libtool, Creating object files, Linking libraries):
Remove last documentation traces of the age when `foo.lo' was
the PIC object file and not the `libtool object' text file.
(libtool script contents) <compiler_o_lo>: Remove description
of this variable. It was removed from libtool in 1.5 times.
Ralf Wildenhues [Mon, 13 Feb 2006 17:02:28 +0000 (17:02 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link) [ linux ]:
PGI: for `reload_cmds', we not only need to get rid of `$wl',
but also turn comma into space so $LD understands
whole_archive_flag_spec correctly.
Ralf Wildenhues [Mon, 13 Feb 2006 16:51:50 +0000 (16:51 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link) <shell wrapper>:
Add _AS_BOURNE_COMPATIBLE code from Autoconf, to fix issues
with zsh and other shells.
Reported by David Gómez Espinosa <david@pleyades.net>.
Ralf Wildenhues [Sun, 5 Feb 2006 17:06:39 +0000 (17:06 +0000)]
* tests/testsuite.at: Add new keyword `libtoolize' for tests
that exercise the `libtoolize' script that is generated at build
time.
* HACKING: Update testsuite mention, explain keywords.
Ralf Wildenhues [Sun, 5 Feb 2006 11:06:31 +0000 (11:06 +0000)]
* libltdl/config/ltmain.m4sh (extracted_archives)
(extracted_serial): New globals.
(func_extract_archives): Use them to rename extraction archives
for linking against multiple convenience libraries with the same
name.
* tests/duplicate_conv.at: New tests.
* Makefile.am: Adjusted.
Reported by Carlo Contavalli <ccontavalli@commedia.it>.
Ralf Wildenhues [Sun, 5 Feb 2006 10:24:42 +0000 (10:24 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link) < test_compile >:
Fix a couple of instances where `test .. -ne ..' would possibly
compare non-numbers. Clean up a bit.
Ralf Wildenhues [Sun, 5 Feb 2006 09:56:44 +0000 (09:56 +0000)]
* tests/convenience.at, tests/deplibs-ident.at: Add new keyword
`libtool' for tests that exercise the unmodified `libtool'
script that is generated at build time.
* tests/duplicate_members.at, tests/fail.at: Likewise.
* tests/inherited_flags.at, tests/link-order.at: Likewise.
* tests/stresstest.at, tests/template.at: Likewise.
Ralf Wildenhues [Fri, 3 Feb 2006 20:03:54 +0000 (20:03 +0000)]
* libltdl/m4/libtool.m4 [ solaris ] (_LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG) < whole_archive_flag_spec >:
Fix this once and for all, for both the SUN compiler suite
(cc/CC/f77/f90/f95) and GCC.
Reported by Yuri Pukhalsky <pooh@cryptopro.ru>.
Ralf Wildenhues [Fri, 3 Feb 2006 09:25:01 +0000 (09:25 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link): Fix logic for
adding run paths to also add paths for installed libtool
libraries in case `-static' is used.
Ralf Wildenhues [Wed, 1 Feb 2006 19:54:34 +0000 (19:54 +0000)]
* Makefile.am (TESTSUITE_AT): List testsuite files in the order
in which they are to be expanded in the suite.
(tests/TESTSUITE): Rebuild by passing all $(TESTSUITE_AT) files,
with their path suitably adjusted. This enables us to..
* tests/testsuite.at: ..get rid of their redundant mention here.
Ralf Wildenhues [Thu, 29 Dec 2005 17:46:09 +0000 (17:46 +0000)]
* Makefile.am (libtoolize): Also depend on `config.status'.
(tests/atconfig): Normalize path, for non-GNU make.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>.
Ralf Wildenhues [Thu, 29 Dec 2005 13:52:54 +0000 (13:52 +0000)]
* libltdl/lt_error.c (error_strings): Remove parentheses around
string literal initializers, uncovered by `tcc'.
Reported by Edward Chernenko <edwardspec@yahoo.com>.
Jacob Meuser [Sun, 18 Dec 2005 23:06:44 +0000 (23:06 +0000)]
* libltdl/config/ltmain.m4sh (func_mode_link): Move library
search paths that coincide with paths to not yet installed
libraries to the beginning of the library search list.
Kean Johnston [Sun, 18 Dec 2005 13:09:45 +0000 (13:09 +0000)]
* libltdl/m4/libtool.m4 (LT_PATH_NM): Also look in
/usr/ccs/bin/elf, for SCO. If we are not cross-compiling, but
$ac_tool_prefix is set, also try an un-prefixed `nm'.
Ralf Wildenhues [Fri, 16 Dec 2005 17:57:34 +0000 (17:57 +0000)]
* tests/old-m4-iface.at: Require Autoconf-2.50, so that
Debian's autoconf wrapper will not cause 2.13 to barf over
`--force'.
Reported by Kurt Roeckx <kurt@roeckx.be>.
Ralf Wildenhues [Fri, 16 Dec 2005 16:50:00 +0000 (16:50 +0000)]
* README.alpha (Reporting bugs): Suggest to also bootstrap the
libltdl subdirectory -- the Makefile will enforce it anyway.
(The Test Suite): Renamed to..
(The Test Suites): ..this. Introduce the new Autotest test
suite, how to run each one individually, and what to report.
* README (The Test Suite): Likewise.
Ralf Wildenhues [Fri, 16 Dec 2005 16:36:20 +0000 (16:36 +0000)]
In the subpackage case, we do not install Makefile.inc. Since
we have to be correct for this case, remove `Makefile.inc' from
EXTRA_DIST. Recursive mode does not use it either. Since
nonrecursive mode requires an Automake >= 1.7 anyway, and those
versions automatically distribute included makefile fragments,
we don't need to cater for that one either.
* libltdl/Makefile.inc (EXTRA_DIST): Remove Makefile.inc.
Reorder other entries.
Ralf Wildenhues [Fri, 16 Dec 2005 16:28:29 +0000 (16:28 +0000)]
* Makefile.am (libltdl/Makefile.in): also depend on
libltdl/aclocal.m4, so that we guarantee timestamp consistency.
(libltdl/stamp-mk): New target, to fix `libltdl/Makefile.in'.
(EXTRA_DIST): Distribute `libltdl/stamp-mk'.
(all-local): Ensure the stamp files is up to date.
(libltdl/aclocal.m4): New target, to ensure timestamp
consistency. Depend on all m4 files.
* HACKING: Updated.
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>.