mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 03:23:29 +03:00
zig: fix cc and bintools (#412540)
This commit is contained in:
commit
1f38e4cb8d
3 changed files with 14 additions and 7 deletions
|
@ -4,6 +4,7 @@
|
|||
zig,
|
||||
runCommand,
|
||||
makeWrapper,
|
||||
coreutils,
|
||||
}:
|
||||
let
|
||||
targetPrefix = lib.optionalString (
|
||||
|
@ -26,9 +27,12 @@ runCommand "zig-bintools-${zig.version}"
|
|||
}
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
for tool in ar objcopy ranlib; do
|
||||
makeWrapper "$zig/bin/zig" "$out/bin/${targetPrefix}$tool" \
|
||||
for tool in ar objcopy ranlib ld.lld; do
|
||||
makeWrapper "$zig/bin/zig" "$out/bin/$tool" \
|
||||
--add-flags "$tool" \
|
||||
--suffix PATH : "${lib.makeBinPath [ coreutils ]}" \
|
||||
--run "export ZIG_GLOBAL_CACHE_DIR=\$(mktemp -d)"
|
||||
done
|
||||
|
||||
ln -s $out/bin/ld.lld $out/bin/ld
|
||||
''
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
zig,
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
coreutils,
|
||||
}:
|
||||
let
|
||||
targetPrefix = lib.optionalString (
|
||||
|
@ -27,12 +28,13 @@ runCommand "zig-cc-${zig.version}"
|
|||
''
|
||||
mkdir -p $out/bin
|
||||
for tool in cc c++ ld.lld; do
|
||||
makeWrapper "$zig/bin/zig" "$out/bin/${targetPrefix}$tool" \
|
||||
makeWrapper "$zig/bin/zig" "$out/bin/$tool" \
|
||||
--add-flags "$tool" \
|
||||
--suffix PATH : "${lib.makeBinPath [ coreutils ]}" \
|
||||
--run "export ZIG_GLOBAL_CACHE_DIR=\$(mktemp -d)"
|
||||
done
|
||||
|
||||
mv $out/bin/${targetPrefix}c++ $out/bin/${targetPrefix}clang++
|
||||
mv $out/bin/${targetPrefix}cc $out/bin/${targetPrefix}clang
|
||||
mv $out/bin/${targetPrefix}ld.lld $out/bin/${targetPrefix}ld
|
||||
ln -s $out/bin/c++ $out/bin/clang++
|
||||
ln -s $out/bin/cc $out/bin/clang
|
||||
ln -s $out/bin/ld.lld $out/bin/ld
|
||||
''
|
||||
|
|
|
@ -155,10 +155,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
cc = wrapCCWith {
|
||||
cc = finalAttrs.finalPackage.cc-unwrapped;
|
||||
bintools = finalAttrs.finalPackage.bintools;
|
||||
extraPackages = [ ];
|
||||
nixSupport.cc-cflags =
|
||||
[
|
||||
"-target"
|
||||
"${stdenv.targetPlatform.config}"
|
||||
"${stdenv.targetPlatform.system}-${stdenv.targetPlatform.parsed.abi.name}"
|
||||
]
|
||||
++ lib.optional (
|
||||
stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.isStatic or false)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue