Как установить дополнительные кабалы для всех пакетов в песочнице

В настоящее время я работаю над проектом на Haskell, который использует много собственного кода. Это означает, что включаемые файлы и библиотеки должны быть доступны для Cabal. Я делаю это с помощью флагов командной строки --extra-lib-dirs и --extra-include-dirs.

Я также использую функцию песочницы Cabal, чтобы избежать адской глобальной зависимости.

Проблема в том, что cabal часто приходится переустанавливать некоторые из моих пакетов и, таким образом, перестраивать их, для чего требуются собственные включаемые файлы и библиотеки. Поэтому я должен указать --extra-lib-dirs и --extra-include-dirs в командной строке при сборке любого из моих пакетов вообще, даже для тех, которые не требуют собственного кода, что очень раздражает.

Я знаю, что могу использовать extra-lib-dirs и extra-include-dirs в файлах.cabal, но они не допускают относительные пути, и я предпочитаю не фиксировать файлы с абсолютными путями на моем компьютере в централизованное хранилище.

Поэтому мне интересно, есть ли способ добавить каталоги в extra-lib-dirs или extra-include-dirs для всех пакетов в песочнице? Или, может быть, глобально для компьютера?

1 ответ

Решение

Вы можете просто создать местный cabal.config в каталоге, где находится ваша песочница. (Не модифицируйте cabal.sandbox.config, поскольку этот файл генерируется автоматически.)

Другие вопросы по тегам