使用nix构建没有拆分对象文件的haskell项目

时间:2017-02-22 16:24:24

标签: haskell ghc nix

在Gabriel Gonzalez关于使用nix构建haskell项目的教程的project 3中,他写道:

  

默认情况下,这些库使用GHC的-fsplit-objs标志进行编译,以启用拆分对象文件,这样可以减少库大小,但会增加编译时间。这是我建议在开发期间使用cabal构建根项目的另一个原因,因为默认情况下cabal不会使用拆分对象进行编译,因此构建速度更快。但是,当Nix构建项目时,-fsplit-objs是一个很好的默认设置,因此您无需更改此设置。

没有提到如何在没有-fsplit-objs的情况下使nix构建你的haskell项目。在我的例子中,我有一个后端项目(用GHC构建),一个前端项目(用GHCJS构建)和一个共享项目(用两者构建)。共享项目的重建有点常见,因此能够关闭-fsplit-objs会为我节省大量的编译时间。

1 个答案:

答案 0 :(得分:0)

我认为您希望mkDerivation中有enableDeadCodeElimination=false