-
Notifications
You must be signed in to change notification settings - Fork 470
ppxs are built in the target context in cross-compilation settings #4156
Copy link
Copy link
Milestone
Description
When using dune-workspace features to enable cross-compilation, ppx libraries should be built in the host context.
As dune tries to build them in the target context, it fails because some libraries such as ocaml-compiler-libs may not be available.
I added a failing test in this PR: #4155
It leads to the following error:
$ dune build --debug-dependency-path
File "lib/dune", line 3, characters 18-24:
3 | (preprocess (pps fooppx)))
^^^^^^
Error: Library "fooppx" in _build/cross-environment/ppx is hidden
(unsatisfied 'enabled_if').
-> required by lib/lib.pp.ml (context cross-environment)
-> required by alias lib/all (context cross-environment)
-> required by alias default (context cross-environment)
Hint: try:
dune external-lib-deps --missing --debug-dependency-path @@default
[1]
Reactions are currently unavailable