guile-user
[Top][All Lists]
Advanced

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

Re: cmod-play 1 available + modsup.h additions


From: Marius Vollmer
Subject: Re: cmod-play 1 available + modsup.h additions
Date: Fri, 14 Nov 2003 15:29:11 +0100
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux)

Ludovic Courtès <address@hidden> writes:

> Also, will this be part of Guile 1.6.x too?

In 1.6 and going forward, 'compiled modules' are done differently.  A
'use-modules' statement, say, does not directly load a shared library.
Instead, it loads a small Scheme wrapper file that then in turn loads
the shared library via 'load-extension'.  That way, modules can depend
on one another and load each other in the same way used for Scheme
code.

A second problem is that a shared library might depend on a shared
library that is not asssociated with a module.  For example, the
module (gtk-1.2 gtk) loads libguile-gtk-1.2.so (via load-extension)
and libguile-gtk-1.2.so depends on libgtk.so which in turn depends on
libgdk.so, etc.  The (gtk-1.2 gtk) module only loads
libguile-gtk-1.2.so and the remaining libs need to be loaded
automatically.  This does indeed happen with libltdl (which is used by
Guile).

As far as I understand it, Thien's proposal does only solve the first
problem, that of modules depending on each other, but not the second
one, that of a shared library depending on another shared library that
is not used by/as a module.

The first problem does not exist in 1.6 since shared libraries are not
modules anylonger, the second one does not exist since libltdl handles
it already correctly.

( 1.6 still supports loading shared libraries as modules, but
  deprecates it. )

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405




reply via email to

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