Guest9299 has quit [Killed (calcium.libera.chat (Nickname regained by services))]
infinity0_ is now known as infinity0
azimut_ has quit [Ping timeout: 240 seconds]
azimut has joined #ocaml
ehrt74 has quit [Ping timeout: 252 seconds]
Serpent7776 has quit [Quit: WeeChat 2.8]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 255 seconds]
olle has quit [Ping timeout: 260 seconds]
rgrinberg has joined #ocaml
<dh`>
octachron: fair enough, but then the other one's wrong and anyone writing a build system that depends on it is borrowing trouble
<dh`>
I would say that since it's not in anyone's interests to make it hard to write build systems, in the case of a .ml file with no .mli file all the depends should be on both the .cmx and .cmi outputs
<octachron>
the not "-all" is still correct in term of transitive dependencies
<dh`>
you can't have ".cmi files don't depend on .cmx files" and ".cmi files depend on .cmx files" correct at the same time :-)
<octachron>
The cmx is used as a proxy for the cmi in that case
<dh`>
yes, sure, but if it's going to do that in the one case it should do it in both cases
<dh`>
especially since it is almost certainly doing it on purpose
<dh`>
also, in the -all output a lot of .cmi files do depend on .cmx files, even ones where there are separate .ml and .mli sources
<dh`>
the combination of these points definitely seems wrong
<octachron>
I don't see after a quick glance the case where the "-all" path could add a cmx files as dependencies to cmis
<octachron>
(and without "-all" the dependencies generated are the minimal dependencies required by make in anger)
<octachron>
(and if you are not using makefile, there is no reason to use ocamldep to compute dependencies)
<dh`>
I am getting a bunch
<dh`>
or I think I am, let me check more carefully
alexherbo2 has quit [Remote host closed the connection]
<dh`>
ah, no, that's it's only for files with no .mli
<dh`>
the output is, alas, not that easy to reda
<dh`>
or read
<dh`>
anyway I had to switch to -all because stuff was missing without it, but I can't remember what any more :-(
<dh`>
but it also doesn't really understand having a separate build directory and that needs to be hacked around and maybe that's part of the problem
<dh`>
although hmm
<dh`>
for an .mll file, where the output .ml goes in the build directory but the .mli is an ordinary source
<dh`>
does the .mli file need to be copied to the build directory for things to work, or is it enough to generate the .cmi file there?
alexherbo2 has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
alexherbo2 has quit [Ping timeout: 250 seconds]
<octachron>
with recent enough version of OCaml, you can use `-cmi-file ...` to compile the ml file with the right cmi
szkl has quit [Quit: Connection closed for inactivity]
<dh`>
I guess it's easy to check if the interface is being applied
<reynir>
over the weekend I tried to compile a program using dune that uses a module from a compiled malfunction source without luck. I could however compile it by hand after refreshing what a .cmx, .cmi etc is
bartholin has joined #ocaml
gdr3941 has quit [Remote host closed the connection]
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]