Я поддерживаю библиотеку с привязками 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-компьютера для проверки прямо сейчас)?