This is useful when building a complete toolchain to ensure that CRT
is built after builtins but before the rest of the compiler-rt.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
This was split from D89492. I plan on doing some addition cleanup in subsequent changes to reduce some of the duplication around project setup.
Thank you. For the case of VE, this works fine as
$ mkdir build-crt $ cd build-crt $ cmake -G Ninja ../llvm-project/compiler-rt/lib/crt $ ninja install
compiler-rt/cmake/crt-config-ix.cmake | ||
---|---|---|
30 | I know this was reverted. One question, do we need to include PPC32/PPC64/HEXAGON here? I see the legacy ALL_CRT_SUPPORTED_ARCH defined in compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake has these three archs. Thanks |
compiler-rt/cmake/crt-config-ix.cmake | ||
---|---|---|
30 | indeed, i believe this will break ppc* builds |
compiler-rt/cmake/crt-config-ix.cmake | ||
---|---|---|
30 | Thanks for catching this! |
Hey man, I think you introduced a bug, when compiling compiler-rt as part of LLVM cmake is reconfigued and cached variables are deleted.
it changes the compiler to the freshly built version of clang, that in my case is buggy and it leads to the rest of llvm failing to compile.
more info: https://github.com/llvm/llvm-project/issues/54903
Seeing this cmake error for ARM32 after this patch.
--Supported architectures for crt: arm;armv6m
CMake Error: Attempt to add a custom rule to output ".../compiler-rt/arm32/linux/lib/linux/clang_rt.crtbegin-arm.o.rule" which already has a custom rule.
CMake Error: Attempt to add a custom rule to output ".../compiler-rt/arm32/linux/lib/linux/clang_rt.crtend-arm.o.rule" which already has a custom rule.
I know this was reverted. One question, do we need to include PPC32/PPC64/HEXAGON here? I see the legacy ALL_CRT_SUPPORTED_ARCH defined in compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake has these three archs. Thanks