cc-wrapper: wrap TOOL and ${targetPrefix}-TOOL if both exist#181724
Closed
trofi wants to merge 1 commit intoNixOS:masterfrom
Closed
cc-wrapper: wrap TOOL and ${targetPrefix}-TOOL if both exist#181724trofi wants to merge 1 commit intoNixOS:masterfrom
trofi wants to merge 1 commit intoNixOS:masterfrom
Conversation
This was referenced Jul 16, 2022
In NixOS#87909 ("stdenv: always pass --build, --host to configure") we noticed that stdenv.cc exposes `c++` as a wrapped bianry and `x86_64-unknown-linux-gnu-c++` as unsrapped binary. As a result `x86_64-unknown-linux-gnu-c++` was not able to create basic bianries. This makes seepingly no-op `--host=x86_64-unknown-linux-gnu` option for `./configure` a breaking change. This change adds wrappers to prefixed binaries for cross and native cases where such an inconsistency exists. New validation change will catch new possible inconsistencies. It already caught existing inconsistencies in: `gcc`, `gfortran`, `gcj`, `gccgo`, `gdc`, `clang`. At least `radare2` build is fixed by consistent wrappers. It used to fail before as: radare2> ERROR: x86_64-unknown-linux-gnu-gcc cannot create executables Issue: NixOS#178802
7ce0308 to
02521bf
Compare
Contributor
Author
|
@ofborg build stdenv |
Contributor
Author
|
Switching to draft for now. cross-LLVM case uncovered some |
Contributor
Author
|
I think it uncovers already existing discrepancy: |
Contributor
Author
|
I'll try another attempt: reexport everything needed from wrapper without re-exporting unwrapped compiler PATHs. |
Contributor
Author
|
|
Contributor
Author
|
We'll probably follow binutils path. |
13 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In #87909 ("stdenv: always
pass --build, --host to configure") we noticed that stdenv.cc
exposes
c++as a wrapped bianry andx86_64-unknown-linux-gnu-c++as unsrapped binary.
As a result
x86_64-unknown-linux-gnu-c++was not able to createbasic bianries. This makes seepingly no-op
--host=x86_64-unknown-linux-gnuoption for
./configurea breaking change.This change adds wrappers to prefixed binaries for cross and
native cases where such an inconsistency exists. New validation
change will catch new possible inconsistencies. It already caught
existing inconsistencies in:
gcc,gfortran,gcj,gccgo,gdc.At least
radare2build is fixed by consistent wrappers. It used to failbefore as:
Issue: #178802
Description of changes
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes