libtool/libltdl
Gary V. Vaughan 5451db06bd Split lt_dlloader management into a separate file, and factor
`loaders' list management into a new SList ADT.  In the process,
the API for writing loaders is a little cleaner, so all the
existing loaders were tweaked to take advantage of that:

* libltdl/slist.h, libltdl/slist.c: New files implementing a
generic singly linked list container ADT.  The ADT is purely
internal, and none of its API's are visible from an installed
libltdl.
* libltdl/lt_dlloader.h (lt_dlloader): Removed next field again
:-) Renamed to lt_dlvtable for API.  Changed all callers.
(lt_dlloader_get): New function to turn an lt_dlloader into its
associated lt_dlvtable.
(lt_dlloader_add): Removed unused data parameter.  The caller
data belongs to (and is set by) the loader itself, not the
loader's client.  Changed all callers.
(lt_dlloader_name, lt_dlloader_data): Removed.  Use
lt_dlloader_get instead!
* libltdl/lt__private.h: Include slist.h.
(lt__alloc_die_callback): Add missing LT_SCOPE to declaration.
(lt_dlhandle_struct): Use lt_dlvtable instead of opaque
lt_dlloader.
* libltdl/ltdl.c (lt_dlexit): Rewritten for the new loader API.
(loaders, lt_dlloader_add, lt_dlloader_remove, lt_dlloader_next,
lt_dlloader_find): Moved from here...
* libltdl/lt_dlloader.c ((loaders, lt_dlloader_add,
lt_dlloader_remove, lt_dlloader_next, lt_dlloader_find): ...to
here.  And rewritten in terms of new SList interface.
* libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Rewritten in terms of
new lt_dlloader interface.
* libltdl/Makefile.am (libdlloader_la_SOURCES): Add slist.h and
slist.c.  Move lt_dlloader.h from here...
(pkginclude_HEADERS): ...to here.
(libltdl_la_SOURCES): Add lt_dlloader.c and lt_dlloader.h.
2004-07-15 12:33:20 +00:00
..
loaders Split lt_dlloader management into a separate file, and factor 2004-07-15 12:33:20 +00:00
.cvsignore Updated to reflect upcoming autoconf 2.58 and automake 1.8 2003-09-24 17:03:27 +00:00
argz_.h * libltdl/argz.h: Moved from here... 2004-04-22 22:47:20 +00:00
argz.c * libltdl/argz.h: Moved from here... 2004-04-22 22:47:20 +00:00
configure.ac This pervasive changeset makes two intertwined deep changes to the 2004-07-15 12:14:48 +00:00
COPYING.LIB
lt__alloc.c This pervasive changeset makes two intertwined deep changes to the 2004-07-15 12:14:48 +00:00
lt__alloc.h This pervasive changeset makes two intertwined deep changes to the 2004-07-15 12:14:48 +00:00
lt__dirent.c * libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c, 2004-04-13 15:30:10 +00:00
lt__dirent.h * libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c, 2004-04-13 15:30:10 +00:00
lt__glibc.h * libltdl/argz.h: Moved from here... 2004-04-22 22:47:20 +00:00
lt__private.h Split lt_dlloader management into a separate file, and factor 2004-07-15 12:33:20 +00:00
lt_dlloader.c Split lt_dlloader management into a separate file, and factor 2004-07-15 12:33:20 +00:00
lt_dlloader.h Split lt_dlloader management into a separate file, and factor 2004-07-15 12:33:20 +00:00
lt_error.c This pervasive changeset makes two intertwined deep changes to the 2004-07-15 12:14:48 +00:00
lt_error.h This pervasive changeset makes two intertwined deep changes to the 2004-07-15 12:14:48 +00:00
lt_system.h This pervasive changeset makes two intertwined deep changes to the 2004-07-15 12:14:48 +00:00
ltdl.c Split lt_dlloader management into a separate file, and factor 2004-07-15 12:33:20 +00:00
ltdl.h Split lt_dlloader management into a separate file, and factor 2004-07-15 12:33:20 +00:00
Makefile.am Split lt_dlloader management into a separate file, and factor 2004-07-15 12:33:20 +00:00
README
slist.c Split lt_dlloader management into a separate file, and factor 2004-07-15 12:33:20 +00:00
slist.h Split lt_dlloader management into a separate file, and factor 2004-07-15 12:33:20 +00:00

This is GNU libltdl, a system independent dlopen wrapper for GNU libtool.

It supports the following dlopen interfaces:
* dlopen (Solaris, Linux and various BSD flavors)
* shl_load (HP-UX)
* LoadLibrary (Win16 and Win32)
* load_add_on (BeOS)
* GNU DLD (emulates dynamic linking for static libraries)
* dyld (darwin/Mac OS X)
* libtool's dlpreopen