2016-06-15 4 views
0

現在、Oasisを使ってOCamlファイルのビルドを処理するプロジェクトに取り組んでいます。それは素晴らしい作品です。しかし、私は、findlibParentがライブラリ定義で実際に何をしているのか混乱しています。ライブラリの現在のライブラリが含まれていますOasis findlibParentの目的を理解する

ドキュメントは

FindlibParentを指定します。現在のライブラリはその親として構築され、それに沿ってインストールされます。

built as its parentsは私が何かを参照する方法に何があるのか​​理解していません。モジュールライブラリがfindlibParent: Xで定義されていて、モジュールの名前がYであれば、open X.Yのように参照する必要がありますか?

これが明らかな場合はお詫び申し上げます。言葉遣いは私にとって非常に混乱しています。

ありがとうございました!

+0

私はオアシスのユーザーではありませんが、それはビットモジュール階層ですが、finblib(ocamlfind)ライブラリ階層であると思います。 'findlibParent:x'があり、現在のライブラリの名前が' y'であれば、 'ocamlfind install'を使って' x'でインストールされます。その結果、現在のパッケージは 'x.y'で利用可能になります。 'ocamlfind list'で' compier-libs.bytecomp'のようなサブパッケージの例を見ることができます。 – camlspotter

+0

上のタイプミスです:それはビットモジュール階層です=>モジュール階層ではありません – camlspotter

答えて

0

これは、ライブラリがビルドされインストールされると、findlib経由でparent_name.library_nameとしてアクセスできることを意味します。私の知る限りでは、このフィールドは依存性を意味するものではないので、「親として構築される」というフレーズが実際に真実であるかどうかはわかりません。実際の唯一の意味は、それが親ライブラリのsubpackageに含まれるため、独自のMETAファイルを持たないことです(同じフォルダ内に複数のライブラリを定義する場合は非常に便利です)

関連する問題