mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-01 17:53:14 +00:00
8c80bd08b7
I would like to add an extra `gcc` build step during linux bootstrap (https://github.com/NixOS/nixpkgs/issues/208412). This makes it early bootstrap compiler linked and targeted against `bootstrapTools` `glibc` including it's headers. Without this change `gcc`'s spec files always prefer `bootstrapTools` `glibc` for header search path (passed in as --with-native-system-header-dir=). We'can't override it with: - `-I` option as it gets stacked before gcc-specific headers, we need to keep glibc headers after gcc as gcc cleans namespace up for C standard by using #include_next and by undefining system macros. - `-idirafter` option as it gets appended after existing `glibc`-includes This `--sysroot=/nix/store/does/not/exist` hack allows us to remove existing `glibc` headers and add new ones with `-idirafter`. We use `cc-cflags-before` instead of `libc-cflags` to allow user to define their own `--sysroot=` (like `firefox` does). To keep it working prerequisite cross-symlink in gcc.libs is required: https://github.com/NixOS/nixpkgs/pull/209153 |
||
---|---|---|
.. | ||
add-clang-cc-cflags-before.sh | ||
add-flags.sh | ||
add-hardening.sh | ||
cc-wrapper.sh | ||
default.nix | ||
fortran-hook.sh | ||
gnat-wrapper.sh | ||
setup-hook.sh |