diff --git a/libc/cmake/caches/gpu.cmake b/libc/cmake/caches/gpu.cmake new file mode 100644 index 0000000000000..1867db9ffa12e --- /dev/null +++ b/libc/cmake/caches/gpu.cmake @@ -0,0 +1,4 @@ +set(LLVM_ENABLE_PROJECTS "clang;clang-tools-extra;lld" CACHE STRING "") +set(LLVM_RUNTIME_TARGETS default;amdgcn-amd-amdhsa;nvptx64-nvidia-cuda CACHE STRING "") +set(RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES "compiler-rt;libc" CACHE STRING "") +set(RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES "compiler-rt;libc" CACHE STRING "") diff --git a/libc/docs/gpu/building.rst b/libc/docs/gpu/building.rst index 88643575ae4d9..94d3f1f644e5c 100644 --- a/libc/docs/gpu/building.rst +++ b/libc/docs/gpu/building.rst @@ -58,7 +58,8 @@ OpenMP support. We then set ``RUNTIMES__LLVM_ENABLE_RUNTIMES`` to enable ``libc`` for the GPU targets. The ``LLVM_RUNTIME_TARGETS`` sets the enabled targets to build, in this case we want the default target and the GPU targets. Note that if ``libc`` were included in ``LLVM_ENABLE_RUNTIMES`` it would build -targeting the default host environment as well. +targeting the default host environment as well. Alternatively, you can point +your build towards the ``libc/cmake/caches/gpu.cmake`` cache file with ``-C``. Runtimes cross build --------------------