PR #25085 [1] enabled building and installing the static variant of the
libdispatch library in build-script-impl. This broke the
`tsan-libdispatch-test` preset [2].
Let's make sure we pass along the options specified in
`libdispatch-cmake-options` when building the static variant.
[1] https://github.com/apple/swift/pull/25085
[2] https://github.com/apple/swift/pull/24330
rdar://problem/49177823
This commit introduces a CMake target for each component, adds install targets
for them, and switches build-script-impl to use the target `install-components`
for installation. Each of the targets for each component depends on each
of the individual targets and outputs that are associated with the
corresponding swift-component.
This is equivalent to what already exists, because right now install rules are
only generated for components that we want to install. Therefore, this commit
should be an NFC.
This patch propagates the number of parallel jobs from build-script to
llvm-lit. Due to the way how build-script-impl is implemented, changing this
number needs a reconfigure for the Swift tests and can be done on the fly for
LLDB tests, since build-script-impl directly invokes llvm-lit in the latter
case.
rdar://problem/52062631
Xcode puts the bin/ and lib/ directories in a subdirectory based on
configuration; account for this when copying over compiler-rt for
non-host Apple platforms using one of the existing helpers in
build-script-impl.
Currently, bots that perfrom an installation will build LLDB once using CMake
because that is the default and then again using Xcode because the CMake
install step is not implemented by build-script. This patch adds CMake support
by calling the generic cmake install-lldb step.
<rdar://problem/51317901>
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.