Commit Graph

456 Commits

Author SHA1 Message Date
Saleem Abdulrasool
9040fab1d1 utils: adjust the "platform" install rules
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.
2025-05-26 13:39:21 -07:00
Saleem Abdulrasool
29a9fb0ecb Merge pull request #81745 from compnerd/summary
utils: fix summary emission with caching
2025-05-25 02:02:27 -07:00
Saleem Abdulrasool
331f0982b7 Merge pull request #81763 from compnerd/settings
utils: write SDKSettings for experimental SDKs
2025-05-24 17:48:55 -07:00
Saleem Abdulrasool
5398cc8f90 utils: write SDKSettings for experimental SDKs
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.
2025-05-24 08:44:30 -07:00
Saleem Abdulrasool
89042cd8c0 utils: normalise the names as per expectations
Adjust the platform identifier spelling to the expected case.
2025-05-24 08:43:25 -07:00
Saleem Abdulrasool
36859c0ae8 Merge pull request #81734 from compnerd/unification
utils: make unify SDKSettings plist and json
2025-05-23 15:35:36 -07:00
Saleem Abdulrasool
548bff6c78 utils: fix summary emission with caching
This updates the SCCache invocation for the summary printing which needs
to be adjusted for the use of the downloaded sccache.
2025-05-23 09:09:33 -07:00
Saleem Abdulrasool
a478db9022 Merge pull request #81733 from compnerd/sccache
utils: download sccache for Windows
2025-05-23 07:53:35 -07:00
Saleem Abdulrasool
b3b9924a42 Merge pull request #81732 from compnerd/expansion
utils: extend the experimental runtime build
2025-05-23 07:52:54 -07:00
Charles Zablit
9ed8b664fd Merge pull request #81071 from charles-zablit/charles-zablit/windows/fix-psutil-install-arm64
[Windows] fix psutil installation on arm64
2025-05-23 09:56:09 +01:00
Saleem Abdulrasool
0d32d8be69 utils: make unify SDKSettings plist and json
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.
2025-05-22 21:49:50 -07:00
Saleem Abdulrasool
4539e0ab25 utils: download sccache for Windows
When `-EnableCaching` is specified, download a specific version of
sccache to enable easy enablement.
2025-05-22 21:28:13 -07:00
Saleem Abdulrasool
7b17c47a2c utils: extend the experimental runtime build
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).
2025-05-22 20:59:38 -07:00
Saleem Abdulrasool
77fdaa9dd7 utils: flesh out SDKSettings.json further on Windows
Add additional properties into the SDKSettings.json that we generate.
2025-05-22 16:09:09 -07:00
Charles Zablit
1b549b66a7 fix dependency issue 2025-05-20 11:17:35 +01:00
Charles Zablit
d575a854b3 drop wheels in favor of pip install with hashes 2025-05-19 19:53:30 +02:00
Charles Zablit
5425fd347c sync package name 2025-05-19 19:53:30 +02:00
Charles Zablit
051e9e0710 fixup! [windows] add backup pip install when no wheels are available 2025-05-19 19:53:30 +02:00
Charles Zablit
ffd801b8de [windows] add backup pip install when no wheels are available 2025-05-19 19:53:29 +02:00
Charles Zablit
f59f602ddc Revert "[windows] fix psutil installation on arm64"
This reverts commit 345452c8dbaa61a864e0dc483ad94d1aef89147b.
2025-05-19 19:53:29 +02:00
Charles Zablit
211eaa94f5 Revert "[windows] replace wheels with automatic pip install"
This reverts commit 1a309e5a06d6e29ef6fa806703b404bdbdf4e38b.
2025-05-19 19:53:29 +02:00
Charles Zablit
50dc6b8aa3 [windows] replace wheels with automatic pip install 2025-05-19 19:53:29 +02:00
Charles Zablit
6ff163bc52 [windows] fix psutil installation on arm64 2025-05-19 19:53:27 +02:00
Saleem Abdulrasool
4daab4a904 utils: indicate that the old driver is in effect
We currently cannot boostrap the toolchain with an early swift-driver.
Mark that we are using the old driver. Once the new experimental SDK is
packaged, we should be able to start building the early swift-driver
with static linking to use the bootstrapped driver.
2025-05-11 17:04:17 -07:00
Doug Schaefer
0c765883ed Add ASN1 module to SourceKit-LSP Test
Super surprised to see the build for swift test hardcoded in
the build.ps1 script instead of in the sourcekit-lsp repo.
At any rate, looks like I need to add the dependency on ASN1
here too.

This is to support changes in SwiftPM that add the dependency
which translates through to sourcekit-lsp.

