Я использую ocamlbuild
для компиляции библиотеки OCaml через файл mylib.mllib
, в котором перечислены модули, содержащие библиотеку. Впоследствии я хочу установить файлы библиотеки, используя ocamlfind
. В отличие от двоичных файлов, построенных с ocamlbuild
, все файлы библиотеки находятся в каталоге _build
. Правильно ли способ установить их что-то вродеСтроительная библиотека с ocamlbuild, устанавливающая ее с ocamlfind - в чем лучшая практика?
ocamlfind install META _build/a.cma _build/a.cmxa ...
или есть более тесная интеграция между ocamlbuild
и ocamlfind
? В частности, я заметил флаг -install-lib-dir
ocamlbuild
, но не могу найти документацию о его назначении.
Я знаю oasis
, но прямо сейчас хотел бы решить проблему в файле Makefile и цели install
. Все это в контексте использования менеджера библиотеки opam
, но это не должно иметь значения для обсуждения.
Возможно, вы знаете, что opam предоставляет механизм для установки файлов, я просто хотел упомянуть об этом на всякий случай. – didierc
Указанный вами вариант переопределяет каталог по умолчанию, в котором расположены библиотеки ocamlbuild (обычно '/ usr/lib/ocaml/ocamlbuild /'). Попробуйте 'ocamlbuild -where', затем повторите попытку с этой опцией и фиктивным путем, чтобы проверить его эффект. – didierc
Нет никакой конкретной интеграции между ocamlbuild и ocamlfind install-wise. Поддержка Ocamlfind была добавлена в ocamlbuild долгое время после ее первого выпуска, и изначально ocamlbuild не предназначался для использования ocamlfind. Поскольку проект был перехвачен его новым сопровождающим, ocamlbuild начал поддерживать ocamlfind для своих функций управления пакетами, но установка не входит в обязанности ocamlbuild, поэтому и началась разработка оазиса и opam. – didierc