guile-devel
[Top][All Lists]
Advanced

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

Re: Better support for transition to guile-1.6


From: Thien-Thi Nguyen
Subject: Re: Better support for transition to guile-1.6
Date: Thu, 29 Nov 2001 04:13:37 -0800

   From: Rob Browning <address@hidden>
   Date: Sun, 18 Nov 2001 23:33:53 -0600

   So people would need to name their libraries say libfoo4.so... and
   then you'd say (dynamic-link "libfoo4")?

   If so, would libfoo4 be provided via a symlink, or what?  We'll still
   need the plain old libfoo.so.4... around, otherwise direct C linking
   won't work right, and this definitely isn't likely a good long term
   solution since we'll only be approximating the libtool versioning
   algorithm.

ewwww, parsing.

can i suggest a different approach?  now that we know that there are
multiple versioning/namespace schemes that control external lib access
(including those we've invented and abandoned), and whereas the
transition guide is still vapor (correct me if i'm wrong), and whereas
possession of guile may require exercising duplicity, why don't we:

 - write a general extension-protocol dispatcher
 - write default, ltdl, pre-1.5 and 1.6 specialization modules
 - write an autoselect (easy)
 - document this heavily

in parallel:

 - spin off guile-srfi package entirely, use it to test above
 - finish NEWS-combing
 - write a migration guide

i guess i'll start at the bottom of the list.  :-/  but a goops hacker
should start at the other end...

   >> Anyway, in the end I'm not too concerned about *which* policy we
   >> chose, just that we choose one while understanding the ramifications,
   >> and stick to it.

the ramifications of not supporting a general pluralistic solution from
the beginning is a slow painful approximation over time.

     3) For subsequent releases where the interface has changed in a
        backward compatible way, until we have a dynamic-link that
        supports an interface argument, the "interface number" must be
        added to the name of the shared library, so we would have
        libfooX.Y.so and would say from scheme (dynamic-link "libfooX").
        (I'm not sure whether or not X and Y would always be the same --
        I'd have to re-examine the libtool versioning algorithm).

     4) Eventually we hope that dynamic-link will support an "interface
        number" argument and so we can drop the number in the library
        name and have instead (dynamic-link "libfoo" 4) or similar.

   Does that seem right?

these particulars can be encoded.

   On the development side, I think I can get by with just the current
   single libguile-dev package which would contain all the -dev bits.
   (Right now, you can only develop for the latest guile using the debian
   packages, since the -dev package isn't versioned).

this won't work cleanly -- the headers must reflect the libraries;
versioning is required.

thi



reply via email to

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