From 63b93fcd638a94a1429f779222356c46b1def20a Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Tue, 23 Sep 2025 14:17:17 -0700 Subject: [PATCH] build.ps1: separate SPM runtime build --- utils/build.ps1 | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/utils/build.ps1 b/utils/build.ps1 index bc2d8ba443fb0..6762ddb8e600c 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -853,6 +853,7 @@ enum Project { Subprocess Build PackageManager + PackageManagerRuntime Markdown Format LMDB @@ -3585,6 +3586,27 @@ function Build-PackageManager([Hashtable] $Platform) { } } +function Build-PackageManagerRuntime([Hashtable] $Platform) { + $SrcDir = if (Test-Path -Path "$SourceCache\swift-package-manager" -PathType Container) { + "$SourceCache\swift-package-manager" + } else { + "$SourceCache\swiftpm" + } + + Build-CMakeProject ` + -Src $SrcDir\Sources\Runtimes ` + -Bin (Get-ProjectBinaryCache $Platform PackageManagerRuntime) ` + -InstallTo "$($Platform.ToolchainInstallRoot)\usr" ` + -Platform $Platform ` + -UseBuiltCompilers C,CXX,Swift ` + -SwiftSDK (Get-SwiftSDK -OS $Platform.OS -Identifier $Platform.DefaultSDK) ` + -UseGNUDriver ` + -Defines @{ + BUILD_SHARED_LIBS = "YES"; + SwiftPM_ENABLE_RUNTIME = "NO"; + } +} + function Build-Markdown([Hashtable] $Platform) { Build-CMakeProject ` -Src $SourceCache\swift-markdown ` @@ -4116,6 +4138,8 @@ if (-not $SkipBuild) { Write-PlatformInfoPlist Windows + Invoke-BuildStep Build-PackageManagerRuntime $HostPlatform + # Copy static dependencies foreach ($Build in $WindowsSDKBuilds) { if (-not $Build.LinkModes.Contains("static")) { continue }