The clang:ast and clang:builtin_headers_gen targets currently use hardcoded external/llvm-project
paths to access generated headers.
With bzlmod this path becomes dependent on the module name, module version and module extension,
so we need a more dynamic approach.
Does not affect the WORKSPACE build.
Oh this is way better. These have always felt like a hack relying on a Bazel implementation detail.