summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm/10/bintools.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/llvm/10/bintools.nix')
-rw-r--r--pkgs/development/compilers/llvm/10/bintools.nix19
1 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/development/compilers/llvm/10/bintools.nix b/pkgs/development/compilers/llvm/10/bintools.nix
new file mode 100644
index 00000000000..72a2a733193
--- /dev/null
+++ b/pkgs/development/compilers/llvm/10/bintools.nix
@@ -0,0 +1,19 @@
+{ runCommand, stdenv, llvm, lld, version }:
+
+let
+  prefix =
+    if stdenv.hostPlatform != stdenv.targetPlatform
+    then "${stdenv.targetPlatform.config}-"
+    else "";
+in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
+   mkdir -p $out/bin
+   for prog in ${lld}/bin/*; do
+     ln -s $prog $out/bin/${prefix}$(basename $prog)
+   done
+   for prog in ${llvm}/bin/*; do
+     ln -s $prog $out/bin/${prefix}$(echo $(basename $prog) | sed -e "s|llvm-||")
+     ln -sf $prog $out/bin/${prefix}$(basename $prog)
+   done
+   rm -f $out/bin/${prefix}cat
+   ln -s ${lld}/bin/lld $out/bin/${prefix}ld
+''