Since the NDK removes the platforms/ and sysroot/ directories in the latest NDK
22, switch to the unified sysroot in toolchains/llvm/ and take advantage of a
bunch of simplification that's now possible.
* [Concurrency] Build C only libdispatch before Swift on non-Darwin platforms
_Concurrency depends on libdispatch and since it is not available by
default on non-Darwin platforms, it needs to be built before the Swift
project, so that the dependency can be resolved.
* Fix clibdispatch installation and BuildSystem tests
* Fix build system tests on Darwin and formatting
There's no reason to use -m${platform}-version-min as of clang-11/Xcode 11. Clang is now smart enough to parse -target and provide Apple's ld with the appropriate -platform_version argument string.
This should enable scaling when using machines with large amount of
RAM.
To better support machines with lower spec, process one binary per
dsymutil invocation (reverting #34149).
Add some (limited) facilities to gather the time taken to execute
dsymutil to better assist in tuning the parameter -- these are printed in
JSON format in the log to allow for easier scraping
```
{ "command": "dsymutil", "start": "2020-11-18T18:10:47" }
{ "command": "dsymutil", "end": "2020-11-18T18:14:45" }
```
Addresses rdar://71018443
Quote the path to the python interpreter. Without this change, using a
path with a space in it will prevent CMake from configuring as the
python interpreter's path will be split.
This is a small step to ensure multiple build jobs running on the same
machine (e.g. in CI) do not stomp on each other.
This PR does not cover the version detection of the Swift compiler
during the CMake configuration -- in there the compiler gets called once
without any of the `CMAKE_Swift_FLAGS`.
Addresses rdar://71373494
Some of the bots in CI run multiple jobs, so we need to be sure
libdispatch compilations do not attempt to share the module cache.
Addresses rdar://68100533
To fix this issue:
ld: building for tvOS, but linking in object file built for tvOS Simulator, file '/tmp/strip.rgKCdx' for architecture i386
fatal error: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip: internal link edit command failed
rdar://70443440
Similarly to what was done for #25547, copy the compiler-rt built-ins
for embedded platforms from the Xcode toolchain into the new generated
one, so to avoid link time errors.
Addresses SR-12001, rdar://57837918
In the original revert, this option was used in two places and I added a comment
only on the first one. This copies the comment onto the second usage of the
option.
Thanks to @edymtt and @compnerd for catching my careless error!
This will allow us to add test cases which may hang. The timeout here
is taken from the value we use in the regular test suite (along with the
check for the timeout requirements).
This reverts commit 95102bc258.
This is actually a dead option that is relied upon for some configurations. I am
going to add a note to not touch the option.
I talked with compnerd about this and they are cool with this.
I think that we can redo this in a nicer way when we are further into the
build-script-impl refactoring.
I added a note to the code to explain that it isn't dead.
Support cross compile Xcode toolchain for Apple Silicon
* Add CMake flag DCMAKE_OSX_ARCHITECTURES to LLVM
* Add CMake flag DCMAKE_OSX_ARCHITECTURES to cmark
* Add CMake flag DCMAKE_OSX_ARCHITECTURES to lldb
* Add CMake flag DCMAKE_OSX_ARCHITECTURES to llbuild
* Add llbuild CMake options array to provide DCMAKE_OSX_ARCHITECTURES
* [Build System] Use one install package for cross compile hosts
* Remove Lipo before non-build-script-impl products
* Add support to only lipo without running installable package tests
* [Build System] Support cross compile install prefix for SwiftPM product in Swift Build Support
* Use cross compile toolchain path for indexstoredb and swift-driver
* Use cross compile toolchain path for swiftpm, swiftsyntax, swiftformat, and skstresstester
* Add cross compile toolchain support to Benchmarks, and fix the python lint issue in skstresstester.py
* [SwiftPM] Add support for cross-compile-hosts flag to build swiftpm using bootstrap script
Set those at the value pre #33388 -- this would avoid regressions
of disk space usage (in particular around building Swift LTO)
Addresses rdar://68091272