aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix')
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix19
1 files changed, 19 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix b/nixpkgs/pkgs/development/compilers/llvm/9/bintools.nix
new file mode 100644
index 00000000000..72a2a733193
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/9/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
+''