[PATCH] D121838: Generalize "check-all" umbrella targets, use for check-clang-tools

James Nagurne via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 27 14:28:44 PDT 2022


JamesNagurne added a comment.

Hi Sam, I've got a downstream build system that is failing here and I'm trying to figure out why.

After your commit, I get an error during bootstrapped runtime builds:

  05-27 14:41 __main__     INFO     [202/796] cd /path/to/builddir/runtimes/runtimes-target-bins && cmake --build /path/to/builddir/runtimes/runtimes-target-bins/ --target runtimes-test-depends --config Release
  05-27 14:41 __main__     INFO     ninja: error: unknown target 'runtimes-test-depends'

We have a mono-project CMakeLists.txt that builds our entire cross-compilation toolchain, libraries and all.
The build system uses a bootstrapping strategy, but must separate the builds of llvm/clang tools and the runtime builds, so we have LLVM_ENABLE_RUNTIMES set but LLVM_BUILD_RUNTIMES=OFF

Why do we do this instead of using the "default build strategy", you may ask? Well, the default strategy didn't exist when we set everything up. Wouldn't be against trying that if it seems to be the only way to fix the issue I'm seeing.

Specifically, in-order, the actions we perform:

- Build clang/llvm tools (target llvm-build)
- Build in-house tools
- Build in-house C Library (uses just-built tools from above)
- Build libc++, libc++abi, compiler-rt using llvm/runtimes (target 'runtimes'. Needs C includes and just-built compiler from previous step)
- Build llvm-test-depends in preparation for check-all, etc. (arbitrarily ordered after runtime builds)

We do this by adding llvm as an ExternalProject and then adding step targets (llvm-runtimes, llvm-test-depends) that just map to the LLVM equivalent target.

I'll look more deeply into your commit and what's changed in our downstream build system, but I wanted to fire this comment off in case you've seen it or have a quick way to figure out what might be wrong.
We do have some downstream changes, including an abandoned commit (https://reviews.llvm.org/D72947) that could be causing issues. That's also a main target of scrutiny.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D121838/new/

https://reviews.llvm.org/D121838



More information about the cfe-commits mailing list