When using LLVM_ENABLE_RUNTIMES=libc we need to perform a few extra
steps to include LLVM utilities similar to if we were performing a
standalone build. Libc depends on the tablegen utilities and the LLVM
libraries when performing a full build. When using an
LLVM_ENABLE_PROJECTS=libc build these are included as a part of the
greater LLVM build, but here we need to perform it maunally. This patch
should allow using LLVM_LIBC_FULL_BUILD=ON when building with
runtimes.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
libc/CMakeLists.txt | ||
---|---|---|
17 | IIRC, the only dependency we have outside of the libc directory is for tablegen. So, could we perhaps move this logic over to something more local to the places where tablegen is used? Also, we want to move away from using the LLVM_ prefix to libc's CMake variables - just use LIBC_ for the prefix. In this case, it can be more specific like LIBC_TABLEGEN_INCLUDE_DIRS. |
libc/CMakeLists.txt | ||
---|---|---|
17 | In the future we may need to have some more runtimes specific glue so I figured it was fine to put it up front similar to what most projects do for standalone builds. If you'd prefer it to be right next to where it's used that's fine. I can also change the name. |
libc/CMakeLists.txt | ||
---|---|---|
17 | Tablegen has been a nagging dependency which we want to stop using because it is not the most appropriate for our use case. So, at the least, having tablegen pieces confined to a smaller scope will help with future cleanups. |
IIRC, the only dependency we have outside of the libc directory is for tablegen. So, could we perhaps move this logic over to something more local to the places where tablegen is used? Also, we want to move away from using the LLVM_ prefix to libc's CMake variables - just use LIBC_ for the prefix. In this case, it can be more specific like LIBC_TABLEGEN_INCLUDE_DIRS.