我正在使用 camlp4.macro 来启用条件编译。我在通知 OCamlbuild 标记为“use_jscore”的某些文件必须使用给定的 camlp4 选项进行预处理时遇到问题。这是我目前拥有的:
let _ = dispatch begin function
| After_rules ->
flag ["ocaml"; "use_jscore"] (S[A"-package"; A"camlp4.macro"; A"-syntax"; A"camlp4o"; A"-ppopt"; A"-DUSE_JSCORE"]);
但这被 OCamlbuild 完全错误地逃脱了。我正在使用 ocamlfind,所以基本上我想告诉 OCamlbuild 的是,所有标记为“use_jscore”的 OCaml 文件都必须由 camlp4.macro 预处理,该文件也提供了 -DUSE_JSCORE 选项。