Passing parameters to coqc in dune

How can I enable multicore and/or quick(no proof check) compilation in dune?

The coq.theory stanza has the optional flags to pass arguments to coqc (see doc Stanza reference — dune documentation). I don’t know anything about multicore.

These features are not officially supported yet, -vio [ -quick is deprecated these days will definitively not work; for the -async family of flags you could try your luck with (flags ...)

Thank you for the answers. I tried -vio and -vos separetly in flags but getting following error in both:

File "src/Framework/Primitives/_unknown_", line 1, characters 0-0:
Error: Rule failed to generate the following targets:
- src/Framework/Primitives/BaseTypes.vo

Indeed, that is what I meant “not supported”, for vos there is an experimental patch.

Actually, adding support for -vio for example would be quite trivial, the thing that we have not resolved is the user interface; how would one tell dune about “now you use -vio for this set of targets”. If you have a good proposal I’d love to hear.

I think adding vo-related aliases is the 5th item in my Coq + Dune todo list, that would be a way for example [it is there as to enable the generation of native stuff as an alias].

A super quick workaround that we could do in dune 2.9 is to actually add the rule for the .vio files, but provide no further interface; that would still allow you to call dune build $set_of_vio_files and have it work correctly.

Unfortunately -vos is way more complicated as Coq does erase .vo files when using -vos [not the best decision IMHO] so when setting up the rules for a library you must choose which mode you are in.