guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libguile-ltdl


From: Han-Wen Nienhuys
Subject: Re: libguile-ltdl
Date: Thu, 7 Oct 2004 00:44:07 +0200

address@hidden writes:
> Han-Wen Nienhuys <address@hidden> writes:
> 
> > Can someone remind why GUILE uses a separate branch of the ltdl
> > library?
> 
> There were bugs in libltdl (serious ones) that were stalled upstream
> for a long time.  Since then, I believe all of them have been fixed,
> so our code is now essentially identical to upstream libtool.
> However, we'll need to discuss what to do next because there's still
> the possiblity that we might want to add a versioned dlopen to our
> copy, and that the upstream libtool developers wouldn't be interested.

Frankly, I find it hard to believe that there are packages that move
more slowly than GUILE.

The following patch solves the problem with GUILE on
Cygwin. Essentially, it completely removes the branched version of
ltdl from GUILE, substituting the system-installed ltdl.  Putting the
branch into GUILE itself has caused headaches for other platforms -in
particular, Cygwin- so I propose we stop doing it.

If there is a need for urgent bugfixes or more features in ltdl, then
they can contributed to libtool, or (in extreme cases) libtool itself
can be forked.





Index: guile-ltdl.c
===================================================================
RCS file: /cvsroot/guile/guile/guile-core/libguile-ltdl/guile-ltdl.c,v
retrieving revision 1.2
diff -u -r1.2 guile-ltdl.c
--- guile-ltdl.c        9 Oct 2002 21:16:12 -0000       1.2
+++ guile-ltdl.c        6 Oct 2004 22:37:38 -0000
@@ -27,21 +27,8 @@
 
 #include "guile-ltdl.h"
 
-#define lt_dlhandle_struct scm_i_lt_dlhandle_struct
-#define SCM_INSERTED_DLSYMLIST_STRUCT_DECL scm_i_lt_dlsymlist_struct
 
-#define LT_SCOPE static
-#define SCMLTXT static
-#define SCMLTSTATIC static
-
-#ifdef __GNUC__
-#define SCM_UNUSED __attribute__ ((unused))
-#else
-#define SCM_UNUSED
-#endif
 
-#include "raw-ltdl.h"
-#include "raw-ltdl.c"
 
 void
 scm_lt_dlpreload_default (const scm_lt_dlsymlist *preloads)
Index: guile-ltdl.h
===================================================================
RCS file: /cvsroot/guile/guile/guile-core/libguile-ltdl/guile-ltdl.h,v
retrieving revision 1.2
diff -u -r1.2 guile-ltdl.h
--- guile-ltdl.h        9 Oct 2002 21:16:18 -0000       1.2
+++ guile-ltdl.h        6 Oct 2004 22:37:38 -0000
@@ -26,8 +26,10 @@
 #ifndef SCM_LTDL_H
 #define SCM_LTDL_H 1
 
-typedef struct scm_i_lt_dlhandle_struct *scm_lt_dlhandle;
-typedef struct scm_i_lt_dlsymlist_struct scm_lt_dlsymlist;
+#include "ltdl.h"
+
+typedef lt_dlhandle scm_lt_dlhandle;
+typedef lt_dlsymlist scm_lt_dlsymlist;
 typedef void * scm_lt_ptr;
 
 void            scm_lt_dlpreload_default (const scm_lt_dlsymlist *preloads);




-- 

 Han-Wen Nienhuys   |   address@hidden   |   http://www.xs4all.nl/~hanwen 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]