Forcing a ppx to use the bytecode runtime

I’m writing a ppx which depends on some code which only works under the bytecode runtime (think: depends on compiler-libs).

It seems though that when I add (modes byte) to the dune stanza of the ppx, it’s skipped entirely and I end up with a bunch of Uninterpreted extension errors in the compiler output.

Is there a way to force the ppx to compile only to a bytecode library and be run using dune, or is this not possible because dune combines all of the ppxs into a single executable?