用ocamlbuild构建库,用ocamlfind安装它 - 什么是最佳实践?

时间:2015-01-04 23:19:52

标签: ocaml ocamlbuild ocamlfind

我使用ocamlbuild通过mylib.mllib文件编译OCaml库,该文件列出了构成库的模块。之后我想使用ocamlfind安装库文件。与使用ocamlbuild构建的二进制文件不同,所有库文件都位于_build目录中。是使用

之类的东西安装它们的正确方法
ocamlfind install META _build/a.cma _build/a.cmxa ...

ocamlbuildocamlfind之间是否有更好的整合?特别是,我注意到-install-lib-dir的{​​{1}}标记,但无法找到有关其目的的文档。

我知道ocamlbuild,但现在想解决Makefile和oasis目标中的问题。所有这些都是在使用install库管理器的情况下进行的,但对于讨论来说无关紧要。

1 个答案:

答案 0 :(得分:1)

不,没有具体的整合。 ocamlbuild与预构建(配置)和构建后(安装)工具无关,ocamlfind与构建工具同样不可知。

{J} ocamlbuild不能很好地可靠地将_build/的目标链接起来,这是正确的。这是一个众所周知的故障,但您可以随意report特定情况,这对您来说是一个问题。无论如何,我认为最好直接引用_build/中的文件。

DanielBünzli有一个feature request让ocamlbuild帮助生成OPAM的.install文件,而不是手工编写(或makefile脚本)。我个人没有时间研究这些功能,但我会热烈欢迎这方面的任何ocamlbuild贡献。