Commit Graph

11 Commits

Author SHA1 Message Date
github-actions[bot]
e953c01873
Merge staging-next into staging 2024-11-05 00:14:28 +00:00
Emily
e7d6ea8ca6 ld64: set Darwin team as maintainers
This is a critical part of the Darwin build infrastructure.
2024-11-04 23:01:29 +00:00
Reno Dakota
f91487fa13
ld64: fix build with llvm19
remove unused and incomplete function
2024-11-02 19:00:00 -07:00
Emily
b75c70282f ld64: search standard library locations
This is basically harmless for the same reason as it is for Clang, and
lets us avoid doing wrapper hacks to fix things like the .NET build.

This reverts commit 4340a5addb.
2024-10-24 18:11:34 +01:00
Randy Eckenrode
f90d4d5e5b
ld64: adopt source release private headers pattern
Most Darwin source releases vendor private headers in a separate
derivation and add them to `NIX_CFLAGS_COMPILE` (to avoid propagating
them in static builds). Adopt this pattern for consistency with the
other source releases.
2024-10-10 16:23:07 -04:00
Randy Eckenrode
1c1774806d
ld64: drop libunwind as a dependency
libunwind is included in the SDK, so it’s no longer necessary to include
it as an explicit dependency.
2024-10-10 16:23:07 -04:00
Randy Eckenrode
2bf9c22eb1
ld64: ensure ld64 checks pass with the new SDK
The SDK library path is normally add by the ld wrapper, but ld64 is
being used unwrapped in this check phase. Ensure it can find the
requires SDK stubs by passing them via the clang wrapper.
2024-10-10 16:23:07 -04:00
Artturin
63fa53d97c treewide: reformat files which need reformatting after
`treewide: replace stdenv.is with stdenv.hostPlatform.is`
2024-09-25 00:04:39 +03:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Randy Eckenrode
957be61c02
ld64: fix cross-compilation install check phase
ld64 needs to build itself in its install check using a target prefix. Otherwise, ninja will not be configured with the correct target, causing the check to fail when ld64 is built for a cross-target.
2024-07-29 21:24:13 -04:00
Randy Eckenrode
f02b50ba18
ld64: init at 951.9 2024-07-13 17:54:34 -04:00