Of course, it is possible: Just write your own META file for
lablgtk/lablgtk2 - this is what distros like GODI and Debian do. The
META file need not to be in the same directory as the library if you add
a line
directory="/path/where/the/library/really/is"
to the META file, so you can easily unify lablgtk's installation scheme
with the findlib requirements.
For your convenience, I attached the (generated) META file GODI uses for
lablgtk and lablgtk2.
Gerd
--
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany
ge...@gerd-stolpmann.de http://www.gerd-stolpmann.de
Phone: +49-6151-153855 Fax: +49-6151-997714
------------------------------------------------------------
--
Guillaume Rousse
Projet Estime, INRIA
Domaine de Voluceau
Rocquencourt - B.P. 105
78153 Le Chesnay Cedex - France
_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
> I'm speaking of incoming camlimages 3.0.0 release, not of camlimages
> packages in some distribution. I can't interfere with already existing
> lablgtk/lablgtk2 installation, unless there is a way to do it privately
> to camlimages itself.
Sorry, I misunderstood you.
In general, findlib assumes that prerequisite packages already have
findlib support. There is no clean built-in way to cope with the
situation, simply because if several packages depended on lablgtk and
fixed the missing META file in their own way it would not be possible to
resolve dependencies cleanly anymore.
What you can still do is to define a subpackage
camlimages.lablgtk_substitute (syntax see below) and to depend on this
subpackage if you see that lablgtk is installed without META file
(otherwise just depend on lablgtk). This subpackage contains the
substitute for the missing META file. However, as said this is no really
clean solution but probably the best you can do.
You can define subpackages in META files with this syntax:
<this is the META file for camlimages>
package "lablgtk_substitute" (
<META directives>
)
The subpackage can then be referred to as camlimages.lablgtk_substitute.
For a complete example see the camlp4 META file coming with findlib.
As lablgtk is usually installed below the standard library directory,
you can refer to this directory using
directory = "+lablgtk"
Hope this helps. You might also be interested in how GODI generates a
META file for the current version of camlimages (it assumes, however,
that lablgtk is installed _with_ META file):
https://gps.dynxs.de/svn/godi-build/trunk/godi/godi-camlimages/create-META
Gerd
--
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany
ge...@gerd-stolpmann.de http://www.gerd-stolpmann.de
Phone: +49-6151-153855 Fax: +49-6151-997714
------------------------------------------------------------
_______________________________________________
> You can define subpackages in META files with this syntax:
>
> <this is the META file for camlimages>
> package "lablgtk_substitute" (
> <META directives>
> )
>
> The subpackage can then be referred to as camlimages.lablgtk_substitute.
> For a complete example see the camlp4 META file coming with findlib.
>
> As lablgtk is usually installed below the standard library directory,
> you can refer to this directory using
>
> directory = "+lablgtk"
>
> Hope this helps.
That was exactly what I needed, thanks. I just have to handle the
conditional META support in lablgtk now.
> You might also be interested in how GODI generates a
> META file for the current version of camlimages (it assumes, however,
> that lablgtk is installed _with_ META file):
>
> https://gps.dynxs.de/svn/godi-build/trunk/godi/godi-camlimages/create-META
Well, I hope this won't be necessary anymore with next release, if I
understood correctly how to generate it myself.
You're welcome to checkout current CVS version of camlimages to check.
--
Guillaume Rousse
Projet Estime, INRIA
Domaine de Voluceau
Rocquencourt - B.P. 105
78153 Le Chesnay Cedex - France
_______________________________________________