Makefile для установки библиотеки OCaml - PullRequest
4 голосов
/ 05 мая 2011

Что мне нужно в моих install и uninstall целях в Makefile для библиотеки OCaml, чтобы она хорошо сочеталась с остальной частью установки, работала без проблем с ocamlfind и т. Д. на? В основном, чтобы быть "хорошим гражданином". Я не заинтересован в GODI в настоящее время. Спасибо!

Ответы [ 2 ]

6 голосов
/ 05 мая 2011

META-файлы для ocamlfind просты в написании (в основном, найдите META в другом известном вам проекте ocaml ¹, скопируйте его и внесите соответствующие изменения), и они обеспечат вам интеграцию с ocamlfind, в частности, легкую поддержку послепостроить установку и удаление (используя ocamlfind install и ocamlfind remove).Вы должны начать с этого.

¹: например, я черпаю вдохновение из META батарей аккумуляторов.

Строительная часть Makefile более сложна, их многочисленные решения (OCamlMakefile, OMake, ocamlbuild, простой Makefile и т. Д.) С различными сильными и слабыми сторонами.Если ваш проект достаточно прост, я бы порекомендовал ocamlbuild, который сам позаботится о отслеживании зависимостей.

Вы также можете использовать Oasis , который является относительно новым инструментом, основанным наocamlbuild и ocamlfind и стремятся предоставить унифицированный файл конфигурации для предварительной сборки конфигурации и различных сборок и развертываний (вашей программы, ваших программных библиотек, если таковые имеются, сопроводительных данных или документации ...).Это еще не зрелый проект (и его младший брат Oasis-DB еще не выпущен), но я призываю вас попробовать, если у вас есть время.Он немного сложнее, чем META, так как он делает больше в конце, поэтому сначала нужно создать META.

Наконец, вы сказали, что не заинтересованы в Godi (Godi очень хорошийсистема, а в некоторых случаях (например, BSD и т. д.) хорошая установка OCaml), но на случай, если вас все еще заинтересует Godiva , инструмент, помогающий строить GODIпакеты.Впрочем, я никогда этим не пользовался.

4 голосов
/ 05 мая 2011

Я не использую make-файлы, но ocamlbuild и скрипт оболочки для установки программного обеспечения, которое я распространяю .Люди из Debian без проблем делали пакеты для моего программного обеспечения с этими скриптами.Поэтому вы можете захотеть проверить их, так как они соответствуют некоторым из их требований (например, отдельные цели для байта и собственного кода).

Возможно, вы также захотите ознакомиться с их политикой упаковки , хотя я не знаю, актуален ли этот документ.

Не забудьте добавить файл META для ocamlfind.И вы также можете включить файл _oasis для предстоящего проекта oasis-db (еще не сделано в распространяемом мной программном обеспечении).

...