at master 899 B view raw
1{ 2 lib, 3 runCommand, 4 zig, 5 stdenv, 6 makeWrapper, 7 coreutils, 8}: 9let 10 targetPrefix = lib.optionalString ( 11 stdenv.hostPlatform != stdenv.targetPlatform 12 ) "${stdenv.targetPlatform.config}-"; 13in 14runCommand "zig-cc-${zig.version}" 15 { 16 pname = "zig-cc"; 17 inherit (zig) version; 18 19 nativeBuildInputs = [ makeWrapper ]; 20 21 passthru = { 22 isZig = true; 23 inherit targetPrefix; 24 }; 25 26 inherit zig; 27 28 meta = zig.meta // { 29 mainProgram = "${targetPrefix}clang"; 30 }; 31 } 32 '' 33 mkdir -p $out/bin 34 for tool in cc c++ ld.lld; do 35 makeWrapper "$zig/bin/zig" "$out/bin/$tool" \ 36 --add-flags "$tool" \ 37 --suffix PATH : "${lib.makeBinPath [ coreutils ]}" \ 38 --run "export ZIG_GLOBAL_CACHE_DIR=\$(mktemp -d)" 39 done 40 41 ln -s $out/bin/c++ $out/bin/clang++ 42 ln -s $out/bin/cc $out/bin/clang 43 ln -s $out/bin/ld.lld $out/bin/ld 44 ''