https://github.com/swiftlang/swift-package-manager/pull/8610
2025-05-08 20:14:00 -04:00
Doug Schaefer
ffa15b814d Add SwiftASN1 to sourcekit-lsp dependencies for Windows.
Updates the build.ps1 script to add the SwiftASN1 package support
to it's CMake build. This was caused by this dependency being added
to a module in SwiftPM that sourcekit-lsp imports.
2025-05-07 09:57:06 -04:00
Saleem Abdulrasool
c2a10814e5 Merge pull request #80681 from compnerd/mimalloc
utils: remove mimalloc workaround
2025-05-06 13:12:27 -07:00
Owen Voorhees
3437609eb5 Merge pull request #80703 from swiftlang/owenv/swiftbuild-swiftpm-windows
Define SwiftBuild_Dir when building SwiftPM in build.ps1
2025-04-29 09:15:48 -07:00
Saleem Abdulrasool
de5da075be utils: further refinements to LibraryRoot-less builds
Further refine the build after the `LibraryRoot` removal. The
alterations here support the build to be generalised for
cross-compilation without worrying about a central installation for the
dependencies.
2025-04-28 06:19:07 -07:00
Owen Voorhees
f0ea339439 Define SwiftBuild_Dir when building SwiftPM in build.ps1 2025-04-27 20:56:01 -07:00
Saleem Abdulrasool
63db34271a Merge pull request #81048 from compnerd/build-host-build
utils: correct the host that we reference for the tools
2025-04-25 07:52:11 -07:00
Saleem Abdulrasool
c84493ee50 Merge pull request #81057 from compnerd/no-more-roots
utils: remove `LibraryRoot` from the windows build
2025-04-25 06:27:24 -07:00
Alastair Houghton
555c6f9b53 Merge pull request #80636 from al45tair/fix-windows-build-2025-04-08
[Windows] Fix build issues.
2025-04-24 11:32:22 +01:00
Saleem Abdulrasool
590e0ffb94 utils: remove LibraryRoot from the windows build
This is no longer used, preferring to stage the dependencies into the
toolchain image. The packaging step will simply ignore these files to
prevent shipping. This is important to support a multi-phase build as
well as a cross-compile for a host where the host binaries cannot run
on the build.
2025-04-23 16:26:43 -07:00
Saleem Abdulrasool
d3a141c5b8 utils: correct the host that we reference for the tools
We need to use the build for the tools rather than the host. This is to
help fix the cross-compilation scenarios.
2025-04-23 14:01:27 -07:00
Saleem Abdulrasool
a9df0bd302 Merge pull request #81008 from compnerd/clean
utils: make `-Clean` be fully clean
2025-04-23 09:39:05 -07:00
Saleem Abdulrasool
e444755785 utils: correct the logging for Get-Dependencies
`Fetch-Dependencies` was renamed but we did not fully rename the
references. Update the straggling instance of the old name which was
used in logging.
2025-04-22 14:58:29 -07:00
Saleem Abdulrasool
3f11375c12 utils: make -Clean be fully clean
`-Clean` has generally been a psuedo-clean operation. It will clear out
the build trees excluding the costly compiler build. With the ability to
use caching now, make `-Clean` a fully clean build.
2025-04-22 14:57:48 -07:00
Evan Wilde
3d43e1accc Merge pull request #80918 from etcwilde/ewilde/use-installed-cmake-ninja
Windows: Use pre-installed CMake and Ninja
2025-04-19 11:07:35 -07:00
Evan Wilde
b15303d1b4 Windows: Use pre-installed CMake and Ninja
Teach build.ps1 to search for a pre-installed CMake and Ninja from the
PATH instead of only using one installed in Visual Studio. If one is not
installed or on the path, the script will attempt to use one installed
in Visual Studio. Preference is given to the executable found in the
path environment variable.
2025-04-18 17:50:53 -07:00
Alastair Houghton
2bf57d7bc6 [Windows] Fix build issues.
Fix build.ps1 to work properly for the experimental runtime build on
platforms other than x86-64.

Also fix the ToBatch option to mostly work.
2025-04-17 12:12:48 +01:00
Saleem Abdulrasool
37b35e8167 utils: remove -BuildTo feature from build.ps1
This feature never really was used in the CI systems as it was intended.
It was meant to allow doing partial builds for smoke testing. However,
we have a much better solution for that now: docker. Remove this feature
that is underutilized.
2025-04-16 14:19:33 -07:00
Mishal Shah
d8918ceab9 Merge pull request #80803 from compnerd/timing
utils: add `--time-tests` to lit invocation
2025-04-14 21:40:37 -07:00
Saleem Abdulrasool
81e034567d utils: add --time-tests to lit invocation
Try to extract more timing information about the tests to understand CI
times better.
2025-04-14 12:49:20 -07:00
Saleem Abdulrasool
3546c33ac8 Merge pull request #80752 from compnerd/staging
utils: correctly stage MSMs for Windows Runtime
2025-04-12 23:10:08 +03:00
Saleem Abdulrasool
1c2cc68891 utils: correctly stage MSMs for Windows Runtime
Ensure that we stage all the MSMs for the Windows Runtime distribution.
This enables us to consider online installers which would allow users to
select subsets of the installer to download when needed.
2025-04-11 16:05:45 -07:00
Saleem Abdulrasool
f6c63d4869 utils: avoid redirection and use pipes for output redirection
When the output is directly redirected, the output is re-encoded. This
is particularly important as `Write-PList` uses `Invoke-Program` to
invoke `python.exe` to write the plist. However, because it is writing
to a file, while the output from Python is in UTF-8, the redirection
re-encodes the output to UTF16LE (BOM). Adjust the invocation to use
PS7+ `2|` and pipe both stdout and stderr as appropriate into files with
UTF-8 encoding restoring the encoding for the file.
2025-04-11 15:56:54 -07:00
Saleem Abdulrasool
96ccca62d5 utils: remove mimalloc workaround
Remove a workaround for the ARM64 toolchain when built with mimalloc
which would previously have an erroneous reference to the x64
interceptor.
2025-04-09 09:53:43 -07:00
Saleem Abdulrasool
b36cee28a6 Merge pull request #80611 from compnerd/installer
utils: update the installer build invocation
2025-04-09 17:39:05 +03:00
Saleem Abdulrasool
89091904d7 Merge pull request #80609 from compnerd/case
utils: adjust the emission of `SDKSettings.json`. Use lowercase spellings for the platform names to match SwiftBuild's expectations as pointed out by @jakepetroules.
2025-04-09 02:37:43 +03:00