有沒有一個地方可以配置一些GHC使用的默認標誌?我想,即GHC總是假設我想要-fwarn-incomplete-patterns
標誌。 This page給出了一個有用的標誌列表,並指出它們中的一些默認開啓,但是我想改變系統的默認值。GHC構建標誌的全局配置
我目前正在使用OS X,但我在家中使用Debian,Arch Linux和Windows 8.1,所以任何平臺的解決方案都會有所幫助。
有沒有一個地方可以配置一些GHC使用的默認標誌?我想,即GHC總是假設我想要-fwarn-incomplete-patterns
標誌。 This page給出了一個有用的標誌列表,並指出它們中的一些默認開啓,但是我想改變系統的默認值。GHC構建標誌的全局配置
我目前正在使用OS X,但我在家中使用Debian,Arch Linux和Windows 8.1,所以任何平臺的解決方案都會有所幫助。
除了走樣shell命令ghc
到ghc -fwarn-incomplete-patterns
,我不認爲有辦法做到在全球範圍,或是否將是可取的全球做,因爲編譯外部庫時,它可能會產生警告的大量陰謀。可能最好一次完成這個項目,或者只使用GHCi:
在項目的任何cabal文件中都有一個ghc選項部分。
library
...
ghc-options:
-fwarn-tabs
-fwarn-missing-local-sigs
-fwarn-incomplete-patterns
-fwarn-incomplete-uni-patterns
對於全局GHCI,可以將下面的行添加到您的〜/ .ghc/ghci.conf
:set -fwarn-incomplete-uni-patterns
感謝您指出在全球範圍內執行此操作的問題。我現在可能會繼續使用OPTIONS_GHC編譯指示,但在我所有GHCi會話中使用這些標誌將會有所幫助。 – Amazingant
添加ghc-options: -fwarn-incomplete-patterns
您~/.cabal/config
的program-default-options
部分:
[...]
program-default-options
...
ghc-options: -fwarn-incomplete-patterns
...
這隻適用於Cabalised項目(即,當您使用cabal build/install/[...]
而不是手動運行ghc --make SomeFile.hs
)並且需要相當近期的cabal-install
(> = 1.18)。
僅僅因爲這將是誰到這裏來的人非常有用:
在Gentoo,你可以爲所有驚天動地封裝選項,(這是幾乎所有的)全球範圍內,在/etc/portage/make.conf
,與可變CABAL_EXTRA_BUILD_FLAGS
。所以你的情況,這將是
CABAL_EXTRA_BUILD_FLAGS="--ghc-option=-fwarn-incomplete-patterns"
,這裏是一個更高級的例子
CABAL_EXTRA_BUILD_FLAGS="--ghc-option=+RTS --ghc-option=-M1G --ghc-option=-RTS"
要限制使用內存爲1GB(退出其他)。
我認爲Arch和Debian有類似的解決方案,但是由於OS X是一個消費者操作系統,我不知道。
你想要他們的全球GHC,還是隻在陰謀項目? – bheklilr