Building with runtime flags using cabal and ghc

I have a program written in Haskell and intended to be compiled with GHC. The program scales very well on multiple cores, so enabling multithreading is very important. In my .cabal file I've added ghc-options: -O3 -threaded to link with the threaded runtime. The problem is that with this approach the user would need to run the program with foo +RTS -N , which seems a bit cryptic and not very user friendly.

How can I tell cabal/ghc to enable those runtime flags invisibly to the user? I've read about --with-rtsopts , but GHC (7.0.3) just spits out unrecognized flag when I try to use it.


The flag is -with-rtsopts , not --with-rtsopts , so you should add -with-rtsopts=-N to the ghc-options field. GHC Flag Reference.

Note that this will also require you to link with runtime support by adding -rtsopts to the ghc-options.

链接地址: http://www.djcxy.com/p/43400.html

上一篇: 如果代码包含模块定义,为什么我不能用GHC编译?

下一篇: 使用cabal和ghc构建运行时标志