私は自分のプロジェクトを自己完結型に保とうとしています。主要なサードパーティ ライブラリの依存関係はすべて、プロジェクト リポジトリ内で構築および参照されています。私のプロジェクトの主な ocaml 部分は ocamlbuild に依存しています。
しかし、含まれるバッテリーのような複雑なパッケージの場合、ocamlfind を介してプロジェクトにリンクされることが強く期待されているようです。ocamlfind は、パッケージがグローバルにインストールされることを想定しているようです。(環境変数とそのconfが別の場所を指すことを許可していることは認識していますが、基本的には、パッケージがグローバルに構成されているという前提に基づいて構築されているようです-パッケージの検索パスを動的に拡張するための同等-I
またはフラグはありません。-L
たとえば、環境変数を設定して ocamlfind 構成を動的にオーバーライドし、プロジェクト ローカル ツリーを検索することは可能かもしれませんが、これは単なる引数よりもはるかに厄介であり、同時に削除せずにそうするのも難しいようです。プライマリ でのメイン システム パッケージの検出site-lib
可能性。これも必要になる場合があります。)
ocamlbuild を使用するプロジェクトのプロジェクト ローカル ツリー内で自明でないサードパーティ パッケージをビルドおよびビルドするための適切な戦略は何ですか?