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
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)