The support introduced in 675702f356b0c3a540fa2e8af4192f7d658b2988 is not working correctly in all scenarios. Instead of setup_host_tool function, we can use the existing targets introduced by add_tablegen macro.
The LLVM libc header generation system
LLVM libc uses a header generation scheme to generate public as well as internal header files. This directory contains the implementation of the header generator which drives this header generation scheme.