You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Clarify and make deterministic the behavior of promotion with cross-compilation.
Currently, based on several tests, it seems that the file being promoted is not deterministic, and it is also not always the cross-compilation one being copied.
the native one (_build/default/foobar/something.exe)
the cross-compilation one (_build/default.sometoolchain/foobar/something.exe)
But then Dune will copy one of those 2 (binary) files to ./something.
It is not clear which will be copied
It seems to change, sometimes it is the native one, sometimes the cross-compilation one
Note that since Dune supports passing several cross-compilation targets, I don't even know what should be the semantic of promotion with cross-compilation.
At least I would have liked an error/warning, e.g.,
⚠ Promotion is incompatible with more than 1 target, but you passed targets (native sometoolchain)
Kinda related question: is it possible to remove targets from the CLI? E.g. to only build for target sometoolchain without building the native target?
The text was updated successfully, but these errors were encountered:
Desired Behavior
Clarify and make deterministic the behavior of promotion with cross-compilation.
Currently, based on several tests, it seems that the file being promoted is not deterministic, and it is also not always the cross-compilation one being copied.
Example
Consider the following promotion rule:
Now run
dune build -x sometoolchain something
.Dune will build 2 binaries (as documented in https://dune.readthedocs.io/en/stable/cross-compilation.html):
_build/default/foobar/something.exe
)_build/default.sometoolchain/foobar/something.exe
)But then Dune will copy one of those 2 (binary) files to
./something
.Note that since Dune supports passing several cross-compilation targets, I don't even know what should be the semantic of promotion with cross-compilation.
At least I would have liked an error/warning, e.g.,
Kinda related question: is it possible to remove targets from the CLI? E.g. to only build for target
sometoolchain
without building thenative
target?The text was updated successfully, but these errors were encountered: