From 72faa2c40f4c9af83288e4c90b524c417ee2c614 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Wed, 8 Oct 2025 15:01:47 -0700 Subject: [PATCH] build.ps1: remove support the legacy SDK Drop the support for the legacy build system for the runtime. This reduces the complexity in the build script as well as helps reduce the overall build times. --- cmake/caches/Runtime-Android-aarch64.cmake | 24 -- cmake/caches/Runtime-Android-armv7.cmake | 24 -- cmake/caches/Runtime-Android-i686.cmake | 24 -- cmake/caches/Runtime-Android-x86_64.cmake | 24 -- cmake/caches/Runtime-Windows-aarch64.cmake | 20 - cmake/caches/Runtime-Windows-i686.cmake | 20 - cmake/caches/Runtime-Windows-x86_64.cmake | 19 - utils/build.ps1 | 402 ++++++--------------- 8 files changed, 108 insertions(+), 449 deletions(-) delete mode 100644 cmake/caches/Runtime-Android-aarch64.cmake delete mode 100644 cmake/caches/Runtime-Android-armv7.cmake delete mode 100644 cmake/caches/Runtime-Android-i686.cmake delete mode 100644 cmake/caches/Runtime-Android-x86_64.cmake delete mode 100644 cmake/caches/Runtime-Windows-aarch64.cmake delete mode 100644 cmake/caches/Runtime-Windows-i686.cmake delete mode 100644 cmake/caches/Runtime-Windows-x86_64.cmake diff --git a/cmake/caches/Runtime-Android-aarch64.cmake b/cmake/caches/Runtime-Android-aarch64.cmake deleted file mode 100644 index f622e900c9350..0000000000000 --- a/cmake/caches/Runtime-Android-aarch64.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -set(SWIFT_HOST_VARIANT_SDK ANDROID CACHE STRING "") -set(SWIFT_HOST_VARIANT_ARCH aarch64 CACHE STRING "") - -# NOTE(compnerd) disable the tools, we are trying to build just the standard -# library. -set(SWIFT_INCLUDE_TOOLS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build tests since the tests require the toolchain -set(SWIFT_INCLUDE_TESTS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build docs since that requires perl -set(SWIFT_INCLUDE_DOCS NO CACHE BOOL "") - -# NOTE(compnerd) these are part of the toolchain, not the runtime. -set(SWIFT_BUILD_SOURCEKIT NO CACHE BOOL "") - -# NOTE(compnerd) build with the compiler specified, not a just built compiler. -set(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER YES CACHE BOOL "") - -set(SWIFT_SDK_ANDROID_ARCHITECTURES aarch64 CACHE STRING "") - -# NOTE(compnerd) this is lollipop, which seems to still have decent usage. -set(SWIFT_ANDROID_API_LEVEL 21 CACHE STRING "") diff --git a/cmake/caches/Runtime-Android-armv7.cmake b/cmake/caches/Runtime-Android-armv7.cmake deleted file mode 100644 index a9c3b23e75198..0000000000000 --- a/cmake/caches/Runtime-Android-armv7.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -set(SWIFT_HOST_VARIANT_SDK ANDROID CACHE STRING "") -set(SWIFT_HOST_VARIANT_ARCH armv7 CACHE STRING "") - -# NOTE(compnerd) disable the tools, we are trying to build just the standard -# library. -set(SWIFT_INCLUDE_TOOLS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build tests since the tests require the toolchain -set(SWIFT_INCLUDE_TESTS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build docs since that requires perl -set(SWIFT_INCLUDE_DOCS NO CACHE BOOL "") - -# NOTE(compnerd) these are part of the toolchain, not the runtime. -set(SWIFT_BUILD_SOURCEKIT NO CACHE BOOL "") - -# NOTE(compnerd) build with the compiler specified, not a just built compiler. -set(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER YES CACHE BOOL "") - -set(SWIFT_SDK_ANDROID_ARCHITECTURES armv7 CACHE STRING "") - -# NOTE(compnerd) this is lollipop, which seems to still have decent usage. -set(SWIFT_ANDROID_API_LEVEL 21 CACHE STRING "") diff --git a/cmake/caches/Runtime-Android-i686.cmake b/cmake/caches/Runtime-Android-i686.cmake deleted file mode 100644 index 66d3063709924..0000000000000 --- a/cmake/caches/Runtime-Android-i686.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -set(SWIFT_HOST_VARIANT_SDK ANDROID CACHE STRING "") -set(SWIFT_HOST_VARIANT_ARCH i686 CACHE STRING "") - -# NOTE(compnerd) disable the tools, we are trying to build just the standard -# library. -set(SWIFT_INCLUDE_TOOLS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build tests since the tests require the toolchain -set(SWIFT_INCLUDE_TESTS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build docs since that requires perl -set(SWIFT_INCLUDE_DOCS NO CACHE BOOL "") - -# NOTE(compnerd) these are part of the toolchain, not the runtime. -set(SWIFT_BUILD_SOURCEKIT NO CACHE BOOL "") - -# NOTE(compnerd) build with the compiler specified, not a just built compiler. -set(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER YES CACHE BOOL "") - -set(SWIFT_SDK_ANDROID_ARCHITECTURES i686 CACHE STRING "") - -# NOTE(compnerd) this is lollipop, which seems to still have decent usage. -set(SWIFT_ANDROID_API_LEVEL 21 CACHE STRING "") diff --git a/cmake/caches/Runtime-Android-x86_64.cmake b/cmake/caches/Runtime-Android-x86_64.cmake deleted file mode 100644 index 8780313aaa3ca..0000000000000 --- a/cmake/caches/Runtime-Android-x86_64.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -set(SWIFT_HOST_VARIANT_SDK ANDROID CACHE STRING "") -set(SWIFT_HOST_VARIANT_ARCH x86_64 CACHE STRING "") - -# NOTE(compnerd) disable the tools, we are trying to build just the standard -# library. -set(SWIFT_INCLUDE_TOOLS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build tests since the tests require the toolchain -set(SWIFT_INCLUDE_TESTS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build docs since that requires perl -set(SWIFT_INCLUDE_DOCS NO CACHE BOOL "") - -# NOTE(compnerd) these are part of the toolchain, not the runtime. -set(SWIFT_BUILD_SOURCEKIT NO CACHE BOOL "") - -# NOTE(compnerd) build with the compiler specified, not a just built compiler. -set(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER YES CACHE BOOL "") - -set(SWIFT_SDK_ANDROID_ARCHITECTURES x86_64 CACHE STRING "") - -# NOTE(compnerd) this is lollipop, which seems to still have decent usage. -set(SWIFT_ANDROID_API_LEVEL 21 CACHE STRING "") diff --git a/cmake/caches/Runtime-Windows-aarch64.cmake b/cmake/caches/Runtime-Windows-aarch64.cmake deleted file mode 100644 index 4be155854c868..0000000000000 --- a/cmake/caches/Runtime-Windows-aarch64.cmake +++ /dev/null @@ -1,20 +0,0 @@ - -set(SWIFT_HOST_VARIANT_SDK WINDOWS CACHE STRING "") -set(SWIFT_HOST_VARIANT_ARCH aarch64 CACHE STRING "") - -# NOTE(compnerd) disable the tools, we are trying to build just the standard -# library. -set(SWIFT_INCLUDE_TOOLS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build tests since the tests require the toolchain -set(SWIFT_INCLUDE_TESTS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build docs since that requires perl -set(SWIFT_INCLUDE_DOCS NO CACHE BOOL "") - -# NOTE(compnerd) these are part of the toolchain, not the runtime. -set(SWIFT_BUILD_SOURCEKIT NO CACHE BOOL "") - -# NOTE(compnerd) build with the compiler specified, not a just built compiler. -set(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER YES CACHE BOOL "") - diff --git a/cmake/caches/Runtime-Windows-i686.cmake b/cmake/caches/Runtime-Windows-i686.cmake deleted file mode 100644 index f78742e603a8a..0000000000000 --- a/cmake/caches/Runtime-Windows-i686.cmake +++ /dev/null @@ -1,20 +0,0 @@ - -set(SWIFT_HOST_VARIANT_SDK WINDOWS CACHE STRING "") -set(SWIFT_HOST_VARIANT_ARCH i686 CACHE STRING "") - -# NOTE(compnerd) disable the tools, we are trying to build just the standard -# library. -set(SWIFT_INCLUDE_TOOLS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build tests since the tests require the toolchain -set(SWIFT_INCLUDE_TESTS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build docs since that requires perl -set(SWIFT_INCLUDE_DOCS NO CACHE BOOL "") - -# NOTE(compnerd) these are part of the toolchain, not the runtime. -set(SWIFT_BUILD_SOURCEKIT NO CACHE BOOL "") - -# NOTE(compnerd) build with the compiler specified, not a just built compiler. -set(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER YES CACHE BOOL "") - diff --git a/cmake/caches/Runtime-Windows-x86_64.cmake b/cmake/caches/Runtime-Windows-x86_64.cmake deleted file mode 100644 index 687c62a2b643a..0000000000000 --- a/cmake/caches/Runtime-Windows-x86_64.cmake +++ /dev/null @@ -1,19 +0,0 @@ - -set(SWIFT_HOST_VARIANT_SDK WINDOWS CACHE STRING "") -set(SWIFT_HOST_VARIANT_ARCH x86_64 CACHE STRING "") - -# NOTE(compnerd) disable the tools, we are trying to build just the standard -# library. -set(SWIFT_INCLUDE_TOOLS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build tests since the tests require the toolchain -set(SWIFT_INCLUDE_TESTS NO CACHE BOOL "") - -# NOTE(compnerd) cannot build docs since that requires perl -set(SWIFT_INCLUDE_DOCS NO CACHE BOOL "") - -# NOTE(compnerd) these are part of the toolchain, not the runtime. -set(SWIFT_BUILD_SOURCEKIT NO CACHE BOOL "") - -# NOTE(compnerd) build with the compiler specified, not a just built compiler. -set(SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER YES CACHE BOOL "") diff --git a/utils/build.ps1 b/utils/build.ps1 index 2875e74c8c8ef..33f0a5956862a 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -85,7 +85,7 @@ Default: 28 .PARAMETER AndroidSDKVersions An array of SDKs to build for the Android OS. -Default: @("Android", "AndroidExperimental") +Default: @("Android") .PARAMETER AndroidSDKArchitectures An array of architectures for which the Android Swift SDK should be built. @@ -101,7 +101,7 @@ If no such Windows SDK is installed, it will be downloaded from nuget. .PARAMETER WindowsSDKVersions An array of SDKs to build for the Windows OS. -Default: @("Windows", "WindowsExperimental") +Default: @("Windows") .PARAMETER WindowsSDKArchitectures An array of architectures for which the Windows Swift SDK should be built. @@ -195,7 +195,8 @@ param [string[]] $AndroidSDKArchitectures = @("aarch64", "armv7", "i686", "x86_64"), [ValidateSet("dynamic", "static")] [string[]] $AndroidSDKLinkModes = @("dynamic", "static"), - [string[]] $AndroidSDKVersions = @("Android", "AndroidExperimental"), + [string[]] $AndroidSDKVersions = @("Android"), + [ValidateSet("Android")] [string] $AndroidSDKVersionDefault = "Android", # Windows SDK Options @@ -205,7 +206,8 @@ param [string[]] $WindowsSDKArchitectures = @("X64","X86","Arm64"), [ValidateSet("dynamic", "static")] [string[]] $WindowsSDKLinkModes = @("dynamic", "static"), - [string[]] $WindowsSDKVersions = @("Windows", "WindowsExperimental"), + [string[]] $WindowsSDKVersions = @("Windows"), + [ValidateSet("Windows")] [string] $WindowsSDKVersionDefault = "Windows", # Incremental Build Support @@ -873,35 +875,31 @@ enum Project { DocC brotli - LLVM - Runtime - Dispatch - DynamicFoundation XCTest Testing ClangBuiltins ClangRuntime SwiftInspect - ExperimentalDynamicRuntime - ExperimentalDynamicOverlay - ExperimentalDynamicStringProcessing - ExperimentalDynamicSynchronization - ExperimentalDynamicDistributed - ExperimentalDynamicObservation - ExperimentalDynamicDispatch - ExperimentalDynamicDifferentiation - ExperimentalDynamicVolatile - ExperimentalDynamicFoundation - ExperimentalStaticRuntime - ExperimentalStaticOverlay - ExperimentalStaticStringProcessing - ExperimentalStaticSynchronization - ExperimentalStaticDistributed - ExperimentalStaticObservation - ExperimentalStaticDifferentiation - ExperimentalStaticVolatile - ExperimentalStaticDispatch - ExperimentalStaticFoundation + DynamicRuntime + DynamicOverlay + DynamicStringProcessing + DynamicSynchronization + DynamicDistributed + DynamicObservation + DynamicDispatch + DynamicDifferentiation + DynamicVolatile + DynamicFoundation + StaticRuntime + StaticOverlay + StaticStringProcessing + StaticSynchronization + StaticDistributed + StaticObservation + StaticDifferentiation + StaticVolatile + StaticDispatch + StaticFoundation } function Get-ProjectBinaryCache([Hashtable] $Platform, [Project] $Project) { @@ -1928,10 +1926,11 @@ function Build-CMakeProject { } if ($UseBuiltCompilers.Contains("Swift")) { - $env:Path = "$([IO.Path]::Combine((Get-InstallDir $BuildPlatform), "Runtimes", $ProductVersion, "usr", "bin"));$(Get-CMarkBinaryCache $BuildPlatform)\src;$($BuildPlatform.ToolchainInstallRoot)\usr\bin;$(Get-PinnedToolchainRuntime);${env:Path}" + $env:Path = "$($BuildPlatform.ToolchainInstallRoot)\usr\bin;$(Get-PinnedToolchainRuntime);${env:Path}" } elseif ($UsePinnedCompilers.Contains("Swift")) { $env:Path = "$(Get-PinnedToolchainRuntime);${env:Path}" } + if ($ToBatch) { Write-Output "" Write-Output "echo $cmake $cmakeGenerateArgs" @@ -2336,21 +2335,20 @@ function Test-Compilers([Hashtable] $Platform, [string] $Variant, [switch] $Test Load-LitTestOverrides ([IO.Path]::GetFullPath([IO.Path]::Combine($PSScriptRoot, "..", "..", "llvm-project", "lldb", "test", "windows-swift-llvm-lit-test-overrides.txt"))) # Transitive dependency of _lldb.pyd - $RuntimeBinaryCache = Get-ProjectBinaryCache $BuildPlatform Runtime Copy-Item ` - -Path $RuntimeBinaryCache\bin\swiftCore.dll ` - -Destination "$(Get-ProjectBinaryCache $BuildPlatform Compilers)\lib\site-packages\lldb" + -Path "$(Get-ProjectBinaryCache $BuildPlatform DynamicRuntime)\core\swiftCore.dll" ` + -Destination "$(Get-ProjectBinaryCache $BuildPlatform Compilers)\lib\site-packages\lldb" # Runtime dependencies of repl_swift.exe - $SwiftRTSubdir = "lib\swift\windows" - Write-Host "Copying '$RuntimeBinaryCache\$SwiftRTSubdir\$($Platform.Architecture.LLVMName)\swiftrt.obj' to '$(Get-ProjectBinaryCache $BuildPlatform Compilers)\$SwiftRTSubdir'" + Write-Host "Copying '$(Get-ProjectBinaryCache $BuildPlatform DynamicRuntime)\runtime\CMakeFiles\swiftrt.dir\SwiftRT-COFF.cpp.obj' to '$(Get-ProjectBinaryCache $BuildPlatform Compilers)\lib\swift\windows\swiftrt.obj'" Copy-Item ` - -Path "$RuntimeBinaryCache\$SwiftRTSubdir\$($Platform.Architecture.LLVMName)\swiftrt.obj" ` - -Destination "$(Get-ProjectBinaryCache $BuildPlatform Compilers)\$SwiftRTSubdir" - Write-Host "Copying '$RuntimeBinaryCache\bin\swiftCore.dll' to '$(Get-ProjectBinaryCache $BuildPlatform Compilers)\bin'" + -Path "$(Get-ProjectBinaryCache $BuildPlatform DynamicRuntime)\runtime\CMakeFiles\swiftrt.dir\SwiftRT-COFF.cpp.obj" ` + -Destination "$(Get-ProjectBinaryCache $BuildPlatform Compilers)\lib\swift\windows\swiftrt.obj" + + Write-Host "Copying '$(Get-ProjectBinaryCache $BuildPlatform DynamicRuntime)\core\swiftCore.dll' to '$(Get-ProjectBinaryCache $BuildPlatform Compilers)\bin'" Copy-Item ` - -Path "$RuntimeBinaryCache\bin\swiftCore.dll" ` - -Destination "$(Get-ProjectBinaryCache $BuildPlatform Compilers)\bin" + -Path "$(Get-ProjectBinaryCache $BuildPlatform DynamicRuntime)\core\swiftCore.dll" ` + -Destination "$(Get-ProjectBinaryCache $BuildPlatform Compilers)\bin\" $TestingDefines += @{ LLDB_INCLUDE_TESTS = "YES"; @@ -2361,7 +2359,7 @@ function Test-Compilers([Hashtable] $Platform, [string] $Variant, [switch] $Test # gtest sharding breaks llvm-lit's --xfail and LIT_XFAIL inputs: https://github.com/llvm/llvm-project/issues/102264 LLVM_LIT_ARGS = "-v --no-gtest-sharding --time-tests"; # LLDB Unit tests link against this library - LLVM_UNITTEST_LINK_FLAGS = "$(Get-SwiftSDK -OS Windows -Identifier Windows)\usr\lib\swift\windows\$($Platform.Architecture.LLVMName)\swiftCore.lib"; + LLVM_UNITTEST_LINK_FLAGS = "$(Get-ProjectBinaryCache $BuildPlatform DynamicRuntime)\core\swiftCore.lib"; } } @@ -2476,17 +2474,6 @@ function Patch-mimalloc() { } } -function Build-LLVM([Hashtable] $Platform) { - Build-CMakeProject ` - -Src $SourceCache\llvm-project\llvm ` - -Bin (Get-ProjectBinaryCache $Platform LLVM) ` - -Platform $Platform ` - -UseBuiltCompilers C,CXX ` - -Defines @{ - LLVM_HOST_TRIPLE = $Platform.Triple; - } -} - function Build-CompilerRuntime([Hashtable] $Platform) { $LLVMBinaryCache = $(Get-ProjectBinaryCache $HostPlatform Compilers) @@ -2727,50 +2714,11 @@ function Build-CURL([Hashtable] $Platform) { }) } -function Build-Runtime([Hashtable] $Platform) { - $PlatformDefines = @{} - if ($Platform.OS -eq [OS]::Android) { - $PlatformDefines += @{ - LLVM_ENABLE_LIBCXX = "YES"; - SWIFT_USE_LINKER = "lld"; - } - - if ((Get-AndroidNDK).ClangVersion -lt 18) { - $PlatformDefines += @{ - SWIFT_BUILD_CLANG_OVERLAYS_SKIP_BUILTIN_FLOAT = "YES"; - } - } - } - - Build-CMakeProject ` - -Src $SourceCache\swift ` - -Bin (Get-ProjectBinaryCache $Platform Runtime) ` - -InstallTo "$(Get-SwiftSDK -OS $Platform.OS -Identifier $Platform.DefaultSDK)\usr" ` - -Platform $Platform ` - -UseBuiltCompilers C,CXX,Swift ` - -SwiftSDK $null ` - -CacheScript $SourceCache\swift\cmake\caches\Runtime-$($Platform.OS.ToString())-$($Platform.Architecture.LLVMName).cmake ` - -Defines ($PlatformDefines + @{ - LLVM_DIR = "$(Get-ProjectBinaryCache $Platform LLVM)\lib\cmake\llvm"; - SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY = "YES"; - SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP = "YES"; - SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING = "YES"; - SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED = "YES"; - SWIFT_ENABLE_EXPERIMENTAL_OBSERVATION = "YES"; - SWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING = "YES"; - SWIFT_ENABLE_SYNCHRONIZATION = "YES"; - SWIFT_ENABLE_VOLATILE = "YES"; - SWIFT_NATIVE_SWIFT_TOOLS_PATH = ([IO.Path]::Combine((Get-ProjectBinaryCache $BuildPlatform Compilers), "bin")); - SWIFT_PATH_TO_LIBDISPATCH_SOURCE = "$SourceCache\swift-corelibs-libdispatch"; - SWIFT_PATH_TO_STRING_PROCESSING_SOURCE = "$SourceCache\swift-experimental-string-processing"; - }) -} - function Test-Runtime([Hashtable] $Platform) { if ($IsCrossCompiling) { throw "Swift runtime tests are not supported when cross-compiling" } - if (-not (Test-Path (Get-ProjectBinaryCache $Platform Runtime))) { + if (-not (Test-Path (Get-ProjectBinaryCache $Platform DynamicRuntime))) { throw "Swift runtime tests are supposed to reconfigure the existing build" } $CompilersBinaryCache = Get-ProjectBinaryCache $BuildPlatform Compilers @@ -2785,7 +2733,7 @@ function Test-Runtime([Hashtable] $Platform) { $env:Path = "$(Get-CMarkBinaryCache $Platform)\src;$(Get-PinnedToolchainRuntime);${env:Path};$UnixToolsBinDir" Build-CMakeProject ` -Src $SourceCache\swift ` - -Bin (Get-ProjectBinaryCache $Platform Runtime) ` + -Bin (Get-ProjectBinaryCache $Platform DynamicRuntime) ` -Platform $Platform ` -UseBuiltCompilers C,CXX,Swift ` -SwiftSDK $null ` @@ -2800,7 +2748,7 @@ function Test-Runtime([Hashtable] $Platform) { } } -function Build-ExperimentalRuntime([Hashtable] $Platform, [switch] $Static = $false) { +function Build-Runtime([Hashtable] $Platform, [switch] $Static = $false) { # TODO: remove this once the migration is completed. Invoke-IsolatingEnvVars { Invoke-VsDevShell $BuildPlatform @@ -2811,56 +2759,54 @@ function Build-ExperimentalRuntime([Hashtable] $Platform, [switch] $Static = $fa } Invoke-IsolatingEnvVars { - $env:Path = "$(Get-CMarkBinaryCache $Platform)\src;$(Get-PinnedToolchainRuntime);${env:Path}" - - $SDKRoot = Get-SwiftSDK -OS $Platform.OS -Identifier "$($Platform.OS)Experimental" + $SDKRoot = Get-SwiftSDK -OS $Platform.OS $RuntimeBinaryCache = if ($Static) { - Get-ProjectBinaryCache $Platform ExperimentalStaticRuntime + Get-ProjectBinaryCache $Platform StaticRuntime } else { - Get-ProjectBinaryCache $Platform ExperimentalDynamicRuntime + Get-ProjectBinaryCache $Platform DynamicRuntime } $OverlayBinaryCache = if ($Static) { - Get-ProjectBinaryCache $Platform ExperimentalStaticOverlay + Get-ProjectBinaryCache $Platform StaticOverlay } else { - Get-ProjectBinarycache $Platform ExperimentalDynamicOverlay + Get-ProjectBinarycache $Platform DynamicOverlay } $StringProcessingBinaryCache = if ($Static) { - Get-ProjectBinarycache $Platform ExperimentalStaticStringProcessing + Get-ProjectBinarycache $Platform StaticStringProcessing } else { - Get-ProjectBinarycache $Platform ExperimentalDynamicStringProcessing + Get-ProjectBinarycache $Platform DynamicStringProcessing } $SynchronizationBinaryCache = if ($Static) { - Get-ProjectBinarycache $Platform ExperimentalStaticSynchronization + Get-ProjectBinarycache $Platform StaticSynchronization } else { - Get-ProjectBinarycache $Platform ExperimentalDynamicSynchronization + Get-ProjectBinarycache $Platform DynamicSynchronization } $DistributedBinaryCache = if ($Static) { - Get-ProjectBinarycache $Platform ExperimentalStaticDistributed + Get-ProjectBinarycache $Platform StaticDistributed } else { - Get-ProjectBinarycache $Platform ExperimentalDynamicDistributed + Get-ProjectBinarycache $Platform DynamicDistributed } $ObservationBinaryCache = if ($Static) { - Get-ProjectBinarycache $Platform ExperimentalStaticObservation + Get-ProjectBinarycache $Platform StaticObservation } else { - Get-ProjectBinaryCache $Platform ExperimentalDynamicObservation + Get-ProjectBinaryCache $Platform DynamicObservation } $DifferentiationBinaryCache = if ($Static) { - Get-ProjectBinarycache $Platform ExperimentalStaticDifferentiation + Get-ProjectBinarycache $Platform StaticDifferentiation } else { - Get-ProjectBinarycache $Platform ExperimentalDynamicDifferentiation + Get-ProjectBinarycache $Platform DynamicDifferentiation } $VolatileBinaryCache = if ($Static) { - Get-ProjectBinarycache $Platform ExperimentalStaticVolatile + Get-ProjectBinarycache $Platform StaticVolatile } else { - Get-ProjectBinaryCache $Platform ExperimentalDynamicVolatile + Get-ProjectBinaryCache $Platform DynamicVolatile } Build-CMakeProject ` @@ -3066,28 +3012,13 @@ function Write-SDKSettings([OS] $OS, [string] $Identifier = $OS.ToString()) { Write-PList -Settings $SDKSettings -Path "$(Get-SwiftSDK -OS $OS -Identifier $Identifier)\SDKSettings.plist" } -function Build-Dispatch([Hashtable] $Platform) { - $SwiftSDK = Get-SwiftSDK -OS $Platform.OS -Identifier $Platform.DefaultSDK - Build-CMakeProject ` - -Src $SourceCache\swift-corelibs-libdispatch ` - -Bin (Get-ProjectBinaryCache $Platform Dispatch) ` - -InstallTo "${SwiftSDK}\usr" ` - -Platform $Platform ` - -UseBuiltCompilers C,CXX,Swift ` - -SwiftSDK $SwiftSDK ` - -Defines @{ - ENABLE_SWIFT = "YES"; - dispatch_INSTALL_ARCH_SUBDIR = "YES"; - } -} - function Test-Dispatch { Invoke-IsolatingEnvVars { $env:CTEST_OUTPUT_ON_FAILURE = "YES" Build-CMakeProject ` -Src $SourceCache\swift-corelibs-libdispatch ` - -Bin (Get-ProjectBinaryCache $BuildPlatform Dispatch) ` + -Bin (Get-ProjectBinaryCache $BuildPlatform DynamicDispatch) ` -Platform $BuildPlatform ` -UseBuiltCompilers C,CXX,Swift ` -SwiftSDK (Get-SwiftSDK -OS $BuildPlatform.OS -Identifier $BuildPlatform.DefaultSDK) ` @@ -3098,48 +3029,6 @@ function Test-Dispatch { } } -function Build-Foundation([Hashtable] $Platform) { - $SwiftSDK = Get-SwiftSDK -OS $Platform.OS -Identifier $Platform.DefaultSDK - Build-CMakeProject ` - -Src $SourceCache\swift-corelibs-foundation ` - -Bin (Get-ProjectBinaryCache $Platform DynamicFoundation) ` - -InstallTo "${SwiftSDK}\usr" ` - -Platform $Platform ` - -UseBuiltCompilers C,CXX,Swift ` - -SwiftSDK $SwiftSDK ` - -Defines @{ - BUILD_SHARED_LIBS = "YES"; - # FIXME(compnerd) - workaround ARM64 build failure when cross-compiling. - CMAKE_NINJA_FORCE_RESPONSE_FILE = "YES"; - CMAKE_STATIC_LIBRARY_PREFIX_Swift = "lib"; - BROTLI_INCLUDE_DIR = "$SourceCache\brotli\c\include"; - BROTLICOMMON_LIBRARY = if ($Platform.OS -eq [OS]::Windows) { - "$(Get-ProjectBinaryCache $Platform brotli)\brotlicommon.lib" - } else { - "$(Get-ProjectBinaryCache $Platform brotli)\libbrotlicommon.a" - }; - BROTLIDEC_LIBRARY = if ($Platform.OS -eq [OS]::Windows) { - "$(Get-ProjectBinaryCache $Platform brotli)\brotlidec.lib" - } else { - "$(Get-ProjectBinaryCache $Platform brotli)\libbrotlidec.a" - } - FOUNDATION_BUILD_TOOLS = if ($Platform.OS -eq [OS]::Windows) { "YES" } else { "NO" }; - CURL_DIR = "$BinaryCache\$($Platform.Triple)\usr\lib\cmake\CURL"; - LibXml2_DIR = "$BinaryCache\$($Platform.Triple)\usr\lib\cmake\libxml2-2.11.5"; - ZLIB_LIBRARY = if ($Platform.OS -eq [OS]::Windows) { - "$BinaryCache\$($Platform.Triple)\usr\lib\zlibstatic.lib" - } else { - "$BinaryCache\$($Platform.Triple)\usr\lib\libz.a" - }; - ZLIB_INCLUDE_DIR = "$BinaryCache\$($Platform.Triple)\usr\include"; - dispatch_DIR = (Get-ProjectCMakeModules $Platform Dispatch); - _SwiftFoundation_SourceDIR = "$SourceCache\swift-foundation"; - _SwiftFoundationICU_SourceDIR = "$SourceCache\swift-foundation-icu"; - _SwiftCollections_SourceDIR = "$SourceCache\swift-collections"; - SwiftFoundation_MACRO = "$(Get-ProjectBinaryCache $BuildPlatform BootstrapFoundationMacros)\bin" - } -} - function Test-Foundation { $ScratchPath = "$BinaryCache\$($BuildPlatform.Triple)\FoundationTests" @@ -3213,23 +3102,9 @@ function Build-XCTest([Hashtable] $Platform) { function Test-XCTest { Invoke-IsolatingEnvVars { - $SwiftRuntime = if ($BuildPlatform.DefaultSDK -match "Experimental") { - [IO.Path]::Combine((Get-InstallDir $BuildPlatform), "Runtimes", "$ProductVersion.experimental"); - } else { - [IO.Path]::Combine((Get-InstallDir $BuildPlatform), "Runtimes", "$ProductVersion"); - } - - $DispatchBinaryCache = if ($BuildPlatform.DefaultSDK -match "Experimental") { - Get-ProjectBinaryCache $BuildPlatform ExperimentalDynamicDispatch - } else { - Get-ProjectBinaryCache $BuildPlatform Dispatch - } - - $FoundationBinaryCache = if ($BuildPlatform.DefaultSDK -match "Experimental") { - Get-ProjectBinaryCache $BuildPlatform ExperimentalDynamicFoundation - } else { - Get-ProjectBinaryCache $BuildPlatform DynamicFoundation - } + $SwiftRuntime = [IO.Path]::Combine((Get-InstallDir $BuildPlatform), "Runtimes", "$ProductVersion"); + $DispatchBinaryCache = Get-ProjectBinaryCache $BuildPlatform DynamicDispatch + $FoundationBinaryCache = Get-ProjectBinaryCache $BuildPlatform DynamicFoundation $env:Path = "$(Get-ProjectBinaryCache $BuildPlatform XCTest);${FoundationBinaryCache}\bin;${DispatchBinaryCache};${SwiftRuntime}\usr\bin;${env:Path};$UnixToolsBinDir" $env:SDKROOT = Get-SwiftSDK -OS $Platform.OS -Identifier $Platform.DefaultSDK @@ -3243,9 +3118,9 @@ function Test-XCTest { -BuildTargets default,check-xctest ` -Defines @{ ENABLE_TESTING = "YES"; - LLVM_DIR = "$(Get-ProjectBinaryCache $BuildPlatform LLVM)\lib\cmake\llvm"; + LLVM_DIR = "$(Get-ProjectBinaryCache $BuildPlatform Compilers)\lib\cmake\llvm"; XCTEST_PATH_TO_FOUNDATION_BUILD = $(Get-ProjectBinaryCache $BuildPlatform DynamicFoundation); - XCTEST_PATH_TO_LIBDISPATCH_BUILD = $(Get-ProjectBinaryCache $BuildPlatform Dispatch); + XCTEST_PATH_TO_LIBDISPATCH_BUILD = $(Get-ProjectBinaryCache $BuildPlatform DynamicDispatch); XCTEST_PATH_TO_LIBDISPATCH_SOURCE = "$SourceCache\swift-corelibs-libdispatch"; } } @@ -3321,32 +3196,22 @@ function Install-SDK([Hashtable[]] $Platforms, [OS] $OS = $Platforms[0].OS, [str } function Build-SDK([Hashtable] $Platform) { - # Third Party Dependencies - Invoke-BuildStep Build-LLVM $Platform - - # Libraries - Invoke-BuildStep Build-Runtime $Platform - Invoke-BuildStep Build-Dispatch $Platform - Invoke-BuildStep Build-Foundation $Platform -} - -function Build-ExperimentalSDK([Hashtable] $Platform) { Invoke-BuildStep Build-CDispatch $Platform if ($Platform.LinkModes.Contains("dynamic")) { - Invoke-BuildStep Build-ExperimentalRuntime $Platform + Invoke-BuildStep Build-Runtime $Platform } if ($Platform.LinkModes.Contains("static")) { - Invoke-BuildStep Build-ExperimentalRuntime $Platform -Static + Invoke-BuildStep Build-Runtime $Platform -Static } - $SDKROOT = Get-SwiftSDK -OS $Platform.OS -Identifier "$($Platform.OS)Experimental" + $SDKROOT = Get-SwiftSDK -OS $Platform.OS if ($Platform.LinkModes.Contains("dynamic")) { - Record-OperationTime $Platform "Build-ExperimentalDynamicDispatch" { + Record-OperationTime $Platform "Build-DynamicDispatch" { Build-CMakeProject ` -Src $SourceCache\swift-corelibs-libdispatch ` - -Bin (Get-ProjectBinaryCache $Platform ExperimentalDynamicDispatch) ` + -Bin (Get-ProjectBinaryCache $Platform DynamicDispatch) ` -InstallTo "${SDKROOT}\usr" ` -Platform $Platform ` -UseBuiltCompilers C,CXX,Swift ` @@ -3360,10 +3225,10 @@ function Build-ExperimentalSDK([Hashtable] $Platform) { } } - Record-OperationTime $Platform "Build-ExperimentalDynamicFoundation" { + Record-OperationTime $Platform "Build-DynamicFoundation" { Build-CMakeProject ` -Src $SourceCache\swift-corelibs-foundation ` - -Bin (Get-ProjectBinaryCache $Platform ExperimentalDynamicFoundation) ` + -Bin (Get-ProjectBinaryCache $Platform DynamicFoundation) ` -InstallTo "${SDKROOT}\usr" ` -Platform $Platform ` -UseBuiltCompilers ASM,C,CXX,Swift ` @@ -3384,7 +3249,7 @@ function Build-ExperimentalSDK([Hashtable] $Platform) { } else { "$BinaryCache\$($Platform.Triple)\usr\lib\libz.a" }; - dispatch_DIR = $(Get-ProjectCMakeModules $Platform ExperimentalDynamicDispatch); + dispatch_DIR = $(Get-ProjectCMakeModules $Platform DynamicDispatch); SwiftSyntax_DIR = (Get-ProjectBinaryCache $HostPlatform Compilers); _SwiftFoundation_SourceDIR = "$SourceCache\swift-foundation"; _SwiftFoundationICU_SourceDIR = "$SourceCache\swift-foundation-icu"; @@ -3395,10 +3260,10 @@ function Build-ExperimentalSDK([Hashtable] $Platform) { } if ($Platform.LinkModes.Contains("static")) { - Record-OperationTime $Platform "Build-ExperimentalStaticDispatch" { + Record-OperationTime $Platform "Build-StaticDispatch" { Build-CMakeProject ` -Src $SourceCache\swift-corelibs-libdispatch ` - -Bin (Get-ProjectBinaryCache $Platform ExperimentalStaticDispatch) ` + -Bin (Get-ProjectBinaryCache $Platform StaticDispatch) ` -InstallTo "${SDKROOT}\usr" ` -Platform $Platform ` -UseBuiltCompilers C,CXX,Swift ` @@ -3412,10 +3277,10 @@ function Build-ExperimentalSDK([Hashtable] $Platform) { } } - Record-OperationTime $Platform "Build-ExperimentalStaticFoundation" { + Record-OperationTime $Platform "Build-StaticFoundation" { Build-CMakeProject ` -Src $SourceCache\swift-corelibs-foundation ` - -Bin (Get-ProjectBinaryCache $Platform ExperimentalStaticFoundation) ` + -Bin (Get-ProjectBinaryCache $Platform StaticFoundation) ` -InstallTo "${SDKROOT}\usr" ` -Platform $Platform ` -UseBuiltCompilers ASM,C,CXX,Swift ` @@ -3437,7 +3302,7 @@ function Build-ExperimentalSDK([Hashtable] $Platform) { } else { "$BinaryCache\$($Platform.Triple)\usr\lib\libz.a" }; - dispatch_DIR = $(Get-ProjectCMakeModules $Platform ExperimentalStaticDispatch); + dispatch_DIR = (Get-ProjectCMakeModules $Platform StaticDispatch); SwiftSyntax_DIR = (Get-ProjectBinaryCache $HostPlatform Compilers); _SwiftFoundation_SourceDIR = "$SourceCache\swift-foundation"; _SwiftFoundationICU_SourceDIR = "$SourceCache\swift-foundation-icu"; @@ -4094,7 +3959,6 @@ function Build-Installer([Hashtable] $Platform) { $Properties = @{ BundleFlavor = "offline"; ImageRoot = "$(Get-InstallDir $Platform)\"; - IncludeLegacySDK = if ($HostPlatform.DefaultSDK -match "Experimental") { "False" } else { "True" }; INCLUDE_SWIFT_DOCC = $INCLUDE_SWIFT_DOCC; SWIFT_DOCC_BUILD = "$(Get-ProjectBinaryCache $HostPlatform DocC)\release"; SWIFT_DOCC_RENDER_ARTIFACT_ROOT = "${SourceCache}\swift-docc-render-artifact"; @@ -4120,7 +3984,6 @@ function Build-Installer([Hashtable] $Platform) { $Properties["ToolchainVariants"] = "`"asserts$(if ($IncludeNoAsserts) { ";noasserts" })`""; foreach ($Build in $WindowsSDKBuilds) { $Properties["WindowsRuntime$($Build.Architecture.ShortName.ToUpperInvariant())"] = [IO.Path]::Combine((Get-InstallDir $Build), "Runtimes", "$ProductVersion"); - $Properties["WindowsExperimentalRuntime$($Build.Architecture.ShortName.ToUpperInvariant())"] = [IO.Path]::Combine((Get-InstallDir $Build), "Runtimes", "$ProductVersion.experimental"); } Build-WiXProject bundle\installer.wixproj -Platform $Platform -Bundle -Properties $Properties @@ -4260,51 +4123,26 @@ if (-not $SkipBuild) { Invoke-BuildStep Build-CURL $Build } - foreach ($SDK in $WindowsSDKVersions) { - switch ($SDK) { - Windows { - $SDKROOT = Get-SwiftSDK -OS Windows -Identifier Windows - foreach ($Build in $WindowsSDKBuilds) { - Invoke-BuildStep Build-SDK $Build - - Get-ChildItem "${SDKROOT}\usr\lib\swift\windows" -Filter "*.lib" -File -ErrorAction Ignore | ForEach-Object { - Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" - Move-Item $_.FullName "${SDKROOT}\usr\lib\swift\windows\$($Build.Architecture.LLVMName)\" | Out-Null - } - - # FIXME(compnerd) how do we select which SDK is meant to be re-distributed? - Copy-Directory "${SDKROOT}\usr\bin" "$([IO.Path]::Combine((Get-InstallDir $Build), "Runtimes", $ProductVersion, "usr"))" - } - - Install-SDK $WindowsSDKBuilds - Write-SDKSettings Windows - } - - WindowsExperimental { - $SDKROOT = Get-SwiftSDK -OS Windows -Identifier WindowsExperimental - foreach ($Build in $WindowsSDKBuilds) { - Invoke-BuildStep Build-ExperimentalSDK $Build - - Get-ChildItem "${SDKROOT}\usr\lib\swift\windows" -Filter "*.lib" -File -ErrorAction Ignore | ForEach-Object { - Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" - Move-Item $_.FullName "${SDKROOT}\usr\lib\swift\windows\$($Build.Architecture.LLVMName)\" | Out-Null - } - - Get-ChildItem "${SDKROOT}\usr\lib\swift_static\windows" -Filter "*.lib" -File -ErrorAction Ignore | ForEach-Object { - Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" - Move-Item $_.FullName "${SDKROOT}\usr\lib\swift_static\windows\$($Build.Architecture.LLVMName)\" | Out-Null - } + $SDKROOT = Get-SwiftSDK -OS Windows + foreach ($Build in $WindowsSDKBuilds) { + Invoke-BuildStep Build-SDK $Build - # FIXME(compnerd) how do we select which SDK is meant to be re-distributed? - Copy-Directory "${SDKROOT}\usr\bin" "$([IO.Path]::Combine((Get-InstallDir $Build), "Runtimes", "$ProductVersion.experimental", "usr"))" - } + Get-ChildItem -ErrorAction Ignore "${SDKROOT}\usr\lib\swift\windows" -Filter "*.lib" -File | ForEach-Object { + Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" + Move-Item $_.FullName "${SDKROOT}\usr\lib\swift\windows\$($Build.Architecture.LLVMName)\" | Out-Null + } - Install-SDK $WindowsSDKBuilds -Identifier WindowsExperimental - Write-SDKSettings Windows -Identifier WindowsExperimental - } + Get-ChildItem -ErrorAction Ignore "${SDKROOT}\usr\lib\swift_static\windows" -Filter "*.lib" -File | ForEach-Object { + Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" + Move-Item $_.FullName "${SDKROOT}\usr\lib\swift_static\windows\$($Build.Architecture.LLVMName)\" | Out-Null } + + Copy-Directory "${SDKROOT}\usr\bin" "$([IO.Path]::Combine((Get-InstallDir $Build), "Runtimes", "$ProductVersion", "usr"))" } + Install-SDK $WindowsSDKBuilds + Write-SDKSettings Windows + foreach ($Build in $WindowsSDKBuilds) { Invoke-BuildStep Build-XCTest $Build Invoke-BuildStep Build-Testing $Build @@ -4316,10 +4154,8 @@ if (-not $SkipBuild) { # Copy static dependencies foreach ($Build in $WindowsSDKBuilds) { - if (-not $Build.LinkModes.Contains("static")) { continue } - - $SDKROOT = Get-SwiftSDK -OS $Build.OS -Identifier "$($Build.OS)Experimental" $SwiftResourceDir = "${SDKROOT}\usr\lib\swift_static\$($Build.OS.ToString().ToLowerInvariant())\$($Build.Architecture.LLVMName)" + New-Item -ErrorAction Ignore -ItemType Directory -Path "${SwiftResourceDir}" | Out-Null Copy-Item -Force -Path "$(Get-ProjectBinaryCache $Build brotli)\brotlicommon.lib" -Destination "${SwiftResourceDir}\brotlicommon.lib" | Out-Null Copy-Item -Force -Path "$(Get-ProjectBinaryCache $Build brotli)\brotlidec.lib" -Destination "${SwiftResourceDir}\brotlidec.lib" | Out-Null Copy-Item -Force -Path "${BinaryCache}\$($Build.Triple)\curl\lib\libcurl.lib" -Destination "${SwiftResourceDir}\libcurl.lib" | Out-Null @@ -4340,45 +4176,24 @@ if (-not $SkipBuild) { Invoke-BuildStep Build-CURL $Build } - foreach ($SDK in $AndroidSDKVersions) { - switch ($SDK) { - Android { - $SDKROOT = Get-SwiftSDK -OS Android -Identifier Android - foreach ($Build in $AndroidSDKBuilds) { - Invoke-BuildStep Build-SDK $Build - - Get-ChildItem "${SDKROOT}\usr\lib\swift\android" -File | Where-Object { $_.Name -match ".a$|.so$" } | ForEach-Object { - Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" - Move-Item $_.FullName "${SDKROOT}\usr\lib\swift\android\$($Build.Architecture.LLVMName)\" | Out-Null - } - } - - Install-SDK $AndroidSDKBuilds - Write-SDKSettings Android - } - - AndroidExperimental { - $SDKROOT = Get-SwiftSDK Android -Identifier AndroidExperimental - foreach ($Build in $AndroidSDKBuilds) { - Invoke-BuildStep Build-ExperimentalSDK $Build - - Get-ChildItem "${SDKROOT}\usr\lib\swift\android" -File | Where-Object { $_.Name -match ".a$|.so$" } | ForEach-Object { - Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" - Move-Item $_.FullName "${SDKROOT}\usr\lib\swift\android\$($Build.Architecture.LLVMName)\" | Out-Null - } + $SDKROOT = Get-SwiftSDK Android + foreach ($Build in $AndroidSDKBuilds) { + Invoke-BuildStep Build-SDK $Build - Get-ChildItem "${SDKROOT}\usr\lib\swift_static\android" -File | Where-Object { $_.Name -match ".a$|.so$" } | ForEach-Object { - Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" - Move-Item $_.FullName "${SDKROOT}\usr\lib\swift_static\android\$($Build.Architecture.LLVMName)\" | Out-Null - } - } + Get-ChildItem -ErrorAction Ignore "${SDKROOT}\usr\lib\swift\android" -File | Where-Object { $_.Name -match ".a$|.so$" } | ForEach-Object { + Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" + Move-Item $_.FullName "${SDKROOT}\usr\lib\swift\android\$($Build.Architecture.LLVMName)\" | Out-Null + } - Install-SDK $AndroidSDKBuilds -Identifiers AndroidExperimental - Write-SDKSettings Android -Identifier AndroidExperimental - } + Get-ChildItem -ErrorAction Ignore "${SDKROOT}\usr\lib\swift_static\android" -File | Where-Object { $_.Name -match ".a$|.so$" } | ForEach-Object { + Write-Host -BackgroundColor DarkRed -ForegroundColor White "$($_.FullName) is not nested in an architecture directory" + Move-Item $_.FullName "${SDKROOT}\usr\lib\swift_static\android\$($Build.Architecture.LLVMName)\" | Out-Null } } + Install-SDK $AndroidSDKBuilds + Write-SDKSettings Android + foreach ($Build in $AndroidSDKBuilds) { Invoke-BuildStep Build-XCTest $Build Invoke-BuildStep Build-Testing $Build @@ -4393,10 +4208,8 @@ if (-not $SkipBuild) { # Copy static dependencies foreach ($Build in $AndroidSDKBuilds) { - if (-not $Build.LinkModes.Contains("static")) { continue } - - $SDKROOT = Get-SwiftSDK -OS $Build.OS -Identifier "$($Build.OS)Experimental" $SwiftResourceDir = "${SDKROOT}\usr\lib\swift_static\$($Build.OS.ToString().ToLowerInvariant())\$($Build.Architecture.LLVMName)" + New-Item -ErrorAction Ignore -ItemType Directory -Path "${SwiftResourceDir}" | Out-Null Copy-Item -Force -Path "$(Get-ProjectBinaryCache $Build brotli)\libbrotlicommon.a" -Destination "${SwiftResourceDir}\libbrotlicommon.a" | Out-Null Copy-Item -Force -Path "$(Get-ProjectBinaryCache $Build brotli)\libbrotlidec.a" -Destination "${SwiftResourceDir}\libbrotlidec.a" | Out-Null Copy-Item -Force -Path "${BinaryCache}\$($Build.Triple)\curl\lib\libcurl.a" -Destination "${SwiftResourceDir}\libcurl.a" | Out-Null @@ -4405,6 +4218,7 @@ if (-not $SkipBuild) { } } + # Build Macros for distribution Invoke-BuildStep Build-FoundationMacros $HostPlatform Invoke-BuildStep Build-TestingMacros $HostPlatform