Commit Graph

8992 Commits

Author SHA1 Message Date
Max Desiatov
de82e315a5 Merge pull request #83755 from MaxDesiatov/wasmkit-cmake
Currently, passing `--wasmkit` to `build-script` also requires `--swiftpm --install-swiftpm` and all of their dependencies (at the very least Dispatch, Foundation, XCTest, Testing, llbuild, swift-build). We can conditionally switch to host SwiftPM when new SwiftPM is not built or installed.
2025-08-18 18:41:22 +02:00
Max Desiatov
35823eca9f Make logging in wasmkit.py resilient to file renaming 2025-08-18 12:33:52 +01:00
Saleem Abdulrasool
2997a0e345 build.ps1: attempt to repair the ARM64 cross-compile 2025-08-17 22:03:08 -07:00
Saleem Abdulrasool
7204559251 build.ps1: improve documentation (NFC)
Update the documentation for the parameters, remove the public
documentation for "advanced" options (e.g. to control migration, CI
schemes, etc).
2025-08-17 18:31:38 -07:00
Yuta Saito
9e259b9fcb [wasm] Update wasi-libc to version 27
This release includes various fixes and features, including:
* Fix for too conservative incremental builds
  eadb436d5c
* Opt-in busywait mode for futexes
  https://github.com/WebAssembly/wasi-libc/pull/562
* Musl update from 1.2.3 to 1.2.5
  https://github.com/WebAssembly/wasi-libc/pull/557
2025-08-17 11:51:20 +00:00
Saleem Abdulrasool
4c8b42f6cf Merge pull request #83758 from compnerd/organisation
build.ps1: organise script options
2025-08-16 10:28:48 -07:00
Max Desiatov
e47f650880 Update utils/swift_build_support/swift_build_support/products/wasmkit.py 2025-08-16 16:20:52 +01:00
Max Desiatov
b055217430 Build WasmKit with host SwiftPM when SwiftPM is not built
Currently, passing `--wasmkit` to `build-script` also requires `--swiftpm --install-swiftpm` and all of their dependencies (at the very least Dispatch, Foundation, XCTest, Testing, llbuild, swift-build). We can conditionally switch to host SwiftPM in this case.
2025-08-16 14:52:05 +01:00
Ben Barham
375a6ed26c Merge pull request #83764 from bnbarham/multi-root-release
[Windows] Use a multiroot data file to test (corelibs-)foundation on Windows
2025-08-15 17:49:27 -07:00
Alex Hoppen
7ce649c168 [Windows] Use a multiroot data file to test (corelibs-)foundation on Windows
We currently rebuild swift-syntax, swift-foundation-icu and swift-foundation twice: Once to test swift-foundation and once to test swift-corelibs-foundation. Using a unified build for both projects means that we only need to rebuild them once, saving ~5 minutes.

