Gary V. Vaughan [Sun, 22 Apr 2001 22:56:18 +0000 (22:56 +0000)]
* ltdl.m4 (AC_CHECK_HEADERS): UW7 has sys/dl.h, so we must
check for that here.
* libltdl/ltdl.c (HAVE_SYS_DL_H): Include it if necessary for
the dlopen loader.
Reported by Matthew Schalit <mschalit@pacbell.net>
Gary V. Vaughan [Sun, 22 Apr 2001 22:38:00 +0000 (22:38 +0000)]
* libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for
various releases of UnixWare and OpenServer that support it.
Reported by Matthew Schalit <mschalit@pacbell.net>
* ltcf-cxx.sh: Support creation of C++ shared libraries on
recent versions of FreeBSD (release 3 or later).
* ltconfig.in: On FreeBSD, -lc must not be provided when building
a shared library or else the standard -pthread gcc option is
rendered worthless to later users of the built library.
Gary V. Vaughan [Sun, 8 Apr 2001 11:40:15 +0000 (11:40 +0000)]
* ltcf-c.sh (hardcode_libdir_flag_spec, osf4/osf5): Use ${wl}
to pass -rpath when compiling with gcc.
Reported by Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
Gary V. Vaughan [Sun, 8 Apr 2001 10:44:49 +0000 (10:44 +0000)]
* libltdl/ltdl.c (sys_shl_open): Cache a handle for the `self'
module, since HPUX adds module symbols into the `self' pool if
it is opened later. Return the cached pointer if the caller
subsequently tries to open `self'.
(sys_shl_sym): Diagnose NULL modules.
Gary V. Vaughan [Sun, 8 Apr 2001 10:03:52 +0000 (10:03 +0000)]
From Peter Eisentraut <peter_e@gmx.net>
* ltmain.in (clean,uninstall): test -e is not portable. Well,
neither is -L, but I'm hoping that redirecting error messages
to /dev/null and relying on non-zero exit status will work okay
on the few hosts that don't support -L.
Gary V. Vaughan [Fri, 6 Apr 2001 00:43:31 +0000 (00:43 +0000)]
* tests/Makefile.am (TESTS): Delete references to depdemo-dups.test.
* tests/depdemo-dups.test: Removed, as part of the patch
reversion below.
* ltmain.in: Revert my change from 2001-03-31. Although it
was technically correct, it opens a whole can of worms we don't
want to deal with right now.
Gary V. Vaughan [Fri, 6 Apr 2001 00:29:14 +0000 (00:29 +0000)]
From Ahmed Masud <masud@googgun.com>
* libltdl/ltdl.c (sys_shl_open): Return a NULL module handle
for self opening.
(sys_shl_close): Be careful not to close a NULL module handle.
(sys_shl_sym): Allow shl_findsym() to open NULL modules, but
discard the modified module address it returns.
Gary V. Vaughan [Fri, 6 Apr 2001 00:16:05 +0000 (00:16 +0000)]
* libltdl/ltdl.c (lt_dlopen): When reading the .la file,
reallocate the line buffer size if the line overflows the
original buffer.
Reported by Nick Hudson <skrll@netbsd.org>
* libtool.m4, ltconfig.in, ltcf-c.sh, ltcf-cxx.sh: Fixed
support for Darwin and Rhapsody. Now correctly hardcodes the
library path and adds versioning. Other small fixes.
* ltmain.in: Fixed special cases for libc and libm on Rhapsody and
Darwin. One of them was misplaced. Added version_type case for
Rhapsody and Darwin, named "darwin".
Gary V. Vaughan [Sun, 1 Apr 2001 00:30:34 +0000 (00:30 +0000)]
* ltmain.in: Remove the code for stripping duplicate deplibs
from libtool link lines -- duplicates are somtimes necessary
to satisfy inter-library dependencies, and never cause link to
fail even if they are spurious.
* tests/depdemo-dups.test: New file. Make sure this bug doesn't
creep back in again!
* tests/Makefile.am (TESTS): Use the new test above.
Edward M. Lee [Sat, 31 Mar 2001 11:05:10 +0000 (11:05 +0000)]
* ltconfig.in, ltcf-c.sh, ltcf-gcj.sh: Generate dll/import
libraries for cygwin according to the following: libFOO.a (static
lib), libFOO.dll.a (import lib), cygFOO-version.dll (dll). Update
postinstall_cmds and postuninstall_cmds to reflect this.
* ltmain.in: Generate installed .la files with dlnames set to
../bin/cygFOO-version.dll for normal dlls. dlls for modules
remain with the .la file.
* ltcf-c.sh: Clear ac_cv_prog_cc_pic for DJGPP. Do not add
'-DPIC' to ac_cv_prog_cc_pic for DJGPP.
* ltcf-cxx.sh: Likewise.
* ltcf-gcj.sh: Likewise.
* ltconfig.in: Fix typo.
Alexandre Oliva [Tue, 20 Mar 2001 05:47:28 +0000 (05:47 +0000)]
* ltmain.in (piecewise linking): Make sure we link at least one
object file at a time into a new reloadable object file.
[whole_archive_flag_spec]: Don't link convenience archives
piecewise.
(piecewise archiving): Clear RANLIB except for the last run.
Alexandre Oliva [Tue, 20 Mar 2001 05:44:23 +0000 (05:44 +0000)]
* configure.in (file_magic_cmd, reload_flag): Duplicate `$'s
before SUBSTin in the Makefile.
* ltconfig.in (reload_flag): Prepend a blank if it doesn't start
with one.
Gary V. Vaughan [Wed, 7 Mar 2001 01:51:20 +0000 (01:51 +0000)]
From Tor Lillqvist <tml@iki.fi>
* ltcf-c.sh, ltcf-gcj.sh (export_symbols): On Windows, if the
export_symbols file (which has been passed to libtool with the
-export-symbols command line switch) already is a .def file, use
it as is.
Gary V. Vaughan [Wed, 7 Mar 2001 01:13:22 +0000 (01:13 +0000)]
From Tor Lillqvist <tml@iki.fi>
* ltmain.in (library_names_spec): Use an appropriate filename
prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32.
Gary V. Vaughan [Mon, 5 Mar 2001 21:31:44 +0000 (21:31 +0000)]
* NEWS: Updated.
* doc/libtool.texi (Thread Safety in libltdl): New node describing
the application the new MT API.
* libltdl/ltdl.h: Prototypes.
* libltdl/ltdl.c: Use these functions throughout the rest of
the file to provide thread locking.
(lt_dlmutex_register): New function to set callbacks for
multi-threaded calls into libltdl.
(lt_dl_mutex_lock): Type of a locking callback function.
(lt_dl_mutex_lock): Type of an unlocking callback function.
(lt_dl_mutex_seterror): Type of a callback function to save the
last libltdl error message in thread local storage.
(lt_dl_mutex_geterror): Type of a callback function to retrieve
the last saved error message from thread local storage.
Gary V. Vaughan [Tue, 20 Feb 2001 01:48:03 +0000 (01:48 +0000)]
* libltdl/ltdl.c (lt_dlcaller_register): dont set an unsigned
type to a negative number.
Reported by Guenter Millahn <Guenter.Millahn@Informatik.TU-Cottbus.DE>
Gary V. Vaughan [Mon, 5 Feb 2001 00:27:19 +0000 (00:27 +0000)]
From Nick Hudson <skrll@netbsd.org>
* ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): netbsd* is able to
automatically load module deplibs without assistance from
libltdl.
Gary V. Vaughan [Fri, 2 Feb 2001 20:15:26 +0000 (20:15 +0000)]
* ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): If we know that the host
architecture automatically loads deplibs, then...
* libltdl/ltdl.c (load_deplibs): ...don't manually load each one.
Gary V. Vaughan [Wed, 31 Jan 2001 11:42:38 +0000 (11:42 +0000)]
* libltdl/ltdl.c (load_deplibs): If loading a deplib fails,
don't sweat -- it may be a lib that is already statically linked
into the loading application.
* libltdl/ltdl.c: Clean up the shadowing of the global handles
variable.
(LT_DLRESIDENT_FLAGS): Add extra parens to satisfy -Wall.
(load_deplibs): Cast isspace() argument to an int to satisfy
-Wall.
Gary V. Vaughan [Fri, 5 Jan 2001 09:39:42 +0000 (09:39 +0000)]
* NEWS: Updated.
* doc/libtool.texi (User defined module data): Document it all.
* ltdl.m4: Check for memcpy, or else bcopy.
* ltdl.c (lt_caller_data): New type.
(lt_dl_handle_struct): Add an lt_caller_data field.
(lt_dlcaller_register, lt_dlcaller_set_data,
lt_dlcaller_get_data): New functions.
(rpl_memcpy): A minimal fallback implementation.
(rpl_realloc): A realloc implemented with lt_dlmalloc and
lt_dlfree.
(LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN):
New memory handling convenience macros. Use them
appropriately throughout the rest of this file.
* ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data,
lt_dlcaller_get_data): Prototyped.
Gary V. Vaughan [Sat, 23 Dec 2000 16:33:33 +0000 (16:33 +0000)]
From vvv@vsu.ru:
* doc/fdl.texi (GNU Free Documentation License): contained @bye
command which prevented part of document to be generated (indices,
etc).
* doc/libtool.texi (Dlpreopening): the @deftypevar did not contain
a space after a type.
Gary V. Vaughan [Wed, 20 Dec 2000 22:57:53 +0000 (22:57 +0000)]
* ltmain.in (dlprefiles): Now that `2000-12-15 Utz-Uwe Haus' patch
below can detect preopened library deplibs correctly in libltdl,
we need to ensure that libtool library deplibs are also preloaded
into the binary for that phase to work.
Gary V. Vaughan [Sat, 16 Dec 2000 03:35:35 +0000 (03:35 +0000)]
* ltconfig.in (deplibs_check_method, file_magic_cmd,
file_magic_test_file): Arghh! I keep forgetting that this stuff
has been moved...
* libtool.m4 (lt_cv_deplibs_check_method, lt_cv_file_magic_cmd,
lt_cv_file_magic_test_file): ...to here. Now fixed (again).
Gary V. Vaughan [Sat, 16 Dec 2000 03:19:09 +0000 (03:19 +0000)]
* doc/libtool.texi (Libltdl interface): Add documentation.
* libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident): Add
prototypes.
(LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status.
* libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident): Allow
making and testing of resident module status, which prevents a
module from being lt_dlclosed.
(lt_dlopen): If lt_dlopen()ing self, make the module resident.
(lt_dlclose): Return an error if the module is resident.