These are common utilities used when testing with lit, so it makes sense to
always include them so in these cases we can use them for testing purposes.
Build a separate compiler-rt instance for running the tests. It is built
and tested against an installed toolchain instead of the llvm-build-dir.
Install everything we need to run tests (CMake modules, FileCheck, etc.)
into the toolchain directory.
Add synthetic target 'all' for llvm-install-components. Also we must set
LLVM_INSTALL_UTILS=ON, so the utilities required by tests (e.g.,
FileCheck) are included in the install target.
LLDB's CMake build forces these values when building on MacOS. It seems
saner to me to set them in build-script than to force them in the CMake
configuration.
Merging the CoreFoundation build into the Foundation build results in
the build tree layout to change. Adjust the parameters for that to
allow a migration.
The manipulation of host-test and skip-android-host was a little
different than the equivalent skip-ios-host and similar variables. These
changes make them closer and allows executing only the compiler tests,
but skip the test that need an Android device to run.
- Disables the upload command of the tests if the subset is the
non-executable tests. The non-executable test do not need to be
uploaded, and in the case of Android, a device doesn't need to be
connected, so trying to connect to one will fail.
- Fix a problem where the swift_interpreter feature was removed without
first checking if it was really added.
- Only enable the host tests (the compiler tests) in the Android CI
preset (there's no device attached to that server, but currently only
the Linux tests were being executed, which doesn't make a lot of
sense).
- Move the decision about which platform support device/host tests into
the platform themselves, which allows Android to have device/host
tests. Also modify a little bit the logic around enabling/disabling
the test suite to allow running only the host tests of a platform.
- Fix the suffix name for the target of non-executable tests in a couple
of places.
I recently enabled TSan interceptors for libdispatch on non-Apple
platforms in upstream. This is on by default on Apple platforms. Let's
try to switch it on for other platforms too.
Some shell commands when building ICU weren't using call which handles
the dry-run parameter, and were trying to execute.
NOTE: there's some invocations to xcrun inside $() which are not using
dry-run, but since those are mostly query commands, and left them alone
(they don't work on Linux, but nobody should use those codepaths in
Linux).
Dispatch, Foundation and XCTest build using CMake since a couple of
months ago, so there's no need to remove the partial results before
building anymore. This should make rebuilding a little bit faster.
CMake defaults to using a special <package>_DIR for finding packages.
Prefer this to import the CMake package for LLVM/Clang/Swift rather than
custom paths.
This matches the change in upstream LLDB. I've also aligned the
invocations to improve the readability and make it clear that they're
separate commands executed after each other.
(cherry picked from commit 5b1d826e9e)
CMake defaults to using a special <package>_DIR for finding packages.
Prefer this to import the CMake package for LLVM/Clang/Swift rather than
custom paths.
The original location was only invoked when build-script invked cmake
and on top of that it did not actually make it into the cmake command
line. Since build-script is running lit manually anyway, we can just
move it over there.
Now we build libcxx if and only if --libcxx is passed, like with other
optional products. This loses the intended "build if sources are
checked out" behaviour, but behaves more predictably.
This is a cleaner, more principled way of adding "compiler launcher" support and
ensures that cmake understands that distcc is not the "actual" compiler.
This ensures that when we compile SwiftRemoteMirrors for the host, we do not try
to compile using distcc without needing to reset CMAKE_{C,CXX}_COMPILER_ARG1
(which is unset when compiling things in the stdlib).
Fix the check for building on macOS, fix a syntax error in the script.
This should repair the macOS build of lldb with CMake. Thanks to
@slavapestov for pointing out that this path had been broken!