Unverified Commit 4aadd440 authored by Tristan Ross's avatar Tristan Ross
Browse files

zig: fix cc and bintools

parent 71a00577
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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
  ''
+6 −4
Original line number Diff line number Diff line
@@ -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
  ''
+2 −1
Original line number Diff line number Diff line
@@ -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)