aboutsummaryrefslogtreecommitdiff
path: root/pkgs/stdenv/adapters.nix
diff options
context:
space:
mode:
authorYegor Timoshenko <yegortimoshenko@riseup.net>2018-10-13 14:09:55 +0000
committerGitHub <noreply@github.com>2018-10-13 14:09:55 +0000
commitcd0c8739d7ef729e8c9616f4eee28eff555a3fc5 (patch)
tree5b1ae6f1d6b11572957c627328118c926b1145d1 /pkgs/stdenv/adapters.nix
parentb6a79aa63bc64578935c471ead7cc56ec4a05b37 (diff)
parent15bfee85f35231be92e439e7f3f02e9aba34dcdf (diff)
Merge pull request #37600 from abbradar/impureusenative
impureUseNativeOptimizations: add stdenv adapter
Diffstat (limited to 'pkgs/stdenv/adapters.nix')
-rw-r--r--pkgs/stdenv/adapters.nix15
1 files changed, 15 insertions, 0 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 7d527729273..671306f6e6f 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -171,4 +171,19 @@ rec {
NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") + " -fuse-ld=gold";
});
};
+
+
+ /* Modify a stdenv so that it builds binaries optimized specifically
+ for the machine they are built on.
+
+ WARNING: this breaks purity! */
+ impureUseNativeOptimizations = stdenv: stdenv //
+ { mkDerivation = args: stdenv.mkDerivation (args // {
+ NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -march=native";
+ NIX_ENFORCE_NO_NATIVE = false;
+
+ preferLocalBuild = true;
+ allowSubstitutes = false;
+ });
+ };
}