1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 04:40:29 +02:00
guile/libguile-ltdl
Rob Browning 42a7c12c07 added.
2003-10-12 18:23:40 +00:00
..
upstream added. 2003-10-12 18:23:40 +00:00
.cvsignore *** empty log message *** 2002-10-05 04:45:15 +00:00
ChangeLog *** empty log message *** 2003-10-12 18:20:46 +00:00
COPYING.LIB * COPYING.LIB: moved from ../libltdl. 2002-10-05 04:51:06 +00:00
guile-ltdl.c * guile-ltdl.c (scm_lt_dlpreload_default): new function. Replaces 2002-10-09 21:16:12 +00:00
guile-ltdl.h * guile-ltdl.h: add scm_lt_dlsymlist typedef. 2002-10-09 21:16:18 +00:00
Makefile.am (INCLUDES): Also look for includes in "." and 2002-10-11 13:05:43 +00:00
raw-ltdl.c merged changes from libtool 1.5. Looks like most of 2003-10-12 18:20:53 +00:00
raw-ltdl.h * raw-ltdl.h: add SCM_INSERTED_DLSYMLIST_STRUCT_DECL so we can 2002-10-09 21:16:24 +00:00
README *** empty log message *** 2003-10-12 18:20:46 +00:00

-*-text-*-

This subtree contains a locally modified version of libltdl from
libtool.

guile-ltdl.h describes the interface that Guile actually uses.

guile-ltdl.c is the main source file which directly #includes
raw-ltdl.h and raw-ltdl.c

The two raw-* files are Guile's patched versions of the
upstream/ltdl.* files, the latter of which are the original libtool
source from which the current raw-* files are derived.

We use this unusual inclusion trick, along with a few modifications
to the raw-* files and some #defines in guile-ltdl.c to allow us to
use the upstream source with as few unnecessary changes as possible,
while still making all of the upstream symbols non-extern.  This
means that libguile-ltdl *only* exports the few symbols that Guile
actually needs right now.

In general libguile-ltdl exports the needed libltdl functions and
data structures with scm_ prepended to them, so we have
scm_lt_dlinit, etc.

The upstream/* subdirectory contains the clean upstream source from
which the raw-ltdl.h and raw-ltdl.c files were derived, and an
automatically generated diff from the upstream.  Note that during
the diff process we automatically remove a set of changes we've made
to the upstream source (mostly related to making all of the upstream
exports static) that are uninteresting outside of Guile.

We hope that taking these steps will make it easier to fold our
changes back into the main version of libltdl, and in fact, it looks
like most, if not all of our original serious bug fixes have been
incorporated upstream, leaving essentially only the scoping related
changes mentioned above in our filtered upstream/*.diff files.

The current upstream/* source is from libtool version 1.5.