about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix
blob: 5a61732ffd2d40bb825674173658bbcbd1fb1bff (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
37
38
39
40
41
42
43
44
45
46
47
{ stdenv
, callPackage
, rocmUpdateScript
, llvm
}:

callPackage ../base.nix rec {
  inherit stdenv rocmUpdateScript;
  targetName = "clang-unwrapped";
  targetDir = "clang";
  extraBuildInputs = [ llvm ];

  extraCMakeFlags = [
    "-DCLANG_INCLUDE_DOCS=ON"
    "-DCLANG_INCLUDE_TESTS=ON"
  ];

  extraPostPatch = ''
    # Looks like they forgot to add finding libedit to the standalone build
    ln -s ../cmake/Modules/FindLibEdit.cmake cmake/modules

    substituteInPlace CMakeLists.txt \
      --replace "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)"

    # `No such file or directory: '/build/source/clang/tools/scan-build/bin/scan-build'`
    rm test/Analysis/scan-build/*.test
    rm test/Analysis/scan-build/rebuild_index/rebuild_index.test

    # `does not depend on a module exporting 'baz.h'`
    rm test/Modules/header-attribs.cpp

    # We do not have HIP or the ROCm stack available yet
    rm test/Driver/hip-options.hip

    # ???? `ld: cannot find crti.o: No such file or directory` linker issue?
    rm test/Interpreter/dynamic-library.cpp

    # `fatal error: 'stdio.h' file not found`
    rm test/OpenMP/amdgcn_emit_llvm.c
  '';

  extraPostInstall = ''
    mv bin/clang-tblgen $out/bin
  '';

  requiredSystemFeatures = [ "big-parallel" ];
}