Commit Graph

2733 Commits

Author SHA1 Message Date
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