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
darwin stdenv: Make stdenv.cc, not stdenv itself, bring in libcxx #33042
Conversation
08a59f6
to
dcab656
Compare
@nixborg build |
Jobset created at https://hydra.mayflower.de/jobset/nixos/pr-33042 |
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 have not tested, but the changes look good.
The title seems misleading, as stdenv still brings libcxx, but stdenvNoCC no longer does.
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.
Great! I was thinking of making libcxx something first-class in the cc-wrapper, similar to libc. But this is already gets rid of most of the weirdness.
stdenvNoCC should not inject any C++ standard library, just as it doesn't inject any C standard library. stdenv still does, but only indirectly through stdenv.cc. Wrapped clangs can be simplified now that they don't need to worry about clobbering CoreFoundation when replacing the C++ standard library implementation. This generally-good cleanup should assist with debugging some C++ failures in NixOS#26805.
dcab656
to
4651407
Compare
The nixborg job got stalled, but I added this to #26805 and built stdenv at least. |
Motivation for this change
stdenvNoCC
should not inject any C++ standard library, just as it doesn't inject any C standard library.stdenv
still does, but only indirectly throughstdenv.cc
. Wrapped clangs can be simplified now that they don't need to worry about clobbering CoreFoundation when replacing the C++ standard library implementation.This generally-good cleanup should assist with debugging some C++ failures in #26805.
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)