CodeView is only available on Windows, ensure that we restrict it to
that. Default to DWARF even if the user requested codeview to ensure
that we generate debug info for non-Windows hosts.
Rename these parameters to `WindowsSDKArchitectures` and
`AndroidSDKArchitectures`. This frees up `WindowsSDKs` and `AndroidSDKs`
to allow multiple SDKs per-OS.
Rename these to `WindowsSDKBuilds` and `AndroidSDKBuilds`. This prepares
for the new parameter/terminology:
- `WindowsSDKs` {default, experimental}`
- `WindowsSDKArchitectures` {arm64, x64, x86}
- `AndroidSDKs` {default, experimental}`
- `AndroidSDKArchitectures` {aarch64, armv7, i686, x86_64}
Windows PowerShell (version 5) and PowerShell Core (versions 6+) do not
handle escaping parameters for external programs invocation in the same
manner. In order to keep the script compatible with both editions of
PowerShell, these changes use the appropriate quote escaping style
depending on the PowerShell edition.
This also clears out the progress bars that can ghost in following a
call to `Remove-Item` in PowerShell Core.
This runner can be utilized as an alternative to WasmKit when running tests or executables from Swift packages compiled to Wasm, when better performance or improved coverage of WASI 0.1 ABI is needed.
This script is meant to be running only locally at this time and doesn't assume presence of Node.js on CI, since no CI scripts were changed.
* Always build with debug information on Android, even when
`CDebugFormat` is set to `codeview`
* Move the Windows ASM debug flags to the ASM section.
* Add the Windows linker flags in the common Windows section, and
always add the common Windows linker flags.
* Add `-ffunction-sections` and `-fdata-sections` for Android.
This is not necessary. This would only be needed for ELF targets which
are able to be built properly with `chrpath` once you set the
`CMAKE_EXECUTABLE_FORMAT` property.
This adds an additional bit of tooling to `build.ps1` to generate a SBoM
in SPDX (JSON) and cyclone (XML) formats. We also simultaneously
preserve the syft format for additional metadata. This is done in
preparation to ensure that we are able to track content beyond just the
manifest over time.
* Always get the Swift triple from the compiler.
* Remove the `CMAKE_[C|CXX]_COMPILER_WORKS` options.
* Only set the new linker if the built compiler is used on Android.
Currently we are using the same versions we use to build compiler and
standard library. This is an unnecessary coupling especially when
testing the generation of backdeployed executables for macOS -- here
we have interest in being able to run the tests on previous OSes, not
the compiler itself.
To support this, add new `--darwin-test-deployment-version-<platform>`
flags to build-script, which by default take the same value as the
matching `--darwin-deployment-version-<platform>` ones.
Addresses rdar://156724078