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

Re: findlib 1.x's features (includes shining new METAs for lablg*)



On Sun, Jan 11, 2004 at 06:27:38PM +0100, Stefano Zacchiroli wrote:
> Gerd released a fixed findlib (1.0.2), I've just upload the package.
> 
> This version of findlib ships two new features that are of interest for
> debian:
> 
> 1) subpackages, i.e. the possibility to define arbitrarly nested findlib
>    packages in the same META file. Subpackages are accessed via dot
>    notation (e.g. "p1.p2.p3")
> 
> 2) additions, i.e. the possibility to append values to a findlib
>    variable inside a META file (e.g. 'archive += "foo.cma"')
> 
> Used together these two features permit us to minimize the number of
> predicates in the META files we distribute. Predicates are indeed good
> only to express conditions that are global for the compilation process
> (e.g. byte/native, multi-threaded/single-threaded, ...), but are bad(TM)
> to express per package conditions as we used it in lablgtk for example
> (predicates: "init", "gnome", ...). Used in this way predicates soon or
> later will clash.
> 
> I attach three shining new META for lablgtk, lablgtk2 and lablgl. Using
> them, to link a source file which uses gtkgl and need gtk intialization
> one will simply do:
> 
>   ocamlfind ocamlc -linkpkg -package "lablgtk2.gtkgl lablgtk2.init" foo.ml
> 
> Another advantage is in the writing of META files themselves, now we
> could add as many subpackages as we wish (if needed :) avoiding
> exponential explosion of the META file in the number of predicates.
> 
> If nobody complains I'm here asking Sven to update the corresponding
> debian packages so that they include these METAs. I've done some test on
> them, but some more will be appreciated.
> 
> Cheers.
> 
> PS the new META for lablgtk2 will also add support for gnomecanvas and
>    rsvg which is missing in the META currently in unstable
> 

Hello,

This functionality is indeed very interessant...

Thanks for the example.

Regard
Sylvain LE GALL



Reply to: