Что мне нужно в моих целях install
и uninstall
в Makefile
для библиотеки OCaml, чтобы она хорошо сочеталась с остальной частью установки, без проблем работала с ocamlfind
и так далее? В основном, чтобы быть «хорошим гражданином». В настоящее время меня не интересует GODI. Спасибо!
Makefile для установки библиотеки OCaml
Ответы (2)
META-файлы для ocamlfind легко написать (по сути, найдите META в другом известном вам проекте ocaml¹, скопируйте его и внесите соответствующие изменения), и они обеспечат вам интеграцию с ocamlfind, в частности, простую поддержку установки после сборки и деинсталляция (используя ocamlfind install
и ocamlfind remove
). Вы должны начать с этого.
¹: например, меня вдохновляет метабатареи.
Сборочная часть Makefile более сложна, существует множество решений (OCamlMakefile, OMake, ocamlbuild, простой Makefile и т. д.) с различными сильными и слабыми сторонами. Если ваш проект достаточно прост, я бы порекомендовал ocamlbuild, который сам позаботится об отслеживании зависимостей.
Вы также можете использовать Oasis — относительно новый инструмент, основанный на ocamlbuild и ocamlfind, а также стремится предоставить унифицированный файл конфигурации для предварительной конфигурации и различных сборок и развертывания (вашей программы, ваших программных библиотек, если таковые имеются, сопутствующих данных или документации...). Это еще не зрелый проект (и его младший брат Oasis-DB еще не выпущен), но я рекомендую вам попробовать, если у вас есть время. Это немного сложнее, чем META, так как, в конце концов, он делает больше, поэтому создание META в первую очередь все же является хорошим шагом.
Наконец, вы сказали, что вас не интересует Godi (Godi — очень хорошая система, а в некоторых случаях (например, BSD и т. д.) лучше иметь хорошую установку OCaml), но на случай, если вы все еще заинтересованы в Godiva, инструменте, помогающем создавать пакеты GODI. Хотя сам я им никогда не пользовался.
ocamlfind
это то, что вам нужно. По сути, вы просто даете ocamlfind install
свой META-файл и список (скомпилированных, .mli и т. д.) файлов, которые вы хотите установить в каталог библиотеки ocaml, и все готово.
- person gasche; 06.05.2011
Я использую не make-файлы, а ocamlbuild и сценарий оболочки для установки программного обеспечения, которое я распространяю. Разработчики Debian сделали пакеты для моего программного обеспечения с помощью этих скриптов без проблем. Поэтому вы можете проверить их, поскольку они соответствуют некоторым из их требований (например, отдельные цели для байтового и собственного кода).
Вы также можете ознакомиться с их политикой упаковки, хотя я не знаю, актуален ли этот документ.
Не забудьте добавить файл META для ocamlfind. Вы также можете включить файл _oasis для предстоящего проекта oasis-db. (еще не сделано в программном обеспечении, которое я распространяю).