Commit Graph

2942 Commits

Author SHA1 Message Date
Eric Blake
fe9c6440a3 Fix bug in 2008-04-21 type improvements.
* libltdl/ltdl.c (load_deplibs): Fix casting bug.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-04-24 10:24:24 -06:00
Michael Haubenwallner
4f2021de12 Use /nonexistent as destination for files not to be installed.
* tests/darwin.at (darwin fat compile): Fix typo.
* tests/inherited_flags.at (inherited_linker_flags): Change
-rpath to /nonexistent.  This helps to avoid accidentally
picking up libraries below /usr/local.
* tests/template.at (simple template test): Likewise.  Fixes
test failure for additional incompatible libstdc++ in
/usr/local.
* tests/testsuite.at (configure_options): Add
--prefix=/nonexistent.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-23 23:48:46 +02:00
Gary V. Vaughan
08015bb3c9 * libtoolize.m4sh (rerun_aclocal): Remove unused variable.
Reported by Olly Betts <olly@survex.com>
2008-04-23 11:05:16 -04:00
Ralf Wildenhues
cbd4eca591 * tests/static.at (ccache -all-static): Ignore link warnings.
Report by Gary V. Vaughan.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-23 07:48:45 +02:00
Gary V. Vaughan
4d777f8223 Libtoolize now advises AC_CONFIG_MACRO_DIR use where appropriate.
* libtoolize.at (func_check_macros): Always advise use of
AC_CONFIG_MACRO_DIR when not able to copy libtool macros into
the project tree.
* tests/libtoolize.at: New test for correct diagnosis of mismatch
between AC_CONFIG_MACRO_DIR and ACLOCAL_AMFLAGS.
Update expected output of other tests.
* NEWS: Updated.
2008-04-22 23:18:56 -04:00
Gary V. Vaughan
8e72f358d8 Only complain that files are up-to-date with --force.
As a side effect, this also means that when `aclocal' copies the
libtool macros into `aclocal.m4' libtoolize complains only about
the macro files that are missing or not up-to-date.
* libtoolize.m4sh (func_echo_once): New function that prints
the contents of a named variable only on the first call.
(func_aclocal_update_check): New function that compares serial
numbers of libtool macros in aclocal.m4 and only diagnoses the
missing files.
(func_copy, func_copy_cb, func_copy_some_files, func_serial_update)
(func_keyword_update, func_ltmain_update, func_config_update)
(func_install_update): Accept a new argument naming a variable
containing a header string to print with func_echo_once iff any
body text is output by this function.
(func_install_pkgmacro_subproject, func_install_pkgmacro_parent)
(func_install_pkgltdl_files, func_install_pkgconfig_subproject)
(func_install_pkgconfig_parent: Set and pass a suitable
header string variable for the above functions.
(func_serial_update_check): Don't advise rerunning `libtoolize
--force' when aclocal.m4 is not m4_including libtoolize installed
macro files.
* tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Transform generic
/usr/local/share/aclocal paths to point into the uninstalled
libtool macro directory.
* tests/libtoolize.at: Update tests that were checking for old
behaviour of outputing `file is already up to date' even when
--force was not passed.
* tests/libtoolize.at: New tests to prevent regressions of these
smarter messages.
* NEWS: Updated.
Reported by Olly Betts <olly@survex.com>
2008-04-22 18:55:20 -04:00
Ralf Wildenhues
9c3ae35db6 Fix regression over 1.5.26 with ccache $CC -all-static.
* libltdl/config/ltmain.m4sh (func_mode_link): Add
$link_static_flag to compile_command and link_command only
later, instead of right after a possible compiler wrapper.
* tests/static.at (ccache -all-static): New test.
* THANKS: Update.
Report by Richard Purdie.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-22 21:43:06 +02:00
Andreas Schwab
9b00a3a6e7 Fix default argument for AC_LIBLTDL_CONVENIENCE.
* libltdl/m4/ltdl.m4 (AC_LIBLTDL_CONVENIENCE): Default argument
to libltdl.
(AC_LIBLTDL_INSTALLABLE): Likewise.
* tests/configure-iface.at (convenience libltdl): New test.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-22 21:32:32 +02:00
Gary V. Vaughan
6a30ffc8e4 Capture lt~obsolete.m4 serial number correctly in libtoolize.
* libltdl/m4/lt~obsolete.m4: Add the filename to the #serial
marker so that libtoolize's serial number checks can find it
in a non-include using aclocal.m4.
* NEWS: Updated.
Reported by Olly Betts <olly@survex.com>
2008-04-22 02:39:06 -04:00
Gary V. Vaughan
7b707dae15 Allow better compile time type checking for lt_dladvise.
* libltdl/lt__private.h (lt__handle, lt__advise): Typedefs
removed in favour of...
* libltdl/ltdl.h (lt_dlhandle),
libltdl/libltdl/lt_dlloader.h (lt_dladvise): ...changing from
void* to forward declarations.
* libltdl/loaders/dlopen.c, libltdl/loaders/loadlibrary.c,
libltdl/lt_dlloader.c, libltdl/ltdl.c: Remove many redundant
type casts.
* NEWS: Updated.
Suggested by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2008-04-22 02:37:52 -04:00
Peter O'Gorman
d9a4d8f71a basename does not take a list of strings.
* libltdl/config/ltmain.m4sh(func_extract_archives): Use sed
$basename.
* tests/darwin.at: New. Check that we can built fat program,
shared library and convenience library.
* Makefile.am: Add test.
Reported by LiKai Liu <liulk@cs.bu.edu>
2008-04-21 15:18:41 -05:00
Peter O'Gorman
39903a5836 Use AC_CHECK_TOOL for lipo too.
* libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check.
* libltdl/config/ltmain.m4sh (func_extract_archives): Use.
2008-04-21 10:21:27 -05:00
Gary V. Vaughan
314d795eab Fix misleading lt_dlopenadvise documentation.
* doc/libtool.texi (lt_dlopenadvise): The last parameter is of
type lt_dladvise, not lt_dladvise*.
(my_dlopenext): Correct the example too.
* NEWS: Updated.
Reported by Gary Kumfert <kumfert@llnl.gov>
2008-04-20 17:35:46 -04:00
Ralf Wildenhues
c8487807a6 Fix testsuite cleanup warnings on AIX with NFS.
* tests/testsuite.at [ aix ]: Set file mode creation so that
'others' have no permissions.  Shared libraries are kept in
memory on AIX after use if they are world-readable, which means
on NFS mounts cleanup of test group directories will fail later.
* THANKS: Update.
Report and analysis by Michael Haubenwallner.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-19 18:36:26 +02:00
Ralf Wildenhues
dd09ff4ec8 Fix nonportable use of expr.
* libltdl/config/ltmain.m4sh (func_mode_link) <Transforming
deplibs into only shared deplibs>: Fix expr portability issues,
noted on FreeBSD.  While at it, simplify and avoid forking.
Report by Bob Friesenhahn.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-19 18:27:41 +02:00
Ralf Wildenhues
da1e14c91c Exploit shell arithmetic expansion and ${#var}.
* libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also check
for arithmetic expansion, and ${#var}.
(_LT_PROG_XSI_SHELLFNS): Define func_arith and func_len
accordingly, falling back on 'expr'.  Note that the argument to
func_len may not start with a hyphen.  In the pre-Posix
fallback, take care not to rely on the exit status of the
variable assignment (not portable), but set the length to
$max_cmd_len instead.
* libltdl/config/ltmain.m4sh (func_mode_link): Use func_arith
and func_len throughout for integer arithmetic, fixing
quadratical amount of counting for reloadable object and
piecewise archive linking.  Change all comparisons with
max_cmd_len to test for smaller, non-equal length.
* THANKS: Update.
Suggested by Roland Mainz.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-19 18:24:48 +02:00
Ralf Wildenhues
3b98dabaa4 Avoid redundant rm in compile mode, fix locking.
* libltdl/config/ltmain.m4sh (func_mode_compile): Avoid
redundant removal of old output files before compilation.
Do not remove $obj until we have successfully grabbed the
lockfile (in case the compiler doesn't grok `-c -o'), because
it might be identical to $output_obj.
At the end of the function, before we remove the lockfile,
update $removelist so that if the trap hits after the lockfile
has been removed, we do not accidentally remove $output_obj that
does not belong to us.
(func_write_libtool_object): Use $MV instead of mv.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-19 00:01:12 +02:00
Andreas Schwab
1006ccc48c Properly emulate AC_ENABLE_SHARED([no]) and others.
* libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Check optional
argument.
(AC_ENABLE_STATIC): Likewise.
(AC_ENABLE_FAST_INSTALL): Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-04-18 23:45:43 +02:00
Eric Blake
4f1c4fc7d4 Make ChangeLog merges easier.
* .gitattributes: New file.
* HACKING: Mention how it helps.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-04-16 14:52:35 -06:00
Peter O'Gorman
3528106688 Allow bootstrap from git repository.
* Makefile.am: Pass srcdir as an argument to mkstamp and expect only 2 fields in mkstamps output.
* clcommit.m4sh: Ditto.
* configure.ac: Ditto.
* libltdl/config/mkstamp: return a revision and date based on the number of lines which look like dates in all the ChangeLog* files in the directory we got as arg 1.
2008-04-15 15:33:06 -05:00
Eric Blake
484680fe02 Fix usage of setmode without declaration on cygwin.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Ensure
setmode has prototype for both mingw and cygwin.
2008-04-11 17:21:55 +00:00
Ralf Wildenhues
f470f5557b * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Move non-XSI
definition of func_dirname_and_basename ...
* libltdl/config/general.m4sh (func_dirname_and_basename):
... here, to use it for the other scripts that use general.m4sh
(and as portable fallback for libtool).  Add marker for early
insertion of generated shell functions (into libtool, not the
other scripts) here.
Use func_dirname_and_basename to compute progname, progpath.
* libltdl/config/ltmain.m4sh (func_mode_help): Remove marker
for insertion of generated shell functions.
* tests/sh.test: Adjust function definition test to not match
function call.
2008-04-10 21:18:02 +00:00
Ralf Wildenhues
3a417017ce * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS) <func_xform>:
New function.
* libltdl/config/ltmain.m4sh (func_mode_compile): Use it to
avoid two forks with XSI shells.
* tests/suffix.test: Also test a file with multiple dots.
2008-04-10 21:01:54 +00:00
Peter O'Gorman
56a656a857 * libltdl/config/ltmain.m4sh (func_win32_libid,
func_generate_dlsyms, func_extract_an_archive,
func_extract_archives, func_mode_help): move these so they
appear after func_mode_compile.
* tests/nomode.test: Check that --mode=link --help works.
Reported by Josh Triplett <josh@freedesktop.org>
2008-04-10 17:43:39 +00:00
Gary V. Vaughan
a8872c0dbf * doc/libtool.texi (Libltdl interface): Add missing
documentation for lt_dlopenavise.
Reported by Anton Erti <anton@mips.complang.tuwien.ac.at>

