guile-devel
[Top][All Lists]
Advanced

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

Re: packaging the add-on libs...


From: tomas
Subject: Re: packaging the add-on libs...
Date: Thu, 10 Oct 2002 09:12:46 +0200
User-agent: Mutt/1.3.24i

On Thu, Oct 10, 2002 at 12:03:42AM -0500, Rob Browning wrote:
> 
> I spoke with Marius a little while back about some of the complexities
> involved in properly managing the versioning of our add-on libs [...]

[snip]

> As an example, say libguile13 ships with libguile-foo-v-1 and
> libguile-bar-v-7, and libguile14 ships with libguile-foo-v-2 and
> libguile-bar-v-7.

[snip]

> [the system] would be using libguile13 > via foo and libguile14
> via bar.
> 
> One clear solution might be to just establish the convention that you
> always embed the libguile major version number in the add-on lib's
> name.

[snip]

>   libguile12-srfi-srfi-4-v-1
>   libguile12-srfi-srfi-13-14-v-3
>   libguile12-foo-bar-v-4

Looks viable to me (but not excitingly beautiful, mind you ;)

At the risk of boring you all (or even of being flamed out of the
list ;-) I'd like to repeat what has been (or is being) discussed
in another thread. The Big Guys (those with the P in the name, you
remember) have version-dependent [1] subdirectories where they
stuff the modules into which `belong' to the interpreter [2]. This
is a strategy also followed by Emacs. I think this approach might
minimize the problems you expose above.

Of course, Marius is right in not wanting to introduce gratuitous
dependencies and trying to distribute modules which are usable as
either guile extensions or as shared libs on their own. But those
shouldn't care about which guile version they are linked against
(or even whether there is guile around at all), and I'd expect them
to provide some (even if stripped down) functionality in any case.

---------
[1] Dependent on the version of the main interpreter, that is.

[2] I see two criteria to decide whether a module `belongs' to
    the interpreter: (a) it cares enough about the version of the
    interpreter it gets (dependencies on the API or ABI), and
    (b) it doesn't make much sense (or wouldn't even work) without
    *some* version of the interpreter (e.g. a debugger or profiler
    for guile). Note that (a) is stronger -- still I'd plea to
    stuff modules satisfiyng (b) into a guile-specific (maybe
    not version-specific) directory.
    Note that your example above libguile-foo-v-1 satifies (a).

Hope I've been clear

Thanks
-- tomas




reply via email to

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