[libc++] Only add dylib-related features when using the system's libc++
authorLouis Dionne <ldionne@apple.com>
Tue, 5 Mar 2019 22:42:45 +0000 (22:42 +0000)
committerLouis Dionne <ldionne@apple.com>
Tue, 5 Mar 2019 22:42:45 +0000 (22:42 +0000)
commitbbdddb7b0e41e0a0d91d56e4e6d0f08083b8dd7f
tree60aae36879177316bd6a613d8ad6f486d30397c8
parent10de39548976ae224709acdc1c337e33cf12f3c0
[libc++] Only add dylib-related features when using the system's libc++

Otherwise, when testing trunk libc++ on an older system, lit will think
that the dylib features are disabled. Ideally, we'd have a notion of
running the tests with/without a deployment target (or, equivalently,
a deployment target representing trunk where everything is as recent
as can be). Since we always have a deployment target right now (which
defaults to the current system), we only enable those features when
we're going to also be testing with the system libc++.

We also need to disable the availability markup when we are not running
a system library flavor, because availability markup does not make sense
when building against the trunk libc++ (which has everything regardless
of what the current system is).

This is a re-application of r353319, which had been reverted due to
CI breakage. This time around, I made sure it didn't break our internal
CI before submitting.

This is also a partial undoing of r348296, in spirit at least. However,
with this patch, availability markup is enabled based on whether we're
using a system library or not, whereas previously one could enable
it or disable it arbitrarily. This was confusing as it led to testing
configurations that don't make sense (such as testing a system library
without availability markup, or trunk testing with availability markup).

llvm-svn: 355451
libcxx/utils/libcxx/test/config.py