как управлять порядком аргументов командной строки ghc из cabal - PullRequest
0 голосов
/ 19 апреля 2019

Мне нужно изменить порядок выдачи команды Setup.hs, чтобы связать мое приложение.Я пытаюсь построить проекции WinRT для Haskell.Пока они примитивны, но я хочу, чтобы кросс-компиляция mingw / nix из Linux была «первым классом» в этом проекте.

Они довольно хорошо собираются на платформе Haskell Windows 10 с установленным Windows SDK.

Но когда я выпускаю nix-build из GNU / Linux с подходящим файлом nix, он не может сказать, что не может найтинекоторые символы, которые приходят из windowsapp (windowsapp.lib в Windows, libwindowsapp.a в mingw).

Однако, если я сохраню временные файлы, которые он создает, и использую Setup build -v для получения команды линковки, я могу сделатьон связывается путем повторного запуска с помощью -lwindowsapp, добавляемого к end командной строки ld - где угодно, где смешаны другие специфичные для Windows / Mingw библиотеки, такие как -lmsvcrt и -lgdi32.Похоже, они связаны с дополнительными библиотеками rts и base.

Использование extra-libraries: windowsapp или ghc-options: -lwindowsapp отлично работает в Windows, но ставит -lwindowsapp в направлении начало командной строки и поэтому завершается неудачно при кросс-компиляции Linux / mingw.

Как я могу использовать cabal для автоматического добавления этого аргумента в конец команды, которую он дает компоновщику?

...