This is useful when building cross-compilation toolchains where you want
the stdlib and corelibs cross-compiled but don't want the Swift compiler
cross-compiled too with `--cross-compile-hosts`.
Update swift-argument-parser to 1.5.1. This is motivated by a change to
the build system in 1.5.1 that is required to build
swift-argument-parser as part of swift-driver to enable static linking
on Windows. Pulling in this change will enable us to make further
progress towards enabling the early swift driver on Windows.
WIP to add more overloads to optimize SIMD codegen on concrete types.
Here we do:
- init(repeating:)
- init(lowHalf:highHalf:)
These are always inlined, even in debug, since LLVM knows how to lower
them to one or two instructions on the targets that we care about.
Rename `Install-Platform` to `Install-SDK` as it adjusts the SDK layout.
This is something that we should work towards minimising and ensuring
that the install rules in CMake properly stage the files. In the mean
time, this allows us to properly structure the SDK.
Alter the parameters to avoid the explicit OS, extracting it from the
platform set provided. Additionally provide an SDK identifier to allow
us to handle the experimental SDKs as well.
Add support to emit the SDKSettings.json for the experimental SDK. This
ensures that the we have the settings available for the tools when using
this SDK.
Alter the PList and JSON to match contents. While the primary consumer
for the PList is SPM, this synchronises the two just in case. This is in
response to feedback from @jakepetroules.
This adjusts the experimental runtime build to include the overlay,
StringProcessing, Synchronization. This is a first step towards getting
a sufficient amount of the SDK overlay built so that we can start
statically linking a real world program (swift-driver).
The 64-bit ARM architecture spelling on FreeBSD is aarch64, not arm64.
This results in a build failure about a missing
`freebsd/arm64/swiftrt.o` while building the runtimes.
Previously, when invoking the script with match-timestamp, if the
refspec was absent, the find_rev_by_timestamp function would throw an
exception and the script would hang forever.
Here, it is first checked via `git rev-parse --verify $REFSPEC` that the
refspec actually exists in the target repo. If it does not, the refspec
is just omitted from the command, giving the latest commit before the
currently checked out one.
This tells build-script to build Swift-testing with WMO.
This results in a faster build products, but is also necessary for
configurations using the legacy swift driver, which would emit an
invalid swift interface in non-WMO builds.
Fixes: rdar://151357567
...we disabled in #81354
This requires a couple of supporting changes
* under Linux, do not cross compile LLVM when building for the host
architecture -- that will ensure that the compiler-rt build will use
the just built compiler and not the system one (which may not be
new enough for this purpose);
* provide sanitizer flags depending on the linker the just built compiler
will use -- this detection is brittle, so print a message advising the
user how to override this.
Addresses rdar://150849329