Skip to content

Commit

Permalink
gcc: fix fastStdenv breakage from #209870
Browse files Browse the repository at this point in the history
Apparently gcc has these `Makefile` targets:

- `""`
- `"bootstrap"`
- `"profiledbootstrap"`

... but no `"profiled"`.  So if you want a profiled compiler, at the
moment, it should be bootstrapped.

If we ever decide to make the nixpkgs bootstrap use a profiled
compiler (which at the moment means nondeterminism) a Nix-driven
profile loop is certainly possible, but would take some work.

Closes #228597.
  • Loading branch information
Adam Joseph committed Apr 27, 2023
1 parent d7d3821 commit cfc4c95
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion pkgs/development/compilers/gcc/12/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ with builtins;

let majorVersion = "12";
version = "${majorVersion}.2.0";
disableBootstrap = !stdenv.hostPlatform.isDarwin;
disableBootstrap = !stdenv.hostPlatform.isDarwin && !profiledCompiler;

inherit (stdenv) buildPlatform hostPlatform targetPlatform;

Expand Down Expand Up @@ -288,6 +288,8 @@ lib.pipe (stdenv.mkDerivation ({
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;

buildFlags =
# we do not yet have Nix-driven profiling
assert profiledCompiler -> !disableBootstrap;
let target =
lib.optionalString (profiledCompiler) "profiled" +
lib.optionalString (targetPlatform == hostPlatform && hostPlatform == buildPlatform && !disableBootstrap) "bootstrap";
Expand Down

0 comments on commit cfc4c95

Please sign in to comment.