At the moment, provide only profile at first.
GMNGeoffrey MaskRay aaronmondal paquette
- Group Reviewers
- rGcd25a50a8f26: [Bazel] Introduce `//compiler-rt:profile`
FYI I have buildfiles for a bunch of the compiler-rt targets at https://github.com/eomii/rules_ll/blob/main/llvm-project-overlay/compiler-rt/lib/profile/BUILD.bazel
I'd a bit hesitant to build those with the potentially very old host toolchain since these targets are linked into non clang-toolchain executables. For something like profiling this might not be as impactful as building libcxx with an old toolchain but I'm a bit worried that this could lead to issues when using bootstrapped toolchains.
why is this excluded?
It looks like this is necessary for continuous mode on Windows?
Thanks for feedbacks.
I assume the host toolchain should be capable of building runtimes for bootstrapping.
[RFC] RUNTIMES may be built in-tree and be linked to tools
rules_ll itself is interesting. I will read and play it later. Thanks.
I haven't introduced conditions since I don't use other environments. Do you think I could use select() with minimal conditions here? Could we conditionalize defs individually?
I missed it. Thanks. I have confirmed it can be built (and identical to CMake's in my environment).
-Wno-strict-prototypes was redundant. It has been there since I checked -std=c11 for strdup.
-Wno-pedantic is required since my environment enforces -pedantic. I know compiler-rt doesn't like -pedantic. I will remove -pedantic in my environment.
Looks like CMake checks if the target supports fcntl, atomics, ..., and then sets COMPILER_RT_HAS_<whatever> accordingly.
At the moment, this can be built for targeting linux, or will raise error before building begins.
The error cannot be seen unless //compiler-rt:profile is specified as a target explicitly.