如何使GHC默认生成动态链接的二进制文件?

时间:2018-03-10 23:56:10

标签: haskell cabal

是否可以更改cabal或GHC设置,以便cabal install默认生成动态二进制文件和库?

我使用GHC 8.2.2,在没有Haskell平台或堆栈的Ubuntu(16.04)中使用apt-get安装。在四处寻找,我发现了SO问题Why can't cabal build mighttpd2 dynamically?。那里的答案/评论说明了在--enable-shared --enable-executable-dynamic时添加cabal install的问题。对于所有依赖库,这可以手动完成(这会很麻烦)。

Small Haskell program compiled with GHC into huge binary中,接受的答案表明需要:

cabal install some_package --enable-shared --reinstall 

还提到了-dynamic选项。

我的问题是:

是否可以从一开始就更改cabal配置文件(~/.cabal/config)中的选项,以便所有二进制文件及其依赖库使用动态链接(即使用--enable-shared --enable-executable-dynamic或默认为-dynamic

1 个答案:

答案 0 :(得分:0)

实际上,您可以将~/.cabal/config文件更改为包含以下行:

shared: True
executable-dynamic: True