[libc++] Fix modules builds when features are removed
authorLouis Dionne <ldionne.2@gmail.com>
Mon, 23 May 2022 20:48:47 +0000 (16:48 -0400)
committerLouis Dionne <ldionne.2@gmail.com>
Wed, 8 Jun 2022 22:48:25 +0000 (18:48 -0400)
commit0e9a01dcac99ccf599738cef394b840b126d5cc9
tree334707ec943ae51c5d80cbb47caf748d1ca7089a
parent6504b159926832db7f4f93271cfa1bf19c829a97
[libc++] Fix modules builds when features are removed

When some headers are not available because we removed features like
localization or threads, the compiler should not try to include these
headers when building modules. To avoid that from happening, add a
requires-declaration that is never satisfied when the configuration
in use doesn't support a header.

rdar://93777687

Differential Revision: https://reviews.llvm.org/D127127
libcxx/docs/Contributing.rst
libcxx/include/CMakeLists.txt
libcxx/include/csignal
libcxx/include/module.modulemap.in [moved from libcxx/include/module.modulemap with 97% similarity]
libcxx/test/libcxx/lint/lint_headers.sh.py
libcxx/test/libcxx/lint/lint_modulemap.sh.py
libcxx/test/libcxx/modules_include.sh.cpp
libcxx/utils/generate_header_tests.py
libcxx/utils/libcxx/test/dsl.py
libcxx/utils/libcxx/test/features.py