about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/rocm-modules/6/llvm/stage-2/rstdenv.nix
blob: 3820d45a2b814d05c6cd8e9ed3a8398191ea9234 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ stdenv
, overrideCC
, wrapCCWith
, llvm
, clang-unwrapped
, lld
, runtimes
, bintools
}:

overrideCC stdenv (wrapCCWith rec {
  inherit bintools;
  libcxx = runtimes;
  cc = clang-unwrapped;
  gccForLibs = stdenv.cc.cc;

  extraPackages = [
    llvm
    lld
  ];

  nixSupport.cc-cflags = [
    "-resource-dir=$out/resource-root"
    "-fuse-ld=lld"
    "-rtlib=compiler-rt"
    "-unwindlib=libunwind"
    "-Wno-unused-command-line-argument"
  ];

  extraBuildCommands = ''
    clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"`
    mkdir -p $out/resource-root
    ln -s ${cc}/lib/clang/$clang_version/include $out/resource-root
    ln -s ${runtimes}/lib $out/resource-root
  '';
})