(cherry picked from commit 61f833c04c)
2025-08-15 12:17:43 -07:00
Mishal Shah
9a70a0a949 Merge pull request #83745 from swiftlang/add-support-for-swift-6.2.0-6.2.1
[main][update-checkout] Add support for Swift 6.2.0 and 6.2.1
2025-08-15 09:57:47 -07:00
Saleem Abdulrasool
47f680f998 build.ps1: organise script options
Organise the build options which have grown organically. We have a
number of options that are co-dependent but were spread apart. Ideally,
we would like to minimise the options. There are a number of "options"
which are less so user-configurable options but rather options to allow
migration (e.g. python version, sccache version). There are some options
which are temporary and would be ideal to simply drop at some point
(`IncludeDS2` should always be true, `IncludeNoAsserts` should
become toolchain variants to build, and `FoundationTestConfiguration` is
meant to be a CI configuration).
2025-08-15 09:12:23 -07:00
Mishal Shah
63ef5a0cc7 Bump the Swift version to 6.3 2025-08-14 23:06:49 -07:00
Mishal Shah
f906535bec [update-checkout] Add support for Swift 6.2.0 and 6.2.1 2025-08-14 22:32:13 -07:00
Fabrice de Gans
9b8fbfeac8 utils: Remove unused CMake args in the SDK jobs
CMake warns about these unused arguments during configuration.
2025-08-14 10:16:37 -07:00
Saleem Abdulrasool
d7ff986821 utils: build the dynamic experimental SDK 2025-08-13 22:15:06 -07:00
Anthony Latsis
e71ede14b4 Merge pull request #83696 from swiftlang/jepa-main
swift-xcodegen: Minor tweaks
2025-08-14 01:29:18 +01:00
Saleem Abdulrasool
4231a362a0 Merge pull request #83554 from compnerd/remote-mirror
Runtimes: add SwiftRemoteMirror to the new runtimes build
2025-08-13 16:41:17 -07:00
Anthony Latsis
8585e45ece Merge pull request #83688 from swiftlang/jepa-rebranch
update-checkout-config: Sync rebranch and next revisions of swift-argument-parser and mimalloc with main
2025-08-14 00:10:23 +01:00
Ben Barham
31f344de84 Merge pull request #83693 from ahoppen/no-multiroot-data-file-windows
[Windows] Stop using multiroot data file
2025-08-13 09:31:53 -07:00
Saleem Abdulrasool
d51491f008 build.ps1: enable SwiftRemoteMirror in the experimental SDK
Ensure that we build the swift remote mirror on Windows in the
experimental SDK builds.
2025-08-13 08:48:37 -07:00
Anthony Latsis
d81a42a5f5 swift-xcodegen: Reimplement printingTimeTaken using ContinuousClock
`ContinuousClock` is more lightweight, and Foundation has a handy API
for formatting the resulting duration.
2025-08-13 15:49:59 +01:00
Anthony Latsis
22abc5520c swift-xcodegen: Add a short name for --output-dir
'-o' is a common short name for an option that accepts the destination
for primary output.
2025-08-13 15:32:23 +01:00
Saleem Abdulrasool
1fafd48dc4 Merge pull request #83644 from compnerd/cdispatch 2025-08-13 07:28:23 -07:00
Alex Hoppen
8ef0e2ae92 Add comment to -j 1 for Foundation test execution 2025-08-13 13:08:00 +02:00
Alex Hoppen
b48d052f64 Revert "[Windows] Use a multiroot data file to test (corelibs-)foundation on Windows"
This reverts commit 61f833c04c.
2025-08-13 13:06:32 +02:00
Hamish Knight
10eab84e42 Merge pull request #83664 from hamishknight/fix-rel
[xcodegen] Allow absolute path for output in compile commands
2025-08-13 05:36:17 +01:00
Kavon Farvardin
6cb38edad4 Merge pull request #83622 from kavon/kavon/test-opaque-values
test: provide an opaque-values testing mode
2025-08-12 19:57:57 -07:00
Anthony Latsis
8b8bf914a6 update-checkout-config: Sync rebranch scheme with next 2025-08-13 01:31:08 +01:00
Anthony Latsis
97506834c8 update-checkout-config: Sync rebranch and next revisions of swift-argument-parser and mimalloc with main 2025-08-13 01:26:12 +01:00
Ben Barham
723e1d9b15 Merge pull request #83558 from swiftlang/shahmishal/swift-collection
Update the swift-collection version 1.1.6 for rebranch and next
2025-08-12 17:12:01 -07:00
Saleem Abdulrasool
4defa6048e Merge pull request #83653 from compnerd/pinned-extraction-negotiation
build.ps1: adjust the pinned toolchain extraction location
2025-08-12 15:26:57 -07:00
Kavon Farvardin
88449a87b2 Merge pull request #83673 from kavon/kavon/test-suite-cleanups
NFC: refactor source-line sensitive tests, remove unused build-presets configuration
2025-08-12 15:24:25 -07:00
Kavon Farvardin
c3e0ce5bb6 test: provide an opaque-values testing mode
Introduces a new build-script flag `--test-optimize-none-with-opaque-values`
and build targets like `check-swift-optimize_none_with_opaque_values` that
runs the execution_test's while compiling them with -enable-sil-opaque-values.

