Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用nix在不拆分对象文件的情况下构建haskell项目_Haskell_Ghc_Nix - Fatal编程技术网

使用nix在不拆分对象文件的情况下构建haskell项目

使用nix在不拆分对象文件的情况下构建haskell项目,haskell,ghc,nix,Haskell,Ghc,Nix,在Gabriel Gonzalez关于与nix一起构建haskell项目的教程中,他写道: 默认情况下,使用GHC的-fsplit objs标志编译这些库,以启用拆分对象文件,这会减少库的大小,但增加编译时间。这是我建议在开发期间使用cabal构建根项目的另一个原因,因为默认情况下cabal不会使用拆分对象进行编译,因此构建速度会更快。但是,当Nix构建项目时,-fsplit objs是一个很好的默认值,因此您不需要更改此设置 没有提到的是如何让nix在没有-fsplit objs的情况下构建h

在Gabriel Gonzalez关于与nix一起构建haskell项目的教程中,他写道:

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


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

我认为您希望在mkDerivation中使用
enableDeadCodeElimination=false

我认为您希望在mkDerivation中使用
enableDeadCodeElimination=false