Previously, LIBCXX_ENABLE_FILESYSTEM controlled only whether the filesystem support was compiled into libc++'s library. This commit promotes the setting to a first-class option like LIBCXX_ENABLE_LOCALIZATION, where the whole library is aware of the setting and features that depend on <filesystem> won't be provided at all. The test suite is also properly annotated such that tests that depend on <filesystem> are disabled when the library doesn't support it. This is an alternative to https://llvm.org/D94824, but also an improvement along the lines of LIBCXX_ENABLE_LOCALIZATION that I had been wanting to make for a while. Differential Revision: https://reviews.llvm.org/D94921
10 lines
466 B
INI
10 lines
466 B
INI
# Filesystem is supported on Apple platforms starting with macosx10.15.
|
|
# Automatically disable the <filesystem> tests when we're running the test
|
|
# suite against an older macOS.
|
|
too_old = {'10.9', '10.10', '10.11', '10.12', '10.13', '10.14'}
|
|
if any('with_system_cxx_lib=macosx{}'.format(v) in config.available_features for v in too_old):
|
|
config.unsupported = True
|
|
|
|
if 'libcpp-has-no-filesystem-library' in config.available_features:
|
|
config.unsupported = True
|