The stdlib build for wasm target is failing on Darwin host due to
default values of some CMake options on Darwin host. We need to
explicitly define these options to make the build pass.
Ninja 1.12 just released and seems to be dying silently while building
the Swift stdlib. Lets go ahead and pin it to the old tag. Pinned
dependencies are better from a security standpoint anyway.
I'm leaving `next` on the ninja release branch so that we still have
some signal from it, but folks aren't generally living on `next`, so it
should have less impact.
This change introduces a new compilation target platform to the Swift compiler - visionOS.
- Changes to the compiler build infrastrucuture to support building compiler-adjacent artifacts and test suites for the new target.
- Addition of the new platform kind definition.
- Support for the new platform in language constructs such as compile-time availability annotations or runtime OS version queries.
- Utilities to read out Darwin platform SDK info containing platform mapping data.
- Utilities to support re-mapping availability annotations from iOS to visionOS (e.g. 'updateIntroducedPlatformForFallback', 'updateDeprecatedPlatformForFallback', 'updateObsoletedPlatformForFallback').
- Additional tests exercising platform-specific availability handling and availability re-mapping fallback code-path.
- Changes to existing test suite to accomodate the new platform.
These repositories are used by https://github.com/apple/swift-sdk-generator, which needs to be built as a part of Swift CI jobs for creating a Swift SDK for WASI for CI testing purposes.
* Stash for each submodule for consistency.
* Stash untracked changes too.
* Don't redundantly hard-reset along the stash path.
* Add some comments and a more truthful description to `--stash` and
`--clean`.
The WASI community is transitioning to a new naming for the "preview"
version in the target triple: wasm32-wasi -> wasm32-wasip1.
At this moment, we keep the old triple wasm32-wasi because it's already
widely used, but we should start using the new triple threaded target.
LLVM checks only if the OS field *starts* with "wasi", so "wasip1" is
still considered a valid `isOSWASI()` target.
See: https://github.com/WebAssembly/wasi-libc/pull/478
This patch adds a `-threads` variant of the Wasm stdlib build, which
has completely different ABI and target triple. Now we build
non-threaded and threaded variants when `--build-wasm-stdlib` is
enabled.
`-external-plugin-path` flags pointing XcodeDefault.xctoolchain were
needed to use macro plugins in Apple SDK. But since Apple macro plugins
are not in `.xctoolchain` anymore, these flags are useless.
rdar://125498074
Because the data formatter for the compiler internals was registering itself as
swift, it was hiding the default data formatters for swift code.
rdar://125114526