[libc] Install GPU headers to gpu-none-llvm/ subfolder

The GPU support for the `libc` generates all its own headers. Since
these headers use the same names as the system headers we need to make
sure that they are separate. Currently, we either use the system headers
on the GPU or the GPU headers on the system. This patch makes them
explicitly separate. A follow-up patch will then make `clang` look in
this folder by default.

Reviewed By: sivachandra, lntue

Differential Revision: https://reviews.llvm.org/D146970
This commit is contained in:
Joseph Huber 2023-03-27 08:55:02 -05:00
parent 9efb4db29d
commit 465f4ac9d7

View File

@ -511,6 +511,11 @@ foreach(target IN LISTS all_install_header_targets)
endif()
file(RELATIVE_PATH relative_path ${LIBC_INCLUDE_BINARY_DIR} ${header_file})
get_filename_component(nested_dir ${relative_path} DIRECTORY)
# The GPU headers are installed to 'gpu-none-llvm/' to prevent shadowing the
# system headers.
if(LIBC_TARGET_ARCHITECTURE_IS_GPU)
set(nested_dir gpu-none-llvm/${nested_dir})
endif()
install(FILES ${header_file}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${nested_dir}
COMPONENT libc-headers)