We want to have the option of building the standard library without
-sil-serialize-all.
For now, the build crashes in the SIL verifier due to various issues;
upcoming patches will address these.
This is part of the larger goal of building the stdlib with
-enable-resilience.
Part of https://bugs.swift.org/browse/SR-267.
swift supports cross-compilation. The autolink extract tool is needed when
targeting non-Darwin targets even on Darwin. Install it as the aux-driver-tools
component. Update the Linux builds to install this component by default.
The `--darwin-crash-reporter-client` is not enabled unless explicitly passed in to the build scripts. This is not done by the Python build script nor any of the presets, so there's no need to explicitly disable it.
Static stdlib builds are disabled unless `--build-swift-static-stdlib` is explicitly passed in to the build scripts. As a result, `--build-swift-static-stdlib=0` is pointless--unless it's being used to counteract another `--build-swift-static-stdlib` being passed to the build script, but this is not the case in any of the uses in the build presets.
Remove the unnecessary parameters to make the build presets easier to understand.
Previously, the XCTest CI preset would attempt to build
corelibs-foundation on OS X. corelibs-foundation is not meant to be
built via the build-script on OS X, so this would cause issues.
Remove the explicit `--foundation` option, and instead leave it up to
the build-script to determine whether to build Foundation when building
XCTest.
The XCTest CI is currently broken for OS X. Invoking `xcodebuild`, even
when setting the correct `SWIFT_EXEC`, was unable to build Foundation.
The problem was that a flag to link the Objective-C runtime was not being set
as it would be when building with a Swift toolchain.
Set the flag to get the builds passing. The XCTest CI presets should
pass on all platforms with this change.
The `utils/build-script-impl` shellscript takes arguments in the form of `--foo=bar` or `--baz`. In the second form, the argument is automatically interpreted as `--baz=1`. There is no need to manually specify `=1`, so remove it from the build presets.
There is another reason to do this: the argument parser used by the Python `utils/build-script` is not as loose as the shellscript's. For a boolean switch such as `--baz`, the argument parser throws an exception if given a numerical value such as `--baz=1`. Therefore attempts to migrate certain parameters from the shellscript to the Python build script will encounter trouble when dealing with these explicit `--baz=1` parameters in the build presets.
This commit does not touch any of the `--foo=0` parameters. Although they should be removed, it's trickier due to the inheritance of the build presets, and so I will do so in a later commit.
Prior to this commit:
```
$ pylint utils/swift-bench.py 2>&1 | grep '(no-member)'
E:360,12: Instance of 'Test' has no 'results' member (no-member)
E:364,18: Instance of 'Test' has no 'output' member (no-member)
$
```
After this commit:
```
$ pylint utils/swift-bench.py 2>&1 | grep '(no-member)'
$
```