Add support in the driver and frontend for macCatalyst target
targets and library search paths.
The compiler now adds two library search paths for overlays when compiling
for macCatalyst: one for macCatalyst libraries and one for zippered macOS
libraries. The macCatalyst path must take priority over the normal macOS path
so that in the case of 'unzippered twins' the macCatalyst library is
found instead of the macOS library.
To support 'zippered' builds, also add support for a new -target-variant
flag. For zippered libraries, the driver invocation takes both a -target and a
-target-variant flag passes them along to the frontend. We support builds both
when the target is a macOS triple and the target variant is macCatalyst and
also the 'reverse zippered' configuration where the target is macCatalyst and the
target-variant is macOS.
The Driver/linker-clang_rt test had some of its run lines with incorrect prefixes.
(For example, the prefix for the iOS tests was 'IOS' rather than 'CHECK-IOS'). The
effect is that the CHECK lines in the test weren't actually used and so little was
being tested.
The commits updates the --prefix arguments so that the CHECK lines are active.
This also updates the test to specify the current behavior: namely that the
compiler-rt path is in "/lib/swift/clang/lib/darwin/" rather than "/lib/clang/darwin/".
I've also updated one of the tvOS lines to use the "tvos" in the target rather than
"ios". I suspect that was typo that wasn't caught the test wasn't running.