Reported by Olly Betts <olly@survex.com>
2008-04-08 00:48:23 +00:00
Gary V. Vaughan
f2208eda1a * configure.ac, libltdl/configure.ac (AM_INIT_AUTOMAKE): Use
gnu rather than gnits standards so that version number 2.2.3a
is not rejected!
Repoted by Olly Betts  <olly@survex.com>
2008-04-07 14:20:16 +00:00
Gary V. Vaughan
1ba7a83cee * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.3a.
2008-04-02 01:09:08 +00:00
Gary V. Vaughan
724f29122c 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.
2008-04-01 23:32:02 +00:00
Gary V. Vaughan
904479faae * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4,
libltdl/m4/ltoptions.m4: Bump serial numbers to account for
changes since 2.2 release.
2008-04-01 18:23:20 +00:00
Peter O'Gorman
911b787e22 * 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.
2008-03-27 17:53:46 +00:00
Ralf Wildenhues
0f0145ee08 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.
2008-03-24 14:28:43 +00:00
Ralf Wildenhues
516b0da855 * 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.
2008-03-17 22:39:05 +00:00
Ralf Wildenhues
0bb5ecc8d7 * libltdl/config/ltmain.m4sh (NLS nuisances): Fix quoting of
localization variables for shell-active characters.
* tests/localization.at (localized compiler messages): Extend
test.
* THANKS: Update.
Report by Mike Frysinger.
2008-03-16 08:34:25 +00:00
Ralf Wildenhues
401c24caab * 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.
2008-03-15 22:06:56 +00:00
Ralf Wildenhues
c0d963ceec * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_WIN32_DLL): Require
AC_CANONICAL_HOST.
* THANKS: Update.
Report by Jakub Bogusz.
2008-03-15 22:01:31 +00:00
Ralf Wildenhues
11231d393e * NEWS: Update. 2008-03-14 06:18:07 +00:00
Charles Wilson
c2de89c609 * 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()
2008-03-13 04:46:08 +00:00
Henning Nielsen Lund
d09ae8ffdb * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [amigaos]: Port to
AmigaOS4 shared libraries on powerpc.
* libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [amigaos]:
Likewise.
* THANKS, NEWS: Update.
2008-03-12 19:48:25 +00:00
Bruno Haible
294465722d 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.
2008-03-09 14:12:10 +00:00
Ralf Wildenhues
1b8b9e3e5e 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.
2008-03-08 18:02:39 +00:00
Ralf Wildenhues
d84baeaee5 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.
2008-03-08 17:41:44 +00:00
Ralf Wildenhues
197c2c14a1 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.
2008-03-08 12:14:15 +00:00
Peter O'Gorman
8314993c63 * tests/convenience.at (Java convenience archives): Skip test if
gcj cannot compile a working executable from .java files.
Report by Nelson H. F. Beebe.
2008-03-07 08:07:50 +00:00
Peter O'Gorman
b04c7061f4 * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Need to set LD.
Reported by Nelson H. F. Beebe.
2008-03-07 06:42:36 +00:00
Peter O'Gorman
e9ebb750f5 * libltdl/m4/libtool.m4 (_LT_PROG_FC): Undo commit - bad idea. 2008-03-07 06:14:26 +00:00
Peter O'Gorman
3971a6b611 * 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.
2008-03-07 05:38:33 +00:00
Gary V. Vaughan
89aae42558 * 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.
2008-03-07 03:26:26 +00:00
Ralf Wildenhues
b92b13b9c5 * tests/convenience.at (Java convenience archives): Skip test if
gcj cannot compile a .java file.
Report by Nelson H. F. Beebe.
2008-03-06 19:59:25 +00:00
Ralf Wildenhues
54c180945e * 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.
2008-03-05 20:14:43 +00:00
Ralf Wildenhues
3280cb4b7c 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.
2008-03-04 22:31:33 +00:00
Ralf Wildenhues
8c7644ca3a * 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.
2008-03-04 21:25:48 +00:00
Ralf Wildenhues
016806fe90 * 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.
2008-03-04 21:14:22 +00:00
Ralf Wildenhues
68a4f765b6 * doc/libtool.texi (Module loaders for libltdl): Fix typo. 2008-03-04 21:07:36 +00:00
Ralf Wildenhues
216d6cb930 * libltdl/loaders/dld_link.c (vl_exit): New function, zero out ...
(vtable): ... this new file static variable split out from ...
(get_vtable): ... here.  Initialize vtable, register vl_exit as
dlloader_exit function.
* libltdl/loaders/dlopen.c: Likewise.
* libltdl/loaders/dyld.c: Likewise.
* libltdl/loaders/load_add_on.c: Likewise.
* libltdl/loaders/loadlibrary.c: Likewise.
* libltdl/loaders/shl_load.c: Likewise.
* libltdl/loaders/preopen.c: Likewise; vl_exit existed here
already.
* tests/lt_dlexit.at (lt_dlexit unloading libs): Update test.
* NEWS: Update.
Report by Andreas Schwab.
2008-03-04 21:00:19 +00:00
Gary V. Vaughan
a428937f0e * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.3a.
2008-03-02 02:19:19 +00:00
Gary V. Vaughan
9843ca8ed9 GNU Libtool 2.2 was released.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.
* NEWS: Updated.
2008-03-02 00:05:02 +00:00
Gary V. Vaughan
ec47998b3c * 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.
2008-03-01 22:43:04 +00:00
Gary V. Vaughan
50abf984fb * 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>.
2008-02-29 21:33:22 +00:00
Karl Berry
fa901264b3 * libltdl/argz.c (argz_add, argz_count): New functions.
* libltdl/argz_.h: Declare them.
Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
2008-02-26 22:18:03 +00:00
Peter O'Gorman
82e6dd805b * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Do not call the
_LT_SYS_DYNAMIC_LINKER macro here.
Reported by Mike Frysinger <vapier@gentoo.org>
2008-02-20 20:11:39 +00:00
Peter O'Gorman
21011b18f1 * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix typo.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better handling
of predefined values for lt_cv_sys_lib_search_path_spec and
2008-02-16 03:46:06 +00:00
Peter Breitenlohner
66894adae8 * libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better handling of
predefined values for lt_cv_sys_lib_search_path_spec and
lt_cv_sys_lib_dlsearch_path_spec.
2008-02-14 23:48:39 +00:00
Ralf Wildenhues
6637bfe8bb * libtoolize.m4sh (func_install_pkgconfig_files): Only call
func_install_pkgconfig_parent if $seen_autoconf.
* tests/standalone.at (compiling softlinked libltdl)
(compiling copied libltdl, installable libltdl)
(linking libltdl without autotools): Use checked libtoolize
calls to catch warnings.
2008-02-14 04:36:37 +00:00
Ralf Wildenhues
e957206e71 * libltdl/configure.ac: Bump package version.
* HACKING: Reminder to do it next time, too.
2008-02-13 22:09:40 +00:00
Ralf Wildenhues
01829399a3 * tests/mdemo/Makefile.am (@LIBLTDL@): Update outdated
dependencies.
($(top_distdir)/libltdl/libtool): Remove.
Fixes spurious mdemo-dryrun failure with OpenBSD make.
2008-02-11 21:51:43 +00:00
Ralf Wildenhues
319a767ce6 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <ifort>:
Treat like icc and ecc, for fixed `-Wl,' and `-KPIC' settings.
2008-02-09 07:14:35 +00:00
Ralf Wildenhues
5080eda548 * 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.
2008-02-08 06:55:07 +00:00
Peter O'Gorman
215212c9ce * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Only set default
LT_INIT values for LT_INIT, not LTDL_INIT.
Reported by Jochem Huhmann <joh@revier.com>
2008-02-06 19:53:01 +00:00
Ralf Wildenhues
de171d7b83 * 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.
2008-02-01 19:06:42 +00:00
Gary V. Vaughan
708a6423a9 * 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>
2008-02-01 19:03:56 +00:00
Gary V. Vaughan
7f0ad4aa7f * configure.ac (AC_INIT): Bump version number to 2.1c. 2008-01-31 16:24:30 +00:00
Gary V. Vaughan
0ab46c6f8f 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.
2008-01-31 16:21:19 +00:00
Gary V. Vaughan
7c319e20f4 * 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.
2008-01-31 16:19:18 +00:00
Gary V. Vaughan
e032959c82 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>
2008-01-31 16:17:06 +00:00
Gary V. Vaughan
d6570c64e5 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>
2008-01-31 16:14:09 +00:00
Peter O'Gorman
71821b098f * libltdl/m4/libtool.m4 [darwin]: Changes to glob pattern matching
to be safer.
2008-01-29 22:07:18 +00:00
Peter O'Gorman
bfb67e8ca7 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
2008-01-28 15:49:46 +00:00
Gary V. Vaughan
9d679019f7 * libtoolize.m4sh (func_check_macros): Correct typo with
'$opt_quiet ||' where '$opt_quiet &&' that was preventing
func_check_macros from running!
2008-01-28 07:34:25 +00:00
Gary V. Vaughan
ac41623041 * 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>
2008-01-28 05:39:26 +00:00
Gary V. Vaughan
46e503f185 * libtoolize.m4sh (func_check_macros): Check opt_quiet
in the function itself to simplify calling it.  Also move
the definition of the function.
2008-01-28 05:12:23 +00:00
Gary V. Vaughan
8d10890da5 * 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.
2008-01-28 05:04:51 +00:00
Gary V. Vaughan
0ade925948 * libtoolize.m4sh (func_install_pkgconfig_files)
(func_install_pkgmacro_files, func_install_pkgltdl_files):
Factored out from the 'Main' section of the file.
2008-01-27 16:35:36 +00:00
Gary V. Vaughan
34ebb0e4cb * 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.
2008-01-27 15:44:04 +00:00
Gary V. Vaughan
83e9d92589 * libtoolize (func_fixup_Makefile, func_massage_aclocal_DATA)
(func_massage_pkgltdl_files, func_massage_pkgconfig_files):
Add missing $opt_debug.
2008-01-27 07:13:04 +00:00
Gary V. Vaughan
57e5b9b815 * 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>
2008-01-26 06:23:10 +00:00
Peter O'Gorman
f29868dae9 * doc/notes.texi: Fix errors in previous commit. 2008-01-24 16:16:27 +00:00
Peter O'Gorman
8add91359a * 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.
2008-01-24 06:55:36 +00:00
Eric Blake
9f3505202c Add proper quoting to doc examples.
* doc/libtool.texi: Use m4 quotes where appropriate.
(Test descriptions): Fix truncated sentence.
2008-01-24 04:08:37 +00:00
Gary V. Vaughan
cba380cf3f * Makefile.am (DISTCLEANFILES): Remove libtool.dvi generated
by 'make dvi'.
2008-01-18 10:49:40 +00:00
Ralf Wildenhues
2e9a9f29e6 * 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.
2008-01-17 05:36:21 +00:00
Ralf Wildenhues
8652ce1ff3 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.
2008-01-17 05:32:42 +00:00
Ralf Wildenhues
7bd9372842 * doc/libtool.texi (Distributing libltdl): Clarify that
`${top_build_prefix}' may be used in place of `${top_builddir}/'.
2008-01-17 05:05:59 +00:00
Ralf Wildenhues
b74786b252 * 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.
2008-01-17 04:47:41 +00:00
Ralf Wildenhues
3afaae7d8e * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Use AM_CONDITIONAL
only if defined.  Allows to use libltdl without aclocal.
2008-01-16 18:35:05 +00:00
Peter O'Gorman
70cb76014d * libltdl/m4/libtool.m4: Set GCC var for every tag, avoids need
to set withGCC var.
2008-01-16 14:49:40 +00:00
Ralf Wildenhues
144b0ad768 * configure.ac: Set libltdl nonrecursive option, to avoid
configuring libltdl inside the Libtool package.
2008-01-15 06:23:16 +00:00
Ralf Wildenhues
5436459a6b 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.
2008-01-14 22:06:00 +00:00
Ralf Wildenhues
d5581bdd4b * Makefile.maint (fetch): Update to match upstream git sources.
Pull `INSTALL' from gnulib instead of from Autoconf.
2008-01-14 22:01:26 +00:00
Ralf Wildenhues
933e03ce10 * doc/notes.texi: Mention AIX binutils deficiency for C++ code.
Report by Rainer Tammer.
Suggest using bash for configure.
2008-01-14 21:34:19 +00:00
Ralf Wildenhues
1bf917f523 * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Fix to use
new _LT_SET_OPTION semantics.
2008-01-14 21:18:49 +00:00
Ralf Wildenhues
75142db4f8 * 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.
2008-01-12 17:00:51 +00:00
Ralf Wildenhues
12108ff510 * tests/am-subdir.at: Drop unused variables.
* tests/configure-iface.at: Likewise.
* tests/ctor.at: Likewise.
* tests/early-libtool.at: Likewise.
* tests/lt_dladvise.at: Likewise.
* tests/old-m4-iface.at: Likewise.
* tests/lt_dlexit.at: Likewise.  Also drop unused functions.
2008-01-12 14:07:02 +00:00
Ralf Wildenhues
19b4628888 * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Also copy needed
lt~obsolete.m4.
2008-01-12 14:00:57 +00:00
Ralf Wildenhues
75620b0cf7 * 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
2008-01-12 13:58:14 +00:00
Ralf Wildenhues
6773d15c4a Fix ChangeLog entry 2008-01-12 11:26:07 +00:00
Ralf Wildenhues
62b765b1c0 * 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.
2008-01-12 11:25:03 +00:00
Ralf Wildenhues
68ee62b70e * 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.
2008-01-11 19:15:08 +00:00
Peter O'Gorman
5717ea2a92 * 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.
2008-01-11 07:08:28 +00:00
Ralf Wildenhues
2962e8d935 * libltdl/m4/libtool.m4 (LT_INIT): m4_require, not AC_REQUIRE
_LT_CHECK_BUILDDIR, as it's m4_defun'ed, not AC_DEFUN'ed.
Report by Peter O'Gorman.
2008-01-08 19:43:29 +00:00
Ralf Wildenhues
34ad201833 * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE): Restore correct
_LT_BUILD_PREFIX-using code.
2008-01-08 19:39:19 +00:00
Gary V. Vaughan
24ca52570c * tests/recursive.at: Remove bogus --debug option.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-01-08 06:56:03 +00:00
Gary V. Vaughan
1b1af19929 * 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).
2008-01-08 06:48:49 +00:00
Gary V. Vaughan
943b1192ee * 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>
2008-01-08 05:21:49 +00:00
Gary V. Vaughan
22bffb97cf * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Correct closing
comment.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-01-08 05:16:08 +00:00
Gary V. Vaughan
80f87ebe9c * NEWS: Grammar nit. 2008-01-08 05:11:14 +00:00
Gary V. Vaughan
8e67083cff * 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>
2008-01-08 05:07:41 +00:00
Ralf Wildenhues
8ffd4adbf1 * tests/runpath-in-lalib.at (Runpath in libtool library files):
Compile program file without libtool.
Report by Rainer Tammer.
2008-01-07 21:26:55 +00:00
Rainer Tammer
ce38b28f44 Support AIX 6.1.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG)
(_LT_LANG_FC_CONFIG): Adjust case patterns to match AIX 6
through 9 as well.
* libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise.
* NEWS: Update.
* THANKS: Update.
2008-01-07 21:13:23 +00:00
Gary V. Vaughan
2ebff7eea0 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.
2008-01-06 16:33:31 +00:00
Ralf Wildenhues
920b97072f * 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.
2008-01-02 19:35:56 +00:00
Ralf Wildenhues
2141db5954 * Makefile.am (EXTRA_DIST): Add ChangeLog.2007.
* ChangeLog.2007: New, rotated, from...
* ChangeLog: ...here.
* NEWS, README, README.alpha, Makefile.am, libtoolize.m4sh,
libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh,
libltdl/m4/libtool.m4: Bump copyright years.
2008-01-02 18:52:08 +00:00
Stefan Sperling
76c6f64133 * doc/libtool.texi (Linking executables): Reorder paragraphs. 2007-11-30 04:18:40 +00:00
Ralf Wildenhues
93a9cf2f9a * 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>.
2007-11-26 21:42:51 +00:00
Ralf Wildenhues
9072c71a92 * 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.
2007-11-24 08:02:21 +00:00
Ralf Wildenhues
33b873b4ec * libltdl/config/ltmain.m4sh (func_extract_an_archive)
(func_extract_archives): Add some quoting.
2007-11-24 08:00:21 +00:00
Ralf Wildenhues
7c9e236905 Use `${top_build_prefix}' for better compatibility with non-GNU make.
* libltdl/m4/ltdl.m4 (_LT_BUILD_PREFIX): New macro.
If the Autoconf version used is >= 2.62, then expand to
`${top_build_prefix}', otherwise to `${top_builddir}/'.
(LTDL_CONVENIENCE, LTDL_INSTALLABLE): Use it for defining
LIBLTDL.  Fixes a build failure with AIX make in a package
using convenience libltdl in nonrecursive mode.
* doc/libtool.texi (Distributing libltdl): Document requirements
to define `top_build_prefix' if Automake is not used.
Report by Bob Friesenhahn.
2007-11-16 07:08:34 +00:00
Ralf Wildenhues
f4695bde76 Avoid warnings about conftest.dSYM directories on Mac OS X Leopard.
* libltdl/m4/libtool.m4 (_LT_LINKER_BOILERPLATE)
(_LT_LINKER_OPTION, _LT_CMD_GLOBAL_SYMBOLS): Remove
conftest.dSYM directory.
Report and analysis by Jeff Squyres and Peter O'Gorman.
2007-11-12 19:44:05 +00:00
Ralf Wildenhues
b575a0a3f9 * libltdl/configure.ac: Drop the broken and long-disabled code
to output a banner for the libltdl configure.  Avoids the need
to ship mkstamp with libltdl.
2007-11-09 06:47:15 +00:00
Ralf Wildenhues
f664fead41 * tests/runpath-in-lalib.at: New test.
* Makefile.am: Update.
Report by Benoit SIGOURE <tsuna@lrde.epita.fr>.
2007-11-08 21:38:27 +00:00
Eric Blake
e0c01e9892 Speed up bootstrap by improving lt_join.
* libltdl/m4/ltsugar.m4 (lt_join, _lt_join): Rewrite to mirror
Autoconf 2.62's faster implementation.
2007-10-16 22:45:49 +00:00
Eric Blake
f766edbeb9 Whitespace cleanup.
* libltdl/m4/ltsugar.m4: Avoid space-tab in indents.
* libltdl/m4/libtool.m4: Avoid trailing space.
2007-10-12 20:54:44 +00:00
Eric Blake
5b560bdf3f Deal with Autoconf 2.62's semantic change in m4_append.
* libltdl/m4/ltsugar.m4 (lt_append): Replace broken versions of
m4_append.
(lt_if_append_uniq): Don't require separator to be overquoted, and
avoid broken m4_append.
(lt_dict_add): Fix typo.
* libltdl/m4/libtool.m4 (_LT_DECL): Don't overquote separator.
2007-10-12 20:41:35 +00:00
Ralf Wildenhues
e886f1e796 * libltdl/config/ltmain.m4sh: Also sanitize `LANGUAGE'.
(func_mode_execute): Also restore `LANGUAGE', for old glibc.
Report by Paul Eggert against Autoconf.
2007-10-12 16:35:15 +00:00
Eric Blake
0189c20e44 * libltdl/.cvsignore: Ignore argz.h. 2007-10-12 02:48:56 +00:00
Ralf Wildenhues
34700eacf5 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC)
<lt_cv_prog_compiler_pic_works>: Renamed from
lt_prog_compiler_pic_works.
<lt_cv_prog_compiler_static_works>: Renamed from
lt_prog_compiler_static_works.
* NEWS: Update.
2007-10-11 17:23:33 +00:00
Ralf Wildenhues
257d1210cb * libltdl/config/ltmain.m4sh (func_mode_compile): Accept
extension `.sx'.
* tests/suffix.test: Test it.
2007-10-09 19:32:45 +00:00
Ralf Wildenhues
f5bb5e0e7a * libltdl/lt_dlloader.c (loader_callback, lt_dlloader_get): Use
NULL, not 0, for the benefit of too picky compilers like PGI.
* slist.c (slist_tail): Likewise.  Include stddef.h, for NULL.
Report by Jeff Squyres.
2007-09-07 02:44:57 +00:00
Eric Blake
22204a9ff8 * libltdl/ltdl.c (lt_dlcaller_get_data): Work even when no caller
has set data.
2007-09-05 14:48:54 +00:00
Ralf Wildenhues
6621aa6b9b * doc/libtool.texi (User defined module data)
<lt_dlinterface_register>: Document that a NULL place matches
all modules.
* libltdl/lt_dlloader.c (lt_dlloader_remove): Actually iterate
over all open modules when looking for modules that use it.
If a resident module is found, return but do not set the error
string.
* libltdl/ltdl.c (lt_dlexit): When removing dlloaders, ignore
errors that stem from earlier failed commands.  Exposed by the
lt_dladvise test.
Fixes regression over branch-1-5.
Memleak report as Coverity CID 19 via Jeff Squyres.
2007-09-04 18:01:33 +00:00
Ralf Wildenhues
e14f5d12ae * NEWS: Update. 2007-09-01 10:55:42 +00:00
Ralf Wildenhues
4fd2348691 * libltdl/ltdl.c (trim): Fix possible write beyond array bound. 2007-09-01 10:49:19 +00:00
Ralf Wildenhues
361ec0ead5 * libltdl/ltdl.c (lt_dlopenadvise): Instead of asserting, return
FILE_NOT_FOUND if the filename is "".
2007-09-01 10:43:28 +00:00
Ralf Wildenhues
86a2c620c8 * libltdl/ltdl.c (try_dlopen): Fix computation of extension,
avoids subtracting pointer from NULL pointer.
2007-09-01 10:42:34 +00:00
Ralf Wildenhues
8dbd989470 * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Do not test
array address of sys_dlsearch_path against NULL, rather test for
nonempty contents.
Coverity reports CID 148 and CID 149 via Jeff Squyres.
2007-09-01 08:13:20 +00:00
Ralf Wildenhues
fbbe0e88e4 * libltdl/ltdl.c (tryall_dlopen_module): Fix string length
computation: do not allocate more than needed.
2007-09-01 08:10:02 +00:00
Ralf Wildenhues
9b115eaaa6 * libltdl/loaders/preopen.c (vm_close): `module' is unused.
Coverity report CID 158 via Jeff Squyres.
2007-08-30 18:39:10 +00:00
Ralf Wildenhues
f7b428d2d9 * libltdl/ltdl.c (parse_dotla_file): If we run out of memory,
do not close the .la file twice.
Coverity report CID 440 via Jeff Squyres.
2007-08-30 18:23:24 +00:00
Ralf Wildenhues
56e12a2db6 * libltdl/ltdl.c (has_library_ext): Remove dead code.
Coverity report CID 561 against Open MPI via Jeff Squyres.
2007-08-30 18:18:31 +00:00
Ralf Wildenhues
208dd66070 * libltdl/slist.c (slist_remove): When a matching item is found,
break out of the loop to return the first match; also fixes
possible NULL dereference.
2007-08-29 21:01:20 +00:00
Ralf Wildenhues
1e63751c04 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG) [ linux ]: Add support for IBM XL 8.0
C/C++ (xlc*, xlC*) and IBM XL Fortran 10.1 (xlf*) on GNU/Linux,
tested on ppc, pending a $shlibpath_var related fix.
(_LT_SYS_HIDDEN_LIBDEPS): Double-quote $output_verbose_link_cmd
properly during evaluation, obsoleting $no_glob_subst mangling.
* NEWS: Update.
2007-08-29 20:54:53 +00:00
Ralf Wildenhues
134fc3083b * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]
[ k*bsd*-gnu ] <shlibpath_overrides_runpath>: Avoid spurious
output in runpath test.
2007-08-18 09:18:44 +00:00
Ralf Wildenhues
b4f7879633 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ mingw, cygwin ]
<GCJ>: Do not use -DDLL_EXPORT.
Report by Ross Ridge <rridge@csclub.uwaterloo.ca>.
2007-08-16 18:22:03 +00:00
Ralf Wildenhues
a26314cfd8 * Makefile.am (edit): Do not warn against manual editing for the
generated files libtool, libtoolize, libltdl/m4/ltversion.m4,
tests/defs, as they are still in a preferred source code form as
required by GPL.
Report by DJ Delorie.
2007-08-16 18:18:39 +00:00
Dirk Mueller
f5df807204 * libltdl/ltdl.c (parse_dotla_file): Avoid a strlen. When
reading .la files, cope with files that are not
newline-terminated.
2007-08-15 21:38:31 +00:00
Tilman Koschnick
713e2ae052 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG)
[ linux ]: Treat pgcpp as Portland Group C++ compiler as well.
2007-08-05 11:44:44 +00:00
Ralf Wildenhues
2e54f75846 * libltdl/ltdl.c (try_dlopen): Use `attempt' rather than
`filename', as the former has the needed extension when called
by lt_dlopenext.
Report by Brian Barrett.
2007-08-05 11:06:14 +00:00
Peter Rosin
8b8688e3ee * Makefile.am: Pass STRIP through to the testsuite, so that
tests that run configure will use the same strip program.
2007-07-26 22:44:39 +00:00
Ralf Wildenhues
28be809ea3 * tests/mdemo-exec.test: Also try absolute library names.
* tests/mdemo/main.c (test_dl, main): Try lt_dlopenext as well.
* THANKS: Update.
Report by Brian Barrett.
2007-07-24 05:10:03 +00:00
Ralf Wildenhues
6baa7daaf3 * ChangeLog: Fix typo. 2007-07-24 03:44:24 +00:00
Ralf Wildenhues
0a0134c0fc * doc/fdl.texi: Update to GFDL 1.2.
* doc/libtool.texi: Adjust.  Put License in Appendix.
2007-07-23 22:33:12 +00:00
Ralf Wildenhues
be2de73790 * libltdl/config/ltmain.m4sh (func_mode_link): Remove each
intermediate relinked object after use, to avoid quadratic space
complexity when linking partially.
Report by Isidor Zeuner <eezyy@gmx.net>.
2007-07-23 17:46:28 +00:00
Eric Blake
a54fca4ff1 Fix ChangeLog entry. 2007-07-23 17:44:35 +00:00
Eric Blake
310551c9c4 * libltdl/config/ltmain.m4sh: Whitespace cleanup. 2007-07-23 12:23:27 +00:00
Eric Blake
0c71a62ede * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:
chase_symlinks): Avoid compiler warning.
2007-07-23 12:10:31 +00:00
Peter Rosin
781fc82e1b * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Add
support for Microsoft Visual C. Also, older MinGW versions
seem to need stdint.h to find intptr_t.
2007-07-22 17:57:10 +00:00
Ralf Wildenhues
b3251f4d7e * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]:
Ignore lines in ld.so.conf starting with 'hwcap '.
2007-07-22 08:55:11 +00:00
Charles Wilson
3c72a3a00d * tests/cdemo-exec.test: use $EXEEXT where appropriate
to correct mingw cross-compile issues.
* demo-deplibs.test: Ditto.
* demo-exec.test: Ditto.
* demo-inst.test: Ditto.
* demo-relink.test: Ditto.
* depdemo-exec.test: Ditto.
* depdemo-inst.test: Ditto.
* depdemo-relink.test: Ditto.
* f77demo-exec.test: Ditto.
* fcdemo-exec.test: Ditto.
* mdemo-exec.test: Ditto.
* mdemo-inst.test: Ditto.
* mdemo2-exec.test: Ditto.
* pdemo-exec.test: Ditto.
* pdemo-inst.test: Ditto.
* tagdemo-exec.test: Ditto.
2007-07-16 22:53:06 +00:00
Peter Rosin
8623a050c8 * AUTHORS, THANKS: Peter Ekberg got married, now Peter Rosin. 2007-07-14 18:46:19 +00:00
Charles Wilson
f88b089413 * libltdl/m4/libtool.m4 (func_dirname_and_basename) <XSI>:
New function.
(func_dirname_and_basename) <!XSI>: New function.
* libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname):
Call it.  Also, take advantage of missed optimization using
func_dirname's additional arguments.
(func_mode_compile): Call it.
(func_mode_install): Call it.
(func_mode_link): Call it.
2007-07-13 07:21:39 +00:00
Peter Rosin
5a3cf05510 * libltdl/config/ltmain.m4sh (func_mode_link): Strip the cwrapper
using $STRIP instead of relying on the tools to support -s, which
MSVC doesn't.
2007-07-12 06:47:06 +00:00
Peter O'Gorman
688e0a551c * libltdl/config/libtool.m4sh: Don't pass -msg_* through to the
linker.
Reported by Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2007-07-07 05:09:10 +00:00
Bob Friesenhahn
7429314926 * libltdl/lt__alloc.c, libltdl/loaders/preopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/dlopen.c, libltdl/ltdl.c,
libltdl/lt_error.c, libltdl/lt_dlloader.c, libltdl/lt__dirent.c:
Include lt__private.h prior to any system headers.
* libltdl/lt__alloc.c: Remove redundant inclusion of configuration
header.
2007-07-04 23:05:05 +00:00
Eric Blake
59bc6b59d0 * libltdl/ltdl.c (advise_dup): Delete function no longer used
after memleak fix three days ago.
2007-07-04 21:28:00 +00:00
Ralf Wildenhues
c177a30000 * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Cater to
old Sparc Solaris 7 ld that does not understand `-64'.
Report by Vincent Lefevre <vincent@vinc17.org>.
2007-07-03 05:09:40 +00:00
Ralf Wildenhues
35526d6c64 * libltdl/m4/lt~obsolete.m4 (LTOBSOLETE_VERSION): New macro, to
force-pull in this file by aclocal.
* libltdl/m4/libtool.m4 (LT_INIT): Require LTOBSOLETE_VERSION.
* tests/libtoolize.at (upgrading verbatim style aclocal.m4):
Adjust.
Report by H. J. Lu <hjl@lucon.org>.
2007-07-01 20:55:13 +00:00
Ralf Wildenhues
3679372cbb * libltdl/ltdl.c (tryall_dlopen): Rename argument to have typed
alias of `advise' instead of allocating a copy.  Fixes memleak.
2007-07-01 06:12:46 +00:00
Peter Breitenlohner
ffcd2881d3 * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Correct a typo
("-dld" instead of "-ldld").
2007-06-30 09:31:28 +00:00
Gary V. Vaughan
a894e3baee Add a test to simulate a failure visible on systems which
need a library prefix like 'lib', such as BeOS.  Fix a number
of bugs exposed by this test in order for it to pass.
Currently the prefix is hardcoded as 'lib', as I am not aware
of systems that require a different prefix:

* libltdl/loaders/preopen.c (lt_dlpreload_open):  Move error
condition out of test loop to be sure that each originator is
tried, instead of erroring out if the first doesn't match.
Support passing NULL as the originator to load all preloaded
modules originating in the program itself.
* libltdl/lt_dlloader.c (lt_dlloader_dump): New debug function.
* libltdl/libltdl/lt_dlloader.h (lt_dlloader_dump): Declare it
when LT_DEBUG_LOADERS is defined at compile time.
* libltdl/ltdl.c (lt_dlinit): Dump loader list after successful
initialisation.
(tryall_dlopen): Add a new VTABLE parameter to force use of a
specific loader in preference to trying every loader in turn.
Adjust all callers.
(try_dlopen): Always see whether a module was preloaded for
module names with no directory component before searching the
filesystem for a match.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Declare
a new global_symbol_to_c_name_address_lib_prefix variable.
(global_symbol_to_c_name_address_lib_prefix): The sed
expressions to use when a lib prefix is enforced need to be
slightly different to work with preloaded modules.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms): In order
to name preloaded symbols correctly for the lookup algorithm
to work when the loaded module file must be prefixed with lib.
Use global_symbol_to_c_name_address_lib_prefix when
need_lib_prefix is other than no.
* tests/need_lib_prefix.at: New test to check for breakage on
hosts where need_lib_prefix is unknown.
* Makefile.am (TESTSUITE_AT): Add new test.
* tests/TODO: Note missing tests that would have caught some
of the latent bugs fixed by this patch.
* HACKING: Document libltdl keyword.
* NEWS: Updated.
2007-06-24 20:46:47 +00:00
Gary V. Vaughan
e6e96742ef Reenable compilation of libltdl with C++:
* libltdl/ltdl.c (tryall_dlopen): Rename the try variable to
attempt, and cast explicitly.
(advise_dup): Add explicit cast.
2007-06-24 19:05:46 +00:00
Peter O'Gorman
4b008019bc * libltdl/config/ltmain.m4sh (version-number) [irix]: Don't subtract
1 from major as it may be less than age.
2007-06-22 06:21:03 +00:00
Noah Misch
27c76a8994 * tests/f77demo/configure.ac [--with-dist]: New option. Skip most
Fortran checks when given.
* tests/fcdemo/configure.ac [--with-dist]: Likewise.
* Makefile.am (@DIST_MAKEFILE_LIST@): Pass --with-dist.
Reported by Benoit Sigoure <tsuna@lrde.epita.fr>.
2007-06-21 19:02:36 +00:00
Charles Wilson
91a80d8bb3 * AUTHORS: Add myself. 2007-06-19 06:22:02 +00:00
Charles Wilson
f9137c1440 * libltdl/config/ltmain.m4sh: Add new magic variable
for use with cwrapper.
(func_ltwrapper_script_p): New function.
(func_ltwrapper_executable_p): New function.
(func_ltwrapper_scriptname): New function.
(func_ltwrapper_p): Accomodate both wrapper scripts and
wrapper executables.
(func_mode_execute): Handle $file that is a wrapper
script and $file that is a wrapper executable differently.
(func_mode_install) [cygwin|mingw]: If $file is a wrapper
executable, use func_ltwrapper_scriptname to determine
wrapper script name. Afterwards, always use
func_ltwrapper_script_p instead of func_ltwrapper_p.
(func_emit_libtool_wrapper_script): Rename to...
(func_emit_wrapper): ...this. All callers changed.
(func_emit_libtool_cwrapperexe_source): Rename to...
(func_emit_cwrapperexe_src): ...this. All callers changed.
Embed new magic_exe variable into source. Private transient
wrapper script now called foo_ltshwrapperTMP, not
foo_ltshwrapper.
(func_emit_cwrapperexe_src) [main, mingw]: Use _spawnv
and return child's exit code manually rather than rely on
broken execv.
(func_mode_link) [cygwin|mingw]: Don't call dirname and
basename directly; use func_dirname and func_basename
when computing cwrapper names.  Use cwrapper to generate
wrapper script, and use pathname returned by
func_ltwrapper_scriptname instead of $output.
(func_mode_link) [NOT cygwin|mingw]: move wrapper script
generation for non-win32 inside case statement, as default
case.
(func_mode_uninstall) [$name's extension != .lo|.la]:
'clean' mode must handle $file differently if it is a libtool
wrapper script, or if it is a libtool wrapper executable.
* tests/destdir.at [Simple DESTDIR install]: $EXEEXT fixups.
* tests/destdir.at [DESTDIR with in-package deplibs]: Ditto.
2007-06-19 05:43:16 +00:00
Noah Misch
691ddc8da2 * AUTHORS: Add myself. 2007-06-18 03:49:19 +00:00
Peter O'Gorman
b91bf57ce1 * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): add quotes to
the test -n.
2007-06-18 02:07:22 +00:00
Charles Wilson
fcac48806b * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): ensure stderr
is redirected even when getconf does not exist.
2007-06-17 20:16:03 +00:00
Charles Wilson
6265ea0793 * ltmain.m4sh (func_emit_libtool_wrapper_script):
Take an argument to specify value assigned to
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR in the emitted
script.
(func_emit_libtool_cwrapperexe_source) [file scope]:
define permission flags S_IXGRP and S_IXOTH if not
already defined.
(func_emit_libtool_cwrapperexe_source) [LTWRAPPER_DEBUGPRINTF]:
Use C89-compatible syntax to mimic variadic macros.
Adjust all callers.
(func_emit_libtool_cwrapperexe_source) [check_executable]:
avoid embedded #ifdefs; use S_IXGRP and S_IXOTH
unconditionally.
(func_emit_libtool_cwrapperexe_source) [make_executable]:
ditto.
(func_emit_libtool_cwrapperexe_source): don't rewrite
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR posthoc; instead pass
correct argument when calling func_emit_libtool_wrapper_script.
(func_mode_link): pass correct argument when calling
func_emit_libtool_wrapper_script.
2007-06-09 17:46:40 +00:00
Charles Wilson
d754211cdb * ltmain.m4sh (func_emit_libtool_cwrapperexe_source):
ensure that generated source follows GCS as nearly as
possible.
2007-06-07 08:50:17 +00:00
Charles Wilson
d9033b1759 * ltmain.m4sh (func_emit_libtool_wrapper_script): add
code block to handle cases when wrapper script is in $objdir.
(func_emit_libtool_cwrapperexe_source): replace DEBUG() macro
with namespace-safe LTWRAPPER_DEBUGPRINTF(). Call
func_emit_libtool_wrapper_script() with appropriate filters to
embed script text in C char* static variable.
(f_e_l_c_s: main): add new option --lt-dump-script, parse argv[]
for it, and take appropriate action.  Call chase_symlinks()
on argv[0], in case this.exe was launched via one.  Use chased
value to determine full absolute pathname of wrapper script, in
$objdir. Unconditionally write script out to this pathname and
set permission bits.  Remove extraneous ';' from debugging loop.
(f_e_l_c_s: main) [mingw]: DOS-ize $SHELL before populating
newargv[0]; if $TARGETSHELL environment variable is set, use
it instead of $SHELL and do not DOS-ize.  Ensure newargv[1]
(wrapper script absolute path) uses only '/', not '\'.  Make
sure to call execv() with DOS-ized $SHELL (or un-DOS-ized
$TARGETSHELL, if set)
(f_e_l_c_s: make_executable): new function
(f_e_l_c_s: chase_symlinks): new function (no-op if !S_ISLNK)
2007-06-07 08:47:11 +00:00
Peter O'Gorman
b1ce2a5e6a Fix Changelog 2007-06-04 03:30:21 +00:00
Peter O'Gorman
85b6058c22 * libltdl/m4/libtool.m4 (old_archive_cmds): Remove
old_deplibs.
* tests/dmacks.at: Check for archives as members of static
archives. Currently XFAILS, above only eliminates one of the
two static archives.
* Makefile.am: Add test.
Reported by Daniel Macks <dmacks@netspace.org>
2007-06-04 03:01:11 +00:00
Steve Ellcey
c4baa9d16e * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf
to set lt_cv_sys_max_cmd_len.
2007-06-01 06:35:05 +00:00
Peter O'Gorman
b80b4026fb * libltdl/config/ltmain.m4sh (func_mode_link),
libltdl/m4/libtool.m4 [darwin]: Only use ${wl} in verstring
with xlc.
2007-05-28 07:03:25 +00:00
Gary V. Vaughan
3790e88b96 * tests/lt_dladvise.at: Use the lib prefix throughout for
better portability - testing whether modules build and load
without that prefix is not the domain of this test.
Also, only run the test of the global hint with the depend
module on hosts that can compile a module without passing
-no-undefined in link mode.
2007-05-22 12:07:06 +00:00
Noah Misch
1a1b757d1e * tests/duplicate_deps.at: Make the XFAIL unconditional, but
skip the test if the test link would succeed even without
--preserve-dup-deps.
2007-05-10 17:30:29 +00:00
Noah Misch
d9a5574f93 * libltdl/config/general.m4sh (func_echo): Use $* instead of
${1+"$@"}.
2007-05-10 17:26:45 +00:00
Eric Blake
80ee9e65c6 * libltdl/libltdl/lt_error.h (LT_ERROR_LEN_MAX): Adjust, to fix
buffer overflow in previous patch.
2007-05-09 12:27:00 +00:00
Gary V. Vaughan
710a4012a1 * tests/lt_dladvise.at: Commit missing file from below. 2007-05-09 08:10:19 +00:00
Gary V. Vaughan
c823c708c8 Without this patch, lt_dlopen always opens modules with symbol
visibility set according to the underlying implementation.
Here, we add lt_dlopenadvise() to allow callers to request,
among other things, local or global symbol visibility from the
underlying dlloader:

* libltdl/ltdl.c (LT_DLRESIDENT_FLAG): Removed.
(LT_DLIS_RESIDENT): Use public is_resident info field.
(LT_DLIS_SYMLOCAL, LT_DLIS_SYMGLOBAL): New macros to test for
module symbol visibility status.
(tryall_dlopen): If vtable->module_open() was able to act on
either is_symlocal or is_symglobal hints, store that in
the handle flags.
(lt_dlopenadvise): New function that works like lt_dlopen(),
but accepts an advise type to determine whether to ask
dlloaders to change default symbol visibility.
(lt_dlopen, lt_dlopenext): Just call lt_dlopenadvise() with
the correct parameters.
(lt_dladvise_init, lt_dladvise_destroy): New functions to
initialize and destroy an advise type hint.
(lt_dladvise_ext, lt_dladvise_resident, lt_dladvise_local)
(lt_dladvise_global): Set hints on an advise type.
(openadvise): Factored out of lt_dlopenadvise.
(has_library_ext): Factored out of lt_dlopenadvise.
* libltdl/ltdl.h: Declare all of the above.
(lt_dlinfo): New fields for advise hints.
* libltdl/libltdl/lt_dlloader.h (lt_module_open): Add a new
advise parameter.  Adjust all callers.
(lt_dladvise): New opaque type for advise hints.
* libltdl/libltdl/lt__private.h (lt__advise): Declare
contents of opaque lt_dladvise type.
* libltdl/libltdl/lt_error.h (CONFLICTING_FLAGS): New error
for attempts to have local and global symbol visibility at the
same time.
* libltdl/loaders/dld_link.c, libltdl/loaders/dyld.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Adjust.
* libltdl/loaders/dlopen.c (RTLD_LOCAL, RTLD_GLOBAL): Try to
define these symbols if the system has equivalents.
(vmopen): If unable to act on a caller request to set symbol
visibility, then unset the relevant hints in the advise type.
* tests/lt_dladvise.at: New tests for the above.
* doc/libtool.texi (Libltdl Interface): Updated.
* NEWS: Updated.
2007-05-08 14:38:50 +00:00
Ralf Wildenhues
3175b66b64 * libltdl/config/ltmain.m4sh (func_mode_link): When adding
new_inherited_linker_flags to compiler_flags, remember to
translate .ltframework back.  Fixes bug introduced 2007-04-23.
* THANKS: Update.
* tests/inherited_flags.at: Amend test.
Report by Christoph Egger.
2007-05-03 18:07:28 +00:00
Reuben Thomas
3399dea117 * doc/libtool.texi (Libltdl interface): Fix typo. 2007-05-03 18:02:25 +00:00
Ralf Wildenhues
dde0a9471a * Makefile.am (clean-ltmain-sh): Removed.
(libtool, $(srcdir)/$(m4dir)/ltversion.m4)
($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any
phony rules.  Test `$?' for prerequisites that should always
cause us to update the target.  Fixes rebuilding rules, at the
cost of sometimes updating too much with non-GNU make.
2007-05-01 07:54:58 +00:00
Noah Misch
e56ae3e8a2 * tests/ctor.at: New file.
* Makefile.am (TESTSUITE_AT): Add tests/ctor.at.
2007-04-26 22:34:05 +00:00
Charles Wilson
6c611e4510 * libltdl/libltdl/lt__glibc.h: Use !HAVE_WORKING_ARGZ
instead of SYSTEM_ARGZ_IS_BROKEN.
* libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Ditto.  Also, minor
stylistic improvements.
Report by Bruno Haible <bruno@clisp.org>.
2007-04-26 22:24:16 +00:00
Charles Wilson
177eb59756 * libltdl/argz_.h: ensure error_t definition is obtained
in same mechanism system argz.h would have.
* libltdl/libltdl/lt__glibc.h: also detect if
SYSTEM_ARGZ_IS_BROKEN when determining whether to re#def
argz* functions.
* libltdl/m4/argz.m4 (gl_FUNC_ARGZ): add new test to check
if $host's argz facilities are known bad.  Err on the side
of caution if cross-compiling.
2007-04-25 21:17:59 +00:00
Ralf Wildenhues
d7c20cf022 * README, README.alpha: Document how to test an arbitrary
installed libtool script.
2007-04-25 21:02:57 +00:00
Ralf Wildenhues
fa4b8efdea * tests/cmdline_wrap.at: Avoid `AT_CAPTURE_FILE' if it not
defined (Autoconf < 2.60).
* tests/shlibpath.at: Add `libtool' keyword.
2007-04-24 20:50:07 +00:00
Ralf Wildenhues
844ad0a8de * tests/indirect_deps.at: New file, with tests to ensure
`link_all_deplibs=no' does not break functionality.
* Makefile.am: Adjust.
2007-04-24 20:46:17 +00:00
Ralf Wildenhues
06470c3a43 * libltdl/config/ltmain.m4sh (func_mode_link): Fix accumulation
of `inherited_linker_flags' entries from multiple deplibs, by
adding $new_inherited_linker_flags only once, only in link pass.
* tests/inherited_flags: Amend test to expose this.
* NEWS: Adjust: kill one regression, but add note about the
feature new in 1.9b.
Report by Jeff Squyres and others.
2007-04-23 17:10:17 +00:00
Charles Wilson
e9cc8cb41f * libltdl/config/ltmain.m4sh (func_mode_link): move wrapper
script generation from here...
(func_emit_libtool_wrapper_script): to this new function, and
write to stdout
(func_mode_link): move cwrapper source code generation from
here...
(func_emit_libtool_cwrapperexe_source): to this new function,
and write to stdout
(func_mode_link): call the two new functions and redirect
output to appropriate file.
2007-04-23 16:56:48 +00:00
Ralf Wildenhues
51f91963e6 * libltdl/config/ltmain.m4sh (func_mode_link) <-no-install>
[ darwin ]: Treat like `-no-fast-install', as we cannot
hardcode.  Report by Simon Josefsson.
2007-04-10 19:09:26 +00:00
Ralf Wildenhues
5d9eaf09a4 * doc/libtool.texi (Link mode) <-no-install>: Mention that this
still generates a wrapper script on systems without hardcoding.
* tests/stresstest.at: Test `-no-install'.
* THANKS: Update.
Report by Simon Josefsson.
2007-04-03 19:09:39 +00:00
Matthieu Herrb
01efecee4d * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
[ openbsd ]: Add an explicit check for shared libraries support.
2007-03-29 22:24:31 +00:00
Ralf Wildenhues
df0897ee7a * Makefile.am ($(srcdir)/$(m4dir)/ltversion.m4): Fix quoting
error.
2007-03-29 18:09:37 +00:00
Gary V. Vaughan
d5cbbc4c5e * HACKING (Abstraction layers in libltdl): Rewritten somewhat
for (hopefully) better clarity.
2007-03-28 16:52:26 +00:00
Gary V. Vaughan
c193153265 The stamp-vcl file rules caused non-gnu make programs to rerun
parts of the configuration process on each invocation.  Instead
of relying on a stamp file, we now compare version numbers of
generated files with the ChangeLog timestamp manually in the
affected make rules to decide whether regenerating is necessary:

* Makefile.am (EXTRA_DIST): Remove stamp-vcl.
(clean-ltmain-sh): Also remove users' obsolescent stamp-vcl.
(rebuild): Keep some common code here for...
(libtool, libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh):
Rewritten to work without reference to intermediate stamp-vcl
file.
* configure.ac (CONFIG_STATUS_DEPENDENCIES): Change from
stamp-vcl to ChangeLog.
* NEWS: Removed entry saying this fix is needed.
2007-03-26 20:18:43 +00:00
Gary V. Vaughan
644953b634 * HACKING (LGPL with Libtool exception clause): Typo.
Reported by Tim Van Holder  <tim.van.holder@telenet.be>
2007-03-25 21:09:42 +00:00
Gary V. Vaughan
56c08a521e * HACKING (Licensing Rules): Explain the various license texts
used for files distributed with Libtool, and update license text
to match.
* Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO,
bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/config/general.m4sh, libltdl/config/getopt.m4sh,
libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
libltdl/config/mkstamp, libltdl/configure.ac,
libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h,
libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h,
libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h,
libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h,
libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c,
libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c,
libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c,
libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c,
libltdl/ltdl.h, libltdl/m4/argz.m4, libltdl/m4/libtool.m4,
libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4,
libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in,
Jlibltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4,
libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at,
tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/cdemo-undef.test,
tests/cdemo/Makefile.am, tests/cdemo/configure.ac,
tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c,
tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh,
tests/demo-conf.test, tests/demo-deplibs.test,
tests/demo-exec.test, tests/demo-hardcode.test,
tests/demo-inst.test, tests/demo-make.test,
tests/demo-nofast.test, tests/demo-noinst-link.test,
tests/demo-nopic.test, tests/demo-pic.test,
tests/demo-relink.test, tests/demo-shared.test,
tests/demo-static.test, tests/demo-unst.test,
tests/demo/Makefile.am, tests/demo/configure.ac,
tests/demo/dlmain.c, tests/demo/foo.c,
tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c,
tests/demo/hello.c, tests/demo/main.c,
tests/depdemo-conf.test, tests/depdemo-exec.test,
tests/depdemo-inst.test, tests/depdemo-make.test,
tests/depdemo-nofast.test, tests/depdemo-relink.test,
tests/depdemo-shared.test, tests/depdemo-static.test,
tests/depdemo-unst.test, tests/depdemo/Makefile.am,
tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am,
tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h,
tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c,
tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am,
tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h,
tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c,
tests/depdemo/l4/l4.h, tests/depdemo/main.c,
tests/depdemo/sysdep.h, tests/deplibs-ident.at,
tests/destdir.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/export.at,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/f77demo/Makefile.am,
tests/f77demo/configure.ac, tests/f77demo/cprogram.c,
tests/f77demo/foo.h, tests/f77demo/fooc.c,
tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test,
tests/fcdemo-make.test, tests/fcdemo-shared.test,
tests/fcdemo-static.test, tests/fcdemo/Makefile.am,
tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c,
tests/fcdemo/foo.h, tests/fcdemo/fooc.c,
tests/inherited_flags.at, tests/libtoolize.at,
tests/link-2.test, tests/link-order.at, tests/link-order2.at,
tests/link.test, tests/lt_dlexit.at, tests/mdemo-conf.test,
tests/mdemo-dryrun.test, tests/mdemo-exec.test,
tests/mdemo-inst.test, tests/mdemo-make.test,
tests/mdemo-shared.test, tests/mdemo-static.test,
tests/mdemo-unst.test, tests/mdemo/Makefile.am,
tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c,
tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c,
tests/mdemo/sub.c, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test,
tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac,
tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at,
tests/objectlist.test, tests/old-m4-iface.at,
tests/pdemo-conf.test, tests/pdemo-exec.test,
tests/pdemo-inst.test, tests/pdemo-make.test,
tests/pdemo/Makefile.am, tests/pdemo/configure.ac,
tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c,
tests/pdemo/longer_file_name_foo.c,
tests/pdemo/longer_file_name_foo2.c,
tests/pdemo/longer_file_name_hell1.c,
tests/pdemo/longer_file_name_hell2.c,
tests/pdemo/longer_file_name_hello.c,
tests/pdemo/longer_file_name_main.c, tests/quote.test,
tests/recursive.at, tests/search-path.at, tests/sh.test,
tests/shlibpath.at, tests/standalone.at, tests/static.at,
tests/stresstest.at, tests/subproject.at, tests/suffix.test,
tests/tagdemo-conf.test, tests/tagdemo-exec.test,
tests/tagdemo-make.test, tests/tagdemo-shared.test,
tests/tagdemo-static.test, tests/tagdemo-undef.test,
tests/tagdemo/Makefile.am, tests/tagdemo/baz.cpp,
tests/tagdemo/baz.h, tests/tagdemo/configure.ac,
tests/tagdemo/conv.cpp, tests/tagdemo/conv.h,
tests/tagdemo/foo.cpp, tests/tagdemo/foo.h,
tests/tagdemo/main.cpp, tests/tagtrace.test,
tests/template.at, tests/testsuite.at: Apply correct license
text according to the new rules set out in HACKING.
2007-03-25 12:12:44 +00:00
Gary V. Vaughan
65f31eb854 * libtoolize.m4sh: Handle argz.m4 specially like ltdl.m4, so
that it isn't copied unless libltdl is being used.  Copy other
macro files according to their tagged serial numbers.
* tests/libtoolize.at: Adjust.
2007-03-19 13:21:37 +00:00
Ralf Wildenhues
2b8a91382d * tests/mdemo/Makefile.am (libmlib_la_LDFLAGS): Add
`-export-symbols-regex ".*"' because the convenience libltdl
uses export markers and thus turns off autoexport on w32.  Fixes
test failures for Cygwin and MinGW.
Bug analysis by Charles Wilson.
2007-03-18 18:44:42 +00:00
Ralf Wildenhues
c003219f02 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ interix ]: When
matching for interix, accept version range [3-9] instead of 3.
* NEWS: Update.
Report by Martin Koeppe <mkoeppe@gmx.de>.
2007-03-18 18:08:50 +00:00
Ralf Wildenhues
09044579f0 * libltdl/m4/libtool.m4 (LT_PROG_GCJ): Avoid M4 expansion error
that caused `dnl' to be merged to the previous word.
* THANKS: Update.
Report by Steve Ellcey.
2007-03-18 17:40:35 +00:00
Gary V. Vaughan
cf824a99d7 * libtoolize.m4sh: Replace literal tab chars in help comment
with spaces to align columns in --help output.
2007-03-09 15:08:43 +00:00
Ralf Wildenhues
0d492f4144 * libltdl/config/ltmain.m4sh (func_mode_link): Also apply the
symbol filtering for w32 and the include_expsyms feature in the
case of exceeded command line length.  Fixes test failure on
MinGW.
2007-03-06 22:31:09 +00:00
Ralf Wildenhues
e92a00f7c0 * tests/stresstest.at: For const data object imported from
shared library, define appropriate macros to expand
__declspec(dllimport) on w32.  Use two different main objects
and pick the right one for the link flags we are about to test.
Fixes test failure on MinGW.
2007-03-06 22:30:15 +00:00
Ralf Wildenhues
5745354dca * tests/export.at: For const data object imported from shared
library, define appropriate macros to expand
__declspec(dllimport) on w32.  Fixes test failure on MinGW.
2007-03-06 22:28:00 +00:00
Gary V. Vaughan
cac951583e * libtoolize.m4sh (func_check_macros): Display m4 quotes correctly
in AC_CONFIG_MACRO_DIR diagnostics.
2007-03-06 00:56:00 +00:00
Gary V. Vaughan
5771b49373 * libltdl/config/general.m4sh (M4SH_VERBATIM): New macro to
simplify m4sh quote quoting in blocks of raw shell code.
* clcommit.m4sh, libtoolize.m4sh, libltdl/config/getopt.m4sh,
libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
tests/defs.m4sh: Use it.
* HACKING (Editing `.m4sh' Files): Mention M4SH_VERBATIM Macro.
2007-03-06 00:46:56 +00:00
Ralf Wildenhues
0dfcbc7343 * tests/lt_dlexit.at: Allow test to pass on static-only systems
and with disable-shared.
2007-02-27 22:32:17 +00:00
Ralf Wildenhues
d2f789e3c7 * NEWS: Rewrite all news since 1.9f and put in categories,
update.
2007-02-27 22:15:45 +00:00
Ralf Wildenhues
b8b793325e * libltdl/Makefile.inc: Fix the file description, so that it
matches recursive and nonrecursive libltdl setup.
* Makefile.am ($(srcdir)/libltdl/Makefile.am): Do not depend
upon the exact text of the copyright header, just copy until
the marker line.  Remove the marker lines in the output, and
adjust the description for subpackage setup.
2007-02-27 21:59:33 +00:00
Gary V. Vaughan
287652e9ae * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fix regexp typo.
* clcommit.m4sh: Look in the right directory for helper scripts.
2007-02-26 11:02:43 +00:00
Gary V. Vaughan
6ec04430fb * clcommit.m4sh: Look in the right directory for helper scripts. 2007-02-26 10:24:25 +00:00
Gary V. Vaughan
bd365fb25f * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fixup regex to
match Copyright notice change below.
2007-02-26 08:40:20 +00:00
Gary V. Vaughan
7367171ad0 * HACKING, Makefile.am, Makefile.maint, bootstrap,
libltdl/Makefile.am, libltdl/Makefile.inc, libltdl/m4/libtool.m4,
ltmain.c, tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/depdemo/l1/Makefile.am,
tests/depdemo/l2/Makefile.am, tests/depdemo/l3/Makefile.am,
tests/depdemo/l4/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/libtoolize.at,
tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am,
tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Update
Copyright notice text to include URL for canonical GPL document.
2007-02-26 07:44:25 +00:00
Ralf Wildenhues
e4a33a7ab5 * tests/static.at: Forgot to fix PATH for the first
func_test_exec invocation.  So factor out into new functions
func_fix_path and func_restore_path and use those.
2007-02-25 19:18:35 +00:00
Ralf Wildenhues
2c25fb4d3c * README: Document the need for GNU make to build Libtool.
Point the user to the doc/notes.txt file.  In the examples, use
`gmake' throughout to make it more obvious.  Explain simpler way
to run both testsuites and either one.  Referring to individual
tests needs the `tests/' prefix.
* README.alpha: Likewise.
* doc/notes.texi: Likewise, document need for GNU make.
Comment out the FreeBSD make issue for now.
2007-02-25 15:33:24 +00:00
Ralf Wildenhues
341bfc2624 * tests/static.at: Larger rewrite to make work on w32: Use three
different prefixes instead of three libdirs, so the moving of
the DLLs works as expected.  Adjust all code.  Since now
$libdirI/../bin is distinct from the directory of the installed
program, take care than on w32 PATH contains the needed bindirs,
in appropriate order.
Report by Charles Wilson.
2007-02-25 14:50:08 +00:00
Ralf Wildenhues
1d49806689 * Makefile.am (INSTALLCHECK_ENVIRONMENT): Point LTDLINCL and
LIBLTDL to installed libltdl, so that it is being used by
the lt_dlexit test.
2007-02-25 12:25:02 +00:00
Ralf Wildenhues
e34d7507d6 * doc/libtool.texi (Install mode, libtool script contents):
Describe current and system-specific DESTDIR limitations.
* tests/destdir.at: XFAIL if `fast_install' is no.
2007-02-24 16:11:21 +00:00
Ralf Wildenhues
2c878695fd * doc/libtool.texi (LT_INIT): Fix typo. 2007-02-24 16:08:57 +00:00
Ralf Wildenhues
dc746dbea4 * doc/libtool.texi (Libtool test suite): Mention the new
testsuite.  Point to README rather than INSTALL for testing
instructions.
(Test descriptions): Fix more file names.  Also mention
cdemo-undef.test, mdemo2-conf.test, mdemo2-exec.test,
mdemo2-make.test, objectlist.test, pdemo-conf.test,
pdemo-exec.test, pdemo-inst.test, pdemo-make.test,
tagdemo-conf.test, tagdemo-exec.test, tagdemo-make.test,
tagdemo-static.test, tagdemo-shared.test, tagdemo-undef.test,
f77demo-conf.test, f77demo-exec.test, f77demo-make.test,
f77demo-static.test, f77demo-shared.test, fcdemo-conf.test,
fcdemo-exec.test, fcdemo-make.test, fcdemo-static.test,
fcdemo-shared.test.  Describe what they do.
(When tests fail, Troubleshooting): Mention how to pass options
to the new test suite.
* tests/tagdemo/README: Fix description.
2007-02-24 16:06:50 +00:00
Ralf Wildenhues
703011cac4 * bootstrap: Also set GREP, FGREP, EGREP, LN_S, when creating a
preliminary ltmain.sh script.
2007-02-24 14:56:18 +00:00
Ralf Wildenhues
bb04acdad8 * doc/libtool.texi (Test descriptions): Track the grand test
suite renaming from 2003-10-14 in the tests documentation.
assign.test is merged into sh.test.  Fix description of sh.test.
* tests/sh.test: Likewise.
2007-02-24 14:49:53 +00:00
Ralf Wildenhues
a0cd232cc1 * doc/libtool.texi (LT_INIT): Fix wording of intro a bit.
<shared, static>: Also describe these default LT_INIT options.
<AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL>
<AC_DISABLE_FAST_INSTALL>: Mention deprecated macro names,
including the respective LT_INIT replacement.
<AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_ENABLE_SHARED>
<AC_ENABLE_STATIC>: Document, un-deprecate.  Suggest the
respective LT_INIT replacement.
<AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_ENABLE_SHARED>
<AM_ENABLE_STATIC>: Document deprecated aliases.
(Distributing libltdl) <AC_WITH_LTDL, AC_LIBLTDL_INSTALLABLE>
<AC_LIBLTDL_CONVENIENCE>: Document deprecated aliases.
* libltdl/m4/ltoptions.m4 (AM_ENABLE_SHARED, AM_DISABLE_SHARED)
(AM_ENABLE_STATIC, AM_DISABLE_STATIC): Make these AU_ALIASes of
the respective AC_* macros, so we do not recommend LT_INIT(*) in
this case.
(AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC)
(AC_DISABLE_STATIC): Un-deprecate these.  Remove now-superfluous
aclocal-1.4 backwards compatibility comments.
2007-02-24 08:52:13 +00:00
Ralf Wildenhues
a4957af572 * tests/link-order2.at: Rewrite completely. Do not use `sin'
from the math library, there are too many problems with this.
Instead, use a self-written library, install it without the
Libtool library file, to emulate a native library in a system
directory, and adjust $shlibpat_var.  Try overriding its symbol.
Further, also try an installed `wrong' binary.
Avoid failing test bits on AIX without runtimelinking and on
Darwin in some cases, SKIP at the end in this case.
Analysis by Peter O'Gorman.
2007-02-24 08:49:24 +00:00
Ralf Wildenhues
40c41e79e6 * doc/notes.texi: Mention MACOSX_DEPLOYMENT_TARGET issue.
* tests/template.at: Only skip those tests failing on Darwin
if `-flat_namespace' is used by libtool.  In that case, SKIP
at the end.  Analysis by Peter O'Gorman.
2007-02-24 08:46:19 +00:00
Ralf Wildenhues
265432e423 Fix -export-symbols and -export-symbols-regex for links that
exceed the command line length and use convenience archives.

* libltdl/config/ltmain.m4sh (func_mode_link): Avoid grepping a
nonexistent file if using reloadable objects.  Do not create a
linker script nor a linker input file if no objects are passed.
Apply export_symbols_regex in case the command line length is
exceeded.
2007-02-23 21:52:50 +00:00
Ralf Wildenhues
b3709c2f9d * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
<compiler_needs_object>: New tag variable.  Default to `no'.
(_LT_LINKER_SHLIBS) [ linux ]: Set it to yes for Sun C 5.9.
(_LT_LANG_CXX_CONFIG): Also default it to `no'.
[ linux ]: Set it to `yes' for Sun C++ 5.9.
* libltdl/config/ltmain.m4sh (func_mode_link): If we link
no objects but only convenience archives into a library,
force expansion if `compiler_needs_object' is yes.
For creating a linker input filelist due to long cmdline,
extract the first object if `compiler_needs_object' is yes.
* doc/libtool.texi (libtool script contents): Document it.
Fixes test failures of Sun compilers on GNU/Linux.
Report by Terry D. Dontje.
2007-02-23 21:11:25 +00:00
Ralf Wildenhues
8ef9778c39 * libltdl/config/ltmain.m4sh (func_mode_link): Avoid setting
`$libobjs' to a single space; set it to empty in that case.
2007-02-23 20:43:50 +00:00