summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm/13/bintools/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/llvm/13/bintools/default.nix')
-rw-r--r--pkgs/development/compilers/llvm/13/bintools/default.nix15
1 files changed, 12 insertions, 3 deletions
diff --git a/pkgs/development/compilers/llvm/13/bintools/default.nix b/pkgs/development/compilers/llvm/13/bintools/default.nix
index 53f7941e336..dcdad1af46f 100644
--- a/pkgs/development/compilers/llvm/13/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/13/bintools/default.nix
@@ -1,11 +1,17 @@
-{ runCommand, stdenv, llvm, lld, version }:
+{ runCommand, stdenv, llvm, lld, version, lib }:
 
 let
   prefix =
     if stdenv.hostPlatform != stdenv.targetPlatform
     then "${stdenv.targetPlatform.config}-"
     else "";
-in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
+in runCommand "llvm-binutils-${version}" {
+  preferLocalBuild = true;
+  passthru = {
+    isLld = true;
+    targetPrefix = prefix;
+  };
+} (''
    mkdir -p $out/bin
    for prog in ${lld}/bin/*; do
      ln -s $prog $out/bin/${prefix}$(basename $prog)
@@ -26,4 +32,7 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
-''
+'' + lib.optionalString stdenv.targetPlatform.isWindows ''
+   ln -s ${llvm}/bin/llvm-windres $out/bin/${prefix}windres
+   ln -s ${llvm}/bin/llvm-dlltool $out/bin/${prefix}dlltool
+'')