Ответ 1
Для записи ответ на вопрос в заголовке
ghc -pgmlo opt_cmd -pgmlc llc_cmd -fllvm ...
opt_cmd
и llc_cmd
могут быть либо имена команд (которые будут найдены в PATH
), либо полные пути.
Я успешно построил PortFusion
с совершенно новый 64- бит GHC 7.6.1 Release Candidate 1 для Windows.
Используя недавно загруженные исходные 64-разрядные двоичные файлы mingw
из http://www.drangon.org/mingw, network
был так же прост в установке (после множества необязательных небольших исправлений), как простой
CC=mingw64/bin/gcc cabal install
На одном и том же веб-сайте есть также пакет LLVM
toolchain.
Теперь мне интересно, как я мог сказать GHC
использовать определенные компиляторы LLVM
во время компиляции.
Было бы так просто и похоже на выше, как:
#v??v
LLVM=????????? ghc -W -O2 -fllvm -optlo-O3 --make src/Main.hs
LLVM=????????? cabal install PortFusion -f llvm #¹
#^??^
¹ соответствующая строка в PortFusion.cabal, определяющая флаг LLVM
или совсем другое?
Для записи ответ на вопрос в заголовке
ghc -pgmlo opt_cmd -pgmlc llc_cmd -fllvm ...
opt_cmd
и llc_cmd
могут быть либо имена команд (которые будут найдены в PATH
), либо полные пути.
Вы можете получить GHC для использования определенных двоичных файлов, изменив, где они определены в переменной среды PATH
. Ранее имеет приоритет. Предположительно, System PATH
также имеет более высокий приоритет, чем User PATH
.