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

Re: Policy, location of .cma files in binary packages, and dynlink...



On 20-01-2008, Stéphane Glondu <steph@glondu.net> wrote:
> Hi,
>
> If I understand the Debian OCaml Packaging Policy correctly, .cma files
> should be in libxxx-ocaml-dev binary packages. Has this choice been
> taken with dynamic loading in mind?
>
> Ocsigen may, and does with its default configuration and in the most
> useful cases, dynamically load nums.cma, sqlite3.cma, and cryptokit.cma,
> the last two being in *-dev packages. However, I think this is
> confusing: is it ok for an executable to depend on *-dev packages at
> runtime?
>
> When OCaml with native dynamic loading is realeased, where so-called
> "plugins" (.cmxs, I am not talking about .cmx files!) should be put?
> libxxx-ocaml or libxxx-ocaml-dev? The second choice would be
> meaningless, since .cmxs are only meant to be dynamically loaded. And
> the first choice would be inconsistent with the current choice for .cma
> files.
>
> Therefore, I think .cma files should be put in libxxx-ocaml binary
> packages instead, or at least this possibility should be allowed and
> explicitly mentioned in the policy.
>

This fall in the same case as the .cmo used for camlp4 extension. 

I think that we should end up in the same situation as C: put everything
in libxxx-ocaml and only doc/interfaces (cmi/mli)/things that could not
be dynamically loaded (cmx) in libxxx-ocaml-dev. For now, there were
only a few packages using dynamic linking (cameleon, camlp4/ocamldoc
extension AFAIK). 

However this decision generates a deep impact on every ocaml packages, so
i think, we should go step by step until making it mandatory. Allowing
it "explicitly" is a good first step.

The policy is in the OCaml package, i think you can edit this section if
you want.

Regards,
Sylvain Le Gall


Reply to: