Ocamlbuild覆盖默认选项

Ocamlbuild覆盖默认选项,ocaml,ocamlbuild,Ocaml,Ocamlbuild,我安装的OCaml无法识别#!,因此,camlp4o不能独立运行。它必须作为“ocamlrun camlp4o”调用 我尝试在插件中添加一个标志。但新标志只是添加到现有标志中 结果是ocamlbuild将使用 “-pp camlp4o ocamlrun camlp4o” 一个有效的解决办法是引入一个新标签“my_camlp4o”。然而,ocamlbuild的文档确实提到了“覆盖”默认值的功能。似乎ocamlc、ocamlopt可以被覆盖。但我们能超越camlp4o吗?可以在插件中完成吗?支持通过

我安装的OCaml无法识别#!,因此,camlp4o不能独立运行。它必须作为“ocamlrun camlp4o”调用

我尝试在插件中添加一个标志。但新标志只是添加到现有标志中

结果是ocamlbuild将使用

“-pp camlp4o ocamlrun camlp4o”


一个有效的解决办法是引入一个新标签“my_camlp4o”。然而,ocamlbuild的文档确实提到了“覆盖”默认值的功能。似乎ocamlc、ocamlopt可以被覆盖。但我们能超越camlp4o吗?可以在插件中完成吗?

支持通过
-ocamlc
-ocamldep
等命令行选项更改Ocamlbuild中的默认值。不幸的是,camlp4目前不是可自定义命令集的一部分。您可以使用请求此功能吗

(同时,我推荐一种解决方法,例如,用一个执行正确操作的可执行脚本替换路径中的
ocamlrun
可执行文件。)

编辑


另一种解决方法是通过
ocamlfind
执行所有编译,它支持覆盖camlp4命令(请参阅),并且可以使用
-use-ocamlfind
选项作为所有ocamlbuild命令的基础。不幸的是,ocamlfind本身只支持编译时的预处理(在调用实际编译器时),而不支持独立的源代码到源代码处理,因此这可能不包括您自己的用例。

您希望ocamlbuild执行什么命令?非常感谢。我将请求此功能。