Я поддерживаю библиотеку с привязками FFI к Hackage. Поэтому моя библиотека Haskell зависит от соответствующей библиотеки C и ее файлов заголовков. Теперь я указываю внешнюю зависимость в файле .cabal следующим образом:
PkgConfig-Depends:
libfoo >= 1.2
И он отлично работает для меня в Linux. Однако у меня есть пользователь библиотеки, которая сообщает, что установка pkg-config в Windows довольно громоздка, и вместо этого он предпочитает
Includes:
foo.h
Extra-libraries:
foo
Я бы хотел, чтобы моя библиотека была как можно проще построена, и не хочу форсировать зависимости, которые не требуются строго. Однако я вижу, что руководство Cabal предлагает использовать PkgConfig-Depends.
Мои вопросы:
- В каком формате я предпочитаю использовать межплатформенные пакеты?
- Можно ли записать файл
.cabalтаким образом, чтобы он мог работать сpkg-configи без? - И, кстати,
pkg-configвключен в платформу Haskell (у меня нет Windows-компьютера для проверки прямо сейчас)?