如何使用 ocamlbuild 构建自定义的基于 utop 的顶层?

How to build a custom utop-based toplevel with ocamlbuild?

我想为我的项目创建一个基于 utop 的顶层,它是由 ocamlbuild 构建的。

但是,ocamlbuild 仅支持从 *.mltop 构建的 mktoplevel。它没有在文档中的任何地方提到 utop

此外,utop 手册只解释了 jbuilder 的顶级创建,甚至没有提到 ocamlbuild。它还解释了通过 ocamlfind 进行构建,但强烈反对这种方法。

那么我应该如何创建基于 utop 的顶层?

或者,这是完全错误的方法吗?我应该做一些不同的事情来获得基于 utop 的顶层。如果可以,推荐的方法是什么?

来自 utop 源的 custom-utop 示例过去是用 ocamlbuild 构建的,后来是用 jbuilder 构建的。有关示例,请参阅 this older version