[libcxx-commits] [libcxx] [libcxx][clang-modules] Fix headers being marked as textual (PR #130723)

Ian Anderson via libcxx-commits libcxx-commits at lists.llvm.org
Fri Apr 4 10:26:40 PDT 2025


ian-twilightcoder wrote:

> > Doesn't the build directory get used for running tests, at least locally?
> 
> Not anymore. We now perform an installation at a fake location and the test suite is configured to use that instead. This ensures that what we test is faithful with what we ship (eg. the install name of the library, its path, etc).

Ah, spiffy.

> > Is there a particular reason we don't just re-generate `__config_site` when you switch targets?
> 
> I'm not certain I understand. But the idea is that on some platforms, we ship a single libc++ with multiple `__config_site` headers. The compiler then selects which `__config_site` to use based on the target selected by the user. This allows a single toolchain to support multiple targets, and for these multiple targets to have differently-configured libc++s. Since the user is free to select the target they are compiling for on the fly, it wouldn't make sense to require a "rebuild" of libc++ for that to work.

Oh I see so it will be installed with multiple `__config_site` headers too. I think the easiest way to support that then is to have multiple top level modules for each `__config_site`. Unless we can easily map the target directory to a valid `requires`?

https://github.com/llvm/llvm-project/pull/130723


More information about the libcxx-commits mailing list