ocaml / ocamlbuild

The legacy OCamlbuild build manager
Other
121 stars 81 forks source link

removes .so from products of all cmxs rules #305

Closed ivg closed 4 years ago

ivg commented 4 years ago

These cmxs rules do not produce .so files as they promise. This confuses the cache system, see #304

I don't know what effect it may have on other systems, like Windows or Mac, but if ocamlopt -shared produces cmxs on both it should work (and I believe, that this is what ocamlopt is doing).

gasche commented 4 years ago

Your remark seems perfectly correct today. But I would prefer to understand why this .so was included in of the targets. Was this always a mistake, or did the behavior of the compiler change over time? Why? (Given that it took some care to use the system-appropriate extension, I'm skeptical about the first option.)

gasche commented 4 years ago

The dll code was part of the initial cmxs-related commit: 8f2181f9fe14330e2cebcc1e5a82be71790fd64c.

gasche commented 4 years ago

I can't observe any sort of .so production on 3.12.1, 4.01 or 4.02 either.

gasche commented 4 years ago

Given these observations, I will be happy to merge the PR once the CI is happy.

ivg commented 4 years ago

forgot to write the magic fixes #304