1

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

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

没有提到的是如何让 nix 在没有-fsplit-objs. 就我而言,我有一个后端项目(使用 GHC 构建)、一个前端项目(使用 GHCJS 构建)和一个共享项目(两者都构建)。共享项目的重建有些常见,因此能够关闭-fsplit-objs将节省大量编译时间。

4

1 回答 1

0

我想你想enableDeadCodeElimination=false在你的 mkDerivation 中。

于 2017-02-25T05:52:48.617 回答