Ecco un modo per farlo utilizzando myocamlbuild.ml e _tags.
In myocamlbuild.ml, aggiungere un'istruzione flag
lasciare ocamlbuild riconoscere un nuovo tag - qui keep_asm - che consentirà -S
per i file selezionati durante la compilazione di nativo:
flag ["ocaml";"compile";"native";"keep_asm"] (S [A "-S"]);
Senza la stringa "native"
nell'elenco passato a flag
, la bandiera sarebbe abilitata per qualsiasi compilazione utilizzando ocaml (come indicato dalle stringhe "ocaml"
e "compile"
) e si attiva quando viene richiamato lo ocamlc, che non si desidera.
Così, per uno stand alone completo myocamlbuild.ml fare solo quanto sopra, questo risulterebbe come:
open Ocamlbuild_plugin;;
open Command;;
dispatch begin function
| Before_rules ->
begin
end
| After_rules ->
begin
flag ["ocaml";"compile";"native";"keep_asm"] (S [ A "-S"]);
end
| _ ->()
end
Una volta, hai quel nuovo tag definito, è possibile utilizzarlo in il tuo file _tags come con qualsiasi altro tag, ad esempio:
<myfile.ml>: use_bigarray, keep_asm