-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lib.systems: introduce toolchain, cc, and bintools attributes #365057
base: master
Are you sure you want to change the base?
Conversation
7a3eca0
to
2a005fa
Compare
9c8b44b
to
f6da63d
Compare
The main idea and motivation is in: pkgs/stdenv/cross/default.nix |
f6da63d
to
ec79349
Compare
ec79349
to
10cd2ba
Compare
10cd2ba
to
2b4d320
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the direction this is going in -- if there's an enum, make it be an enum, not a set of booleans.
I'd appreciate a "next steps" portion of this PR, where you give some guidance on how and what's going to happen next, especially if there are breaking changes.
Next step is to add exports for LD or change exports for LD to the linker explicitly set. The idea is the bintools and linker can be less connected. From there, it'll probably be more explicit defining of the CC and other tools. Maybe a setup hook inside CC wrapper or other stuff could do it. Then I'll redo my CPU model PR and make some of that optimization stuff more flexible between different compilers.
Probably any other things we could look into doing that makes it easier to add an LLVM bootstrap to Linux. |
Things done
Replaces
useLLVM
,useArocc
, anduseZig
withtoolchain
,cc
,linker
, andbintools
attributes. This might not produce any rebuilds but we'll see. This has the advantage of preventingusing${compiler}
flags from colliding and not working correctly if we were to stack multiplepkgs*
together.nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.