From: David Allsopp <dra-news@metastack.com>
To: SF Markus Elfring <elfring@users.sourceforge.net>,
"caml-list@inria.fr" <caml-list@inria.fr>
Subject: RE: [Caml-list] Development status of the dependency generator for OCaml
Date: Fri, 21 Jul 2017 09:19:10 +0000 [thread overview]
Message-ID: <E51C5B015DBD1348A1D85763337FB6D9014D51BFC0@Remus.metastack.local> (raw)
In-Reply-To: <8e0dbe2f-3ff2-5f56-7d81-89f1eaad041b@users.sourceforge.net>
Markus Elfring wrote:
> Hello,
>
> I took a closer look at data which the tool “ocamldep” can provide.
>
>
> * Compiled module interfaces (CMI files) do not depend on interface
> descriptions (MLI files) there.
> Is such dependency information interpreted as an optional detail?
It surprises me to find that ocamldep -all foo.mli doesn't generate `foo.cmi: foo.mli`, but including these dependencies in the output of ocamldep seems of limited use to me - at some point you need a rule to compile the file, e.g.
%.cmi: %.mli
ocamlc -c $^
and ocamldep will *never* generate that.
> * Compiled modules do also not depend on OCaml sources (ML files) there.
> Some of the generated make specifications indicate only a dependency on
> a single compiled module interface.
You can get the .ml (and .o files) included by using ocamldep -all
What are you regarding as erroneous about the entries with "only a dependency on a single compiled module interface" (for bytecode, that sounds correct to me).
> Do you expect that dependency data should be exported completely?
Depends on your definition of completely - the -all flag seems to do most of what you're after, and the part which is missing looks to be of limited value.
> Another view:
> It is usually expected that some dependencies can be handled by implicit
> make rules. So I imagine that the provided data should only contain
> extensions for the desired software build rules.
> https://www.gnu.org/software/make/manual/html_node/Multiple-Rules.html
>
> It seems that a bit of data is written too much so far according to this
> usage.
> How would you like to improve the software situation further?
You mean that you'd like simple cases eliminated? For example:
foo.cmi:
foo.cmo: foo.cmi
should simply not be printed, and be assumed to work with implicit rules? When one takes the maintenance burden into account, I'm not sure I'd see that as an improvement...
David
next prev parent reply other threads:[~2017-07-21 9:54 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-18 19:21 SF Markus Elfring
2017-07-21 9:19 ` David Allsopp [this message]
2017-07-21 11:30 ` SF Markus Elfring
2017-07-21 13:01 ` David Allsopp
2017-07-21 15:50 ` SF Markus Elfring
2017-07-21 16:16 ` David Allsopp
2017-07-21 17:07 ` SF Markus Elfring
2017-07-25 18:13 ` [Caml-list] Addition of a data export variant containing only required extensions for build dependency specifications SF Markus Elfring
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=E51C5B015DBD1348A1D85763337FB6D9014D51BFC0@Remus.metastack.local \
--to=dra-news@metastack.com \
--cc=caml-list@inria.fr \
--cc=elfring@users.sourceforge.net \
/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