Using Clang instead of GCC: Difference between revisions

imported>Milahu
revert my last edit: add section: ld: cannot find -lstdc++
imported>Artturin
add replaceStdenv
Line 16: Line 16:
If you have a set of packages in a repository tree, you can set the
If you have a set of packages in a repository tree, you can set the
<code>stdenv</code> value in the scope where the <code>callPackage</code> are
<code>stdenv</code> value in the scope where the <code>callPackage</code> are
called. Be carefull '''all the packages present in the scope will be built with Clang'''  
called. Be carefull '''all the packages present in the scope will be built with Clang'''
because the <code>callPackage</code> that resolves the package function
because the <code>callPackage</code> that resolves the package function
inputs will use the  <code>pkgs.clangStdenv</code> for all packages.
inputs will use the  <code>pkgs.clangStdenv</code> for all packages.
Line 27: Line 27:
}
}
</syntaxhighlight>
</syntaxhighlight>
or import nixpkgs with replaceStdenv.
<syntaxhighlight lang="nix">
import <nixpkgs> { config = { replaceStdenv = ({ pkgs }: pkgs.clangStdenv); }; }
</syntaxhighlight>


== For a specific package in a repository tree ==
== For a specific package in a repository tree ==