From: "Nicolas Pouillard" <nicolas.pouillard@gmail.com>
To: Ashish Agarwal <agarwal1975@gmail.com>
Cc: caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] ocamlbuild not including dependencies with mlpack
Date: Mon, 06 Oct 2008 21:42:22 +0200 [thread overview]
Message-ID: <1223322139-sup-2877@ausone.local> (raw)
In-Reply-To: <d8be5ae20810061049h47f5e7ccs40684d7f4269e622@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1324 bytes --]
Excerpts from Ashish Agarwal's message of Mon Oct 06 19:49:16 +0200 2008:
> Ocamlbuild seems to not include dependent modules when building a library,
> when that library is defined by an mlpack file. However, it works fine if I
> manually pack, i.e. define an ml file instead of an mlpack file. Here's a
> summary:
>
> --- mylib.mlpack ---
> A
> B
>
> $ ocamlbuild mylib.cma
> $ cat _build/_log #just showing relevant line
> ocamlfind ocamlc -a -linkpkg mylib.cmo -o mylib.cma
>
> I was expecting a.cmo and b.cmo to get included in the library but they are
> not.
> Now if a replace the mylib.mlpack with mylib.ml as follows, I get what I
> want.
>
> --- mylib.ml ---
> module A = A
> module B = B
>
> $ ocamlbuild mylib.cma
> $ cat _build/_log #just showing relevant line
> ocamlfind ocamlc -a -linkpkg a.cmo b.cmo mylib.cmo -o mylib.cma
>
> How can I get the latter behavior with mlpack? Thank you.
The concept of package is precisely to get rid of a.cmo and b.cmo, since
mylib.cmo (in your first example) contains all the code of A and B.
In the second example mylib.cmo does not contains the code of A and B but
merely a bunch of 'let' definitions.
In your case, if you want to avoid name-space pollution by using packs, then
the first option is the right one.
Best regards,
--
Nicolas Pouillard aka Ertai
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 194 bytes --]
prev parent reply other threads:[~2008-10-06 19:43 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-06 17:49 Ashish Agarwal
2008-10-06 19:42 ` Nicolas Pouillard [this message]
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=1223322139-sup-2877@ausone.local \
--to=nicolas.pouillard@gmail.com \
--cc=agarwal1975@gmail.com \
--cc=caml-list@inria.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