This mode is quite useful while working to bring-up opaque values.
2025-08-12 15:07:40 -07:00
Fabrice de Gans
5ba381ea7e build: Install dispatch libraries in arch subdir 2025-08-12 08:56:59 -07:00
Hamish Knight
56178cd97c [xcodegen] Allow absolute path for output in compile commands
Looks like in newer versions of CMake this can be an absolute path.
2025-08-12 15:04:28 +01:00
Alex Hoppen
d3d8576ec4 Merge pull request #80122 from ahoppen/windows-multiroot-data-file
[Windows] Use a multiroot data file to test (corelibs-)foundation on Windows
2025-08-12 08:12:13 +02:00
Saleem Abdulrasool
d6d4182492 build.ps1: rename the extracted toolchain location
Strip the `swift-` prefix and the `-a-windows10` suffix on the
toolchain. This allows us to get back within the path limits which
otherwise prevents extracting the experimental SDK.
2025-08-11 15:43:04 -07:00
Saleem Abdulrasool
75a6d10140 build.ps1: allow querying a specific SDK from the pinned toolchain
This allows us to use a specific SDK from the pinned toolchain image. By
enabling this functionality, we can migrate towards a newer snapshot and
build the early swift-driver.
2025-08-11 15:43:04 -07:00
Saleem Abdulrasool
4f246dd98f build.ps1: add CDispatch build
Introduce a new build product: `CDispatch`. This is a dynamic variant of
libdispatch and BlocksRuntime. This breaks the cycle of the Swift
runtime and dispatch. This should also allow us to simplify the
toolchain build.
2025-08-11 10:57:13 -07:00
Saleem Abdulrasool
a61ac6b43c build.ps1: rename Export-Toolchain to Extract-Toolchain
Rename the function to match the other `Extract` functions.
2025-08-11 09:01:31 -07:00
Alex Hoppen
61f833c04c [Windows] Use a multiroot data file to test (corelibs-)foundation on Windows
We currently rebuild swift-syntax, swift-foundation-icu and swift-foundation twice: Once to test swift-foundation and once to test swift-corelibs-foundation. Using a unified build for both projects means that we only need to rebuild them once, saving ~5 minutes.
2025-08-11 09:35:59 +02:00
finagolfin
e251aea113 [build] Change Foundation macro checks because of #83422 (#83629)
I missed that `build-script` passes back `false` instead, so use the
`true_false` function for broader checking.
2025-08-10 18:29:24 -07:00
Saleem Abdulrasool
eca5c3625f Merge pull request #83623 from compnerd/interop
build.ps1: enable the C++ interop on Windows
2025-08-09 19:31:48 -07:00
finagolfin
4a3ef140d8 [build] Make the new --cross-compile-build-swift-tools flag public (#83422)
This new flag makes it easy to build Swift cross-compilation toolchains,
by disabling cross-compilation of all host tools, like the Swift
compiler and various macros, building on prior pulls #38441 and #82163.

Native compilation has more fine-grained flags like
`--build-swift-tools`, `--build-llvm`, and `--swift-testing-macros`, but
those will disable building them for _all_ platforms (with the exception
of `--build-swift-tools`, which I modified to only apply for the host,
since the initial introduction of this
`--cross-compile-build-swift-tools` flag a couple months ago), so
they're not suited for building a cross-compilation toolchain, where you
want all host tools built for the native host but not for any
cross-compilation SDKs.
2025-08-09 13:51:11 +05:30
Saleem Abdulrasool
ce6ac28a1f build.ps1: enable the C++ interop on Windows
With the last changes to the C++ interop support in the new runtimes
build, the default on Windows matches what it is on Apple platforms.
Explicitly opt into the C++ overlay build on Windows.
2025-08-08 15:53:08 -07:00
Kavon Farvardin
d8b28cf2e7 nfc: remove old ncgenerics preset 2025-08-08 15:32:37 -07:00
Saleem Abdulrasool
b4d843fcbd Merge pull request #83605 from compnerd/spm-build 2025-08-08 12:50:59 -07:00
Saleem Abdulrasool
9c3c4cd473 Merge pull request #83496 from compnerd/isolation
build.ps1: begin isolating the SDK builds
2025-08-08 10:42:09 -07:00
Saleem Abdulrasool
e2cadbc398 build.ps1: invoke swift rather than ...\swift.exe
Use the `Path` to resolve `swift` and use that to build and test
packages rather than computing the absolute path to the swift driver
driver.
2025-08-07 16:49:26 -07:00