2002-10-25 Marius Vollmer * upstream/ltdl.c: New copy from libtool 1.4.3. * raw-ltdl.c: Merged in changes from libtool 1.4.3. 2002-10-11 Marius Vollmer * upstream/Makefile.am (ltdl.h.diff, ltdl.c.diff): Look for raw-ltdl.h and raw-ltdl.c in "$(srcdir)/..". This is needed for VPATH builds. * Makefile.am (INCLUDES): Also look for includes in "." and "$(srcdir)". This is needed for VPATH builds. (EXTRA_DIST): Also distribute EXTRA_HEADERS. 2002-10-09 Rob Browning * upstream/Makefile.am (ltdl.h.diff): remove SCM_INSERTED_DLSYMLIST_STRUCT_DECL during diff computation. (ltdl.c.diff): remove SCM_INSERTED_DLSYMLIST_STRUCT_DECL during diff computation. * raw-ltdl.h: add SCM_INSERTED_DLSYMLIST_STRUCT_DECL so we can insert our own struct name here. * guile-ltdl.h: add scm_lt_dlsymlist typedef. (scm_lt_dlpreload_default): new function. Replaces scm_lt_dlset_preloaded_symbols which depended on global that libtool automagically defines in binaries, not libs. * guile-ltdl.c (scm_lt_dlpreload_default): new function. Replaces scm_lt_dlset_preloaded_symbols which depended on global that libtool automagically defines in binaries, not libs. Now the call in guile.c has to pass us that magic value. (SCM_INSERTED_DLSYMLIST_STRUCT_DECL): used to add a struct name in the lt_dlsymlist typedef -- we use such a crazy name so we can remove this in the upstream diff computation. 2002-10-05 Marius Vollmer * upstream/Makefile.am (ltdl.h.diff, ltdl.c.diff): Create them in '.' not in 'upstream' since we are already in upstream. 2002-10-04 Rob Browning * COPYING.LIB: moved from ../libltdl. * ChangeLog: moved from ../libltdl. * README: moved from ../libltdl. * Makefile.am: build new libguile-ltdl. * upstream/Makefile.am: new file. * upstream/ltdl.c: upstream source. * upstream/ltdl.h: upstream source. * guile-ltdl.h: main header file for guile's internal libguile-ltdl. * guile-ltdl.c: main source file for libguile-ltdl -- #includes raw-ltdl.c and raw-ldtl.h directly. See README. * raw-ltdl.h: guile's modified version of the upstream ltdl.h. * raw-ltdl.c: guile's modified version of the upstream ltdl.c. (memcpy): coerce ptrs to (char *) before copying characters through them -- I can't recall for sure, but I believe this was causing an overrun error at times. (realloc): Remove custom realloc. (#define rpl_realloc realloc) and comment out later code for custom realloc. You can't define your own malloc unless you know enough about the malloc in use to be able to tell how big the src ptr is. The disabled code incorrectly used the *destination* ptr to decide how much to copy. This sometimes results in out-of-bound accesses which cause segfaults. This is a quick hack for now; we may want something cleaner later. (tryall_dlopen_module): check to be sure (dirname_len > 0) before testing first character against '/'. (try_dlopen): check for feof(file) in read loop -- otherwise infloop? (scm_lt_dlopenext): remove unused variable file_found. (LT_EOS_CHAR): moved here from guile-ltdl.h. 2002-10-04 Marius Vollmer * raw-ltdl.c: Renamed all exported functions and variables to have a "scm_lt_" prefix. (try_dlopen): Set newhandle to null when try_all_dlopen failed. (scm_lt_dlopenext): Reverse test of "file_not_found()". Previously, we would stop searching when the file wasn't found yet, while we should continue in that case.