caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gabriel Scherer <gabriel.scherer@gmail.com>
To: "François Bobot" <francois.bobot@cea.fr>
Cc: OCaml Mailing List <caml-list@inria.fr>
Subject: Re: [Caml-list] META file standards for native plugins
Date: Thu, 9 Apr 2015 15:27:11 +0200	[thread overview]
Message-ID: <CAPFanBE=iVOV1sqqzTq9vpm35cjPJvoWNR5dKz4O5ftDVSOc8A@mail.gmail.com> (raw)
In-Reply-To: <552666C5.6070103@cea.fr>

[-- Attachment #1: Type: text/plain, Size: 2063 bytes --]

I don't understand the problem with the current semantics. The .cmxs will
be linked when both predicates "archive" and "plugin" are true, and that
seems correct to me (we use this when we want to link a *plugin* inside a
*native* program). This is consistent with the use for example of
(syntax,preprocessor,camlp4o) and (syntax,preprocessor,camlp4r) to select
standard or revised syntax, or (syntax,toploop) when invoked from the
toplevel. Also many packages currently use archive(byte,plugin) as well
(which links to the .cma, just as with only archive(byte)).

On Thu, Apr 9, 2015 at 1:47 PM, François Bobot <francois.bobot@cea.fr>
wrote:

> Hi,
>
>         Another topic which need a standard is native dynamic plugins. In
> fact there is a defacto standard (used by some libraries and tools, but not
> specified in ocamlfind documentation) but it is a bad one.
>
>   archive(plugin,native) = "toto.cmxs"
>
> It is a bad one because the semantic of META file says that the value of
> `archive(native)` can be return when you ask the value of `archive` with
> the predicate `plugin` and the predicate `native` true.
>
> I discussed it with some people and the current proposition where
>
>   * archive(plugin_native)
>   * archive(plugin)
>   * archive(shared)
>
>
> I personally prefer the `shared` predicate because it corresponds to the
> `-shared` option of ocamlopt that creates `.cmxs`.
>
>  The predicate `shared` would be added to ocamlfind documentation. The
> prospective `ocamlfind check META` could recommend to add an
> `archive(shared)` if the `archive(native)` exists. For a transition period
> `archive(plugin,native)` and `archive(shared)` would be both present in the
> META.
>
>
> Thoughts or suggestions?
>
>
> Best regards,
>
> --
> François Bobot
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>

[-- Attachment #2: Type: text/html, Size: 2743 bytes --]

  reply	other threads:[~2015-04-09 13:27 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-09 11:47 François Bobot
2015-04-09 13:27 ` Gabriel Scherer [this message]
2015-04-09 14:47   ` François Bobot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPFanBE=iVOV1sqqzTq9vpm35cjPJvoWNR5dKz4O5ftDVSOc8A@mail.gmail.com' \
    --to=gabriel.scherer@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=francois.bobot@cea.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).