@@ -251,8 +251,16 @@ function Invoke-BuildStep([string]$Name) {
251
251
}
252
252
}
253
253
254
- function Get-ProjectBinaryCache ($Arch , $ID ) {
255
- return " $BinaryCache \" + ($Arch.BuildID + $ID )
254
+ enum Target {
255
+ LLVM
256
+ Runtime
257
+ Dispatch
258
+ Foundation
259
+ XCTest
260
+ }
261
+
262
+ function Get-ProjectBinaryCache ($Arch , [Target ]$Target ) {
263
+ return " $BinaryCache \" + ($Arch.BuildID + $Target.value__ )
256
264
}
257
265
258
266
function Copy-File ($Src , $Dst ) {
@@ -657,7 +665,7 @@ function Build-CMakeProject {
657
665
if ($SwiftSDK -ne " " ) {
658
666
$SwiftArgs += @ (" -sdk" , $SwiftSDK )
659
667
} else {
660
- $RuntimeBinaryCache = Get-ProjectBinaryCache $Arch 1
668
+ $RuntimeBinaryCache = Get-ProjectBinaryCache $Arch Runtime
661
669
$SwiftResourceDir = " ${RuntimeBinaryCache} \lib\swift"
662
670
663
671
$SwiftArgs += @ (" -resource-dir" , " $SwiftResourceDir " )
@@ -982,7 +990,7 @@ function Build-Compilers() {
982
990
function Build-LLVM ($Arch ) {
983
991
Build-CMakeProject `
984
992
- Src $SourceCache \llvm- project\llvm `
985
- - Bin (Get-ProjectBinaryCache $Arch 0 ) `
993
+ - Bin (Get-ProjectBinaryCache $Arch LLVM ) `
986
994
- Arch $Arch `
987
995
- Defines @ {
988
996
LLVM_HOST_TRIPLE = $Arch.LLVMTarget ;
@@ -1155,14 +1163,12 @@ function Build-ICU($Arch) {
1155
1163
}
1156
1164
1157
1165
function Build-Runtime ($Arch ) {
1158
- $LLVMBinaryCache = Get-ProjectBinaryCache $Arch 0
1159
-
1160
1166
Isolate- EnvVars {
1161
1167
$env: Path = " $ ( $HostArch.BinaryCache ) \cmark-gfm-0.29.0.gfm.13\src;$ ( Get-PinnedToolchainRuntime ) ;${env: Path} "
1162
1168
1163
1169
Build-CMakeProject `
1164
1170
- Src $SourceCache \swift `
1165
- - Bin (Get-ProjectBinaryCache $Arch 1 ) `
1171
+ - Bin (Get-ProjectBinaryCache $Arch Runtime ) `
1166
1172
- InstallTo " $ ( $Arch.SDKInstallRoot ) \usr" `
1167
1173
- Arch $Arch `
1168
1174
- CacheScript $SourceCache \swift\cmake\caches\Runtime- Windows- $ ($Arch.LLVMName ).cmake `
@@ -1171,7 +1177,7 @@ function Build-Runtime($Arch) {
1171
1177
- Defines @ {
1172
1178
CMAKE_Swift_COMPILER_TARGET = $Arch.LLVMTarget ;
1173
1179
CMAKE_Swift_COMPILER_WORKS = " YES" ;
1174
- LLVM_DIR = " $LLVMBinaryCache \lib\cmake\llvm" ;
1180
+ LLVM_DIR = " $ ( Get-ProjectBinaryCache $Arch LLVM ) \lib\cmake\llvm" ;
1175
1181
SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY = " YES" ;
1176
1182
SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP = " YES" ;
1177
1183
SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING = " YES" ;
@@ -1195,7 +1201,7 @@ function Build-Dispatch($Arch, [switch]$Test = $false) {
1195
1201
1196
1202
Build-CMakeProject `
1197
1203
- Src $SourceCache \swift- corelibs- libdispatch `
1198
- - Bin (Get-ProjectBinaryCache $Arch 2 ) `
1204
+ - Bin (Get-ProjectBinaryCache $Arch Dispatch ) `
1199
1205
- InstallTo " $ ( $Arch.SDKInstallRoot ) \usr" `
1200
1206
- Arch $Arch `
1201
1207
- UseBuiltCompilers C, CXX, Swift `
@@ -1208,20 +1214,19 @@ function Build-Dispatch($Arch, [switch]$Test = $false) {
1208
1214
}
1209
1215
1210
1216
function Build-Foundation ($Arch , [switch ]$Test = $false ) {
1211
- $DispatchBinaryCache = Get-ProjectBinaryCache $Arch 2
1212
- $FoundationBinaryCache = Get-ProjectBinaryCache $Arch 3
1217
+ $DispatchBinaryCache = Get-ProjectBinaryCache $Arch Dispatch
1218
+ $FoundationBinaryCache = Get-ProjectBinaryCache $Arch Foundation
1213
1219
$ShortArch = $Arch.ShortName
1214
1220
1215
1221
Isolate- EnvVars {
1216
1222
if ($Test ) {
1217
- $RuntimeBinaryCache = Get-ProjectBinaryCache $Arch 1
1218
- $XCTestBinaryCache = Get-ProjectBinaryCache $Arch 4
1223
+ $XCTestBinaryCache = Get-ProjectBinaryCache $Arch XCTest
1219
1224
$TestingDefines = @ {
1220
1225
ENABLE_TESTING = " YES" ;
1221
1226
XCTest_DIR = " $XCTestBinaryCache \cmake\modules" ;
1222
1227
}
1223
1228
$Targets = @ (" default" , " test" )
1224
- $env: Path = " $XCTestBinaryCache ;$FoundationBinaryCache \bin;$DispatchBinaryCache ;$RuntimeBinaryCache \bin;$env: Path "
1229
+ $env: Path = " $XCTestBinaryCache ;$FoundationBinaryCache \bin;$DispatchBinaryCache ;$ ( Get-ProjectBinaryCache $Arch Runtime ) \bin;$env: Path "
1225
1230
} else {
1226
1231
$TestingDefines = @ { ENABLE_TESTING = " NO" }
1227
1232
$Targets = @ (" default" , " install" )
@@ -1258,23 +1263,21 @@ function Build-Foundation($Arch, [switch]$Test = $false) {
1258
1263
}
1259
1264
1260
1265
function Build-XCTest ($Arch , [switch ]$Test = $false ) {
1261
- $LLVMBinaryCache = Get-ProjectBinaryCache $Arch 0
1262
- $DispatchBinaryCache = Get-ProjectBinaryCache $Arch 2
1263
- $FoundationBinaryCache = Get-ProjectBinaryCache $Arch 3
1264
- $XCTestBinaryCache = Get-ProjectBinaryCache $Arch 4
1266
+ $DispatchBinaryCache = Get-ProjectBinaryCache $Arch Dispatch
1267
+ $FoundationBinaryCache = Get-ProjectBinaryCache $Arch Foundation
1268
+ $XCTestBinaryCache = Get-ProjectBinaryCache $Arch XCTest
1265
1269
1266
1270
Isolate- EnvVars {
1267
1271
if ($Test ) {
1268
- $RuntimeBinaryCache = Get-ProjectBinaryCache $Arch 1
1269
1272
$TestingDefines = @ {
1270
1273
ENABLE_TESTING = " YES" ;
1271
- LLVM_DIR = " $LLVMBinaryCache /lib/cmake/llvm" ;
1274
+ LLVM_DIR = " $ ( Get-ProjectBinaryCache $Arch LLVM ) /lib/cmake/llvm" ;
1272
1275
XCTEST_PATH_TO_LIBDISPATCH_BUILD = $DispatchBinaryCache ;
1273
1276
XCTEST_PATH_TO_LIBDISPATCH_SOURCE = " $SourceCache \swift-corelibs-libdispatch" ;
1274
1277
XCTEST_PATH_TO_FOUNDATION_BUILD = $FoundationBinaryCache ;
1275
1278
}
1276
1279
$Targets = @ (" default" , " check-xctest" )
1277
- $env: Path = " $XCTestBinaryCache ;$FoundationBinaryCache \bin;$DispatchBinaryCache ;$RuntimeBinaryCache \bin;$env: Path ;$UnixToolsBinDir "
1280
+ $env: Path = " $XCTestBinaryCache ;$FoundationBinaryCache \bin;$DispatchBinaryCache ;$ ( Get-ProjectBinaryCache $Arch Runtime ) \bin;$env: Path ;$UnixToolsBinDir "
1278
1281
} else {
1279
1282
$TestingDefines = @ { ENABLE_TESTING = " NO" }
1280
1283
$Targets = @ (" default" , " install" )
0 commit comments