@@ -269,6 +269,7 @@ $AndroidARM64 = @{
269
269
CMakeName = " aarch64" ;
270
270
LLVMName = " aarch64" ;
271
271
LLVMTarget = " aarch64-unknown-linux-android$AndroidAPILevel " ;
272
+ ShortName = " arm64" ;
272
273
BuildID = 400 ;
273
274
BinaryCache = " $BinaryCache \aarch64" ;
274
275
PlatformInstallRoot = " $BinaryCache \arm64\Android.platform" ;
@@ -283,6 +284,7 @@ $AndroidARMv7 = @{
283
284
CMakeName = " armv7-a" ;
284
285
LLVMName = " armv7" ;
285
286
LLVMTarget = " armv7-unknown-linux-androideabi$AndroidAPILevel " ;
287
+ ShortName = " armv7" ;
286
288
BuildID = 500 ;
287
289
BinaryCache = " $BinaryCache \armv7" ;
288
290
PlatformInstallRoot = " $BinaryCache \armv7\Android.platform" ;
@@ -297,6 +299,7 @@ $AndroidX86 = @{
297
299
CMakeName = " i686" ;
298
300
LLVMName = " i686" ;
299
301
LLVMTarget = " i686-unknown-linux-android$AndroidAPILevel " ;
302
+ ShortName = " i686" ;
300
303
BuildID = 600 ;
301
304
BinaryCache = " $BinaryCache \i686" ;
302
305
PlatformInstallRoot = " $BinaryCache \x86\Android.platform" ;
@@ -311,6 +314,7 @@ $AndroidX64 = @{
311
314
CMakeName = " x86_64" ;
312
315
LLVMName = " x86_64" ;
313
316
LLVMTarget = " x86_64-unknown-linux-android$AndroidAPILevel " ;
317
+ ShortName = " x86_64" ;
314
318
BuildID = 700 ;
315
319
BinaryCache = " $BinaryCache \x86_64" ;
316
320
PlatformInstallRoot = " $BinaryCache \x64\Android.platform" ;
@@ -1056,36 +1060,44 @@ function Build-CMakeProject {
1056
1060
}
1057
1061
TryAdd- KeyValue $Defines CMAKE_Swift_COMPILER_TARGET $Arch.LLVMTarget.Replace (" $AndroidAPILevel " , " " )
1058
1062
if ($UseBuiltCompilers.Contains (" Swift" )) {
1059
- if ( $SwiftSDK -ne " " ) {
1060
- $SwiftArgs += @ ( " -sdk " , $SwiftSDK )
1061
- } else {
1062
- $RuntimeBinaryCache = Get-TargetProjectBinaryCache $Arch Runtime
1063
- $SwiftResourceDir = " ${RuntimeBinaryCache} \lib\swift "
1064
-
1065
- switch ( $Platform ) {
1066
- Windows {
1063
+ $RuntimeBinaryCache = Get-TargetProjectBinaryCache $Arch Runtime
1064
+ $SwiftResourceDir = " ${RuntimeBinaryCache} \lib\swift "
1065
+
1066
+ switch ( $Platform ) {
1067
+ Windows {
1068
+ if ( $SwiftSDK -ne " " ) {
1069
+ $SwiftArgs += @ ( " -sdk " , $SwiftSDK )
1070
+ } else {
1067
1071
$SwiftArgs += @ (
1068
1072
" -vfsoverlay" , " $RuntimeBinaryCache \stdlib\windows-vfs-overlay.yaml" ,
1069
1073
" -strict-implicit-module-context" ,
1070
1074
" -Xcc" , " -Xclang" , " -Xcc" , " -fbuiltin-headers-in-system-modules"
1071
1075
)
1076
+ $SwiftArgs += @ (" -resource-dir" , " $SwiftResourceDir " )
1077
+ $SwiftArgs += @ (" -L" , " $SwiftResourceDir \$ ( $Platform.ToString ().ToLowerInvariant()) " )
1072
1078
}
1073
- Android {
1074
- $androidNDKPath = Get-AndroidNDKPath
1079
+ }
1080
+ Android {
1081
+ $androidNDKPath = Get-AndroidNDKPath
1082
+ if ($SwiftSDK -ne " " ) {
1083
+ $SwiftArgs += @ (" -sdk" , $SwiftSDK )
1084
+ $SwiftArgs += @ (" -sysroot" , " $androidNDKPath \toolchains\llvm\prebuilt\windows-x86_64\sysroot" )
1085
+ } else {
1075
1086
$SwiftArgs += @ (" -sdk" , " $androidNDKPath \toolchains\llvm\prebuilt\windows-x86_64\sysroot" )
1076
- $SwiftArgs += @ (
1077
- " -Xclang-linker" , " -target" ,
1078
- " -Xclang-linker" , $Arch.LLVMTarget ,
1079
- " -Xclang-linker" , " --sysroot" ,
1080
- " -Xclang-linker" , " $androidNDKPath \toolchains\llvm\prebuilt\windows-x86_64\sysroot" ,
1081
- " -Xclang-linker" , " -resource-dir" ,
1082
- " -Xclang-linker" , " $androidNDKPath \toolchains\llvm\prebuilt\windows-x86_64\lib\clang\17"
1083
- )
1087
+ $SwiftArgs += @ (" -resource-dir" , " $SwiftResourceDir " )
1088
+ $SwiftArgs += @ (" -L" , " $SwiftResourceDir \$ ( $Platform.ToString ().ToLowerInvariant()) " )
1084
1089
}
1090
+ $SwiftArgs += @ (
1091
+ " -Xclang-linker" , " -target" ,
1092
+ " -Xclang-linker" , $Arch.LLVMTarget ,
1093
+ " -Xclang-linker" , " --sysroot" ,
1094
+ " -Xclang-linker" , " $androidNDKPath \toolchains\llvm\prebuilt\windows-x86_64\sysroot" ,
1095
+ " -Xclang-linker" , " -resource-dir" ,
1096
+ " -Xclang-linker" , " $androidNDKPath \toolchains\llvm\prebuilt\windows-x86_64\lib\clang\17"
1097
+ )
1085
1098
}
1086
- $SwiftArgs += @ (" -resource-dir" , " $SwiftResourceDir " )
1087
- $SwiftArgs += @ (" -L" , " $SwiftResourceDir \$ ( $Platform.ToString ().ToLowerInvariant()) " )
1088
1099
}
1100
+
1089
1101
} else {
1090
1102
$SwiftArgs += @ (" -sdk" , (Get-PinnedToolchainSDK ))
1091
1103
}
@@ -1172,7 +1184,7 @@ function Build-CMakeProject {
1172
1184
}
1173
1185
}
1174
1186
1175
- if (" " -ne $InstallTo ) {
1187
+ if ($BuildTargets .Length -eq 0 -and $InstallTo ) {
1176
1188
Invoke-Program cmake.exe -- build $Bin -- target install
1177
1189
}
1178
1190
}
@@ -1309,7 +1321,6 @@ function Build-CMark($Arch) {
1309
1321
- Bin " $ ( $Arch.BinaryCache ) \cmark-gfm-0.29.0.gfm.13" `
1310
1322
- InstallTo " $ ( $Arch.ToolchainInstallRoot ) \usr" `
1311
1323
- Arch $Arch `
1312
- - BuildTargets default `
1313
1324
- Defines @ {
1314
1325
BUILD_SHARED_LIBS = " YES" ;
1315
1326
BUILD_TESTING = " NO" ;
@@ -1477,7 +1488,6 @@ function Build-ZLib([Platform]$Platform, $Arch) {
1477
1488
- Arch $Arch `
1478
1489
- Platform $Platform `
1479
1490
- UseMSVCCompilers C `
1480
- - BuildTargets default `
1481
1491
- Defines @ {
1482
1492
BUILD_SHARED_LIBS = " NO" ;
1483
1493
CMAKE_POSITION_INDEPENDENT_CODE = " YES" ;
@@ -1497,7 +1507,6 @@ function Build-XML2([Platform]$Platform, $Arch) {
1497
1507
- Arch $Arch `
1498
1508
- Platform $Platform `
1499
1509
- UseMSVCCompilers C, CXX `
1500
- - BuildTargets default `
1501
1510
- Defines @ {
1502
1511
BUILD_SHARED_LIBS = " NO" ;
1503
1512
CMAKE_INSTALL_BINDIR = " bin/$Platform /$ArchName " ;
@@ -1564,7 +1573,6 @@ function Build-CURL([Platform]$Platform, $Arch) {
1564
1573
- Arch $Arch `
1565
1574
- Platform $Platform `
1566
1575
- UseMSVCCompilers C `
1567
- - BuildTargets default `
1568
1576
- Defines ($PlatformDefines + @ {
1569
1577
BUILD_SHARED_LIBS = " NO" ;
1570
1578
BUILD_TESTING = " NO" ;
@@ -1687,7 +1695,6 @@ function Build-Runtime([Platform]$Platform, $Arch) {
1687
1695
- Platform $Platform `
1688
1696
- CacheScript $SourceCache \swift\cmake\caches\Runtime- $Platform - $ ($Arch.LLVMName ).cmake `
1689
1697
- UseBuiltCompilers C, CXX, Swift `
1690
- - BuildTargets default `
1691
1698
- Defines ($PlatformDefines + @ {
1692
1699
CMAKE_Swift_COMPILER_TARGET = $Arch.LLVMTarget.Replace (" $AndroidAPILevel " , " " );
1693
1700
CMAKE_Swift_COMPILER_WORKS = " YES" ;
@@ -1728,7 +1735,6 @@ function Build-Dispatch([Platform]$Platform, $Arch, [switch]$Test = $false) {
1728
1735
- Arch $Arch `
1729
1736
- Platform $Platform `
1730
1737
- UseBuiltCompilers C, CXX, Swift `
1731
- - BuildTargets $Targets `
1732
1738
- Defines @ {
1733
1739
ENABLE_SWIFT = " YES" ;
1734
1740
}
@@ -1771,19 +1777,22 @@ function Build-Foundation([Platform]$Platform, $Arch, [switch]$Test = $false) {
1771
1777
$ShortArch = $Arch.LLVMName
1772
1778
1773
1779
Isolate- EnvVars {
1774
- $TestingDefines = @ { ENABLE_TESTING = " NO" }
1775
- $Targets = @ (" default" )
1776
- $InstallPath = " $ ( $Arch.SDKInstallRoot ) \usr"
1780
+ $SDKRoot = if ($Platform -eq " Windows" ) {
1781
+ " "
1782
+ } else {
1783
+ (Get-Variable " ${Platform} $ ( $Arch.ShortName ) " - ValueOnly).SDKInstallRoot
1784
+ }
1777
1785
1778
1786
Build-CMakeProject `
1779
1787
- Src $SourceCache \swift- corelibs- foundation `
1780
1788
- Bin $FoundationBinaryCache `
1781
- - InstallTo $InstallPath `
1789
+ - InstallTo " $ ( $Arch .SDKInstallRoot ) \usr " `
1782
1790
- Arch $Arch `
1783
1791
- Platform $Platform `
1784
1792
- UseBuiltCompilers ASM, C, CXX, Swift `
1785
- - BuildTargets $Targets `
1793
+ - SwiftSDK: $SDKRoot `
1786
1794
- Defines (@ {
1795
+ ENABLE_TESTING = " NO" ;
1787
1796
FOUNDATION_BUILD_TOOLS = if ($Platform -eq " Windows" ) { " YES" } else { " NO" };
1788
1797
CURL_DIR = " $LibraryRoot \curl-8.9.1\usr\lib\$Platform \$ShortArch \cmake\CURL" ;
1789
1798
LIBXML2_LIBRARY = if ($Platform -eq " Windows" ) {
@@ -1805,7 +1814,7 @@ function Build-Foundation([Platform]$Platform, $Arch, [switch]$Test = $false) {
1805
1814
_SwiftFoundationICU_SourceDIR = " $SourceCache \swift-foundation-icu" ;
1806
1815
_SwiftCollections_SourceDIR = " $SourceCache \swift-collections" ;
1807
1816
SwiftFoundation_MACRO = " $ ( Get-BuildProjectBinaryCache FoundationMacros) \bin"
1808
- } + $TestingDefines )
1817
+ })
1809
1818
}
1810
1819
}
1811
1820
}
@@ -1832,15 +1841,11 @@ function Build-FoundationMacros() {
1832
1841
$SwiftSDK = $BuildArch.SDKInstallRoot
1833
1842
}
1834
1843
1835
- $Targets = if ($Build ) {
1836
- @ (" default" )
1837
- } else {
1838
- @ (" default" , " install" )
1839
- }
1840
-
1841
1844
$InstallDir = $null
1845
+ $Targets = @ (" default" )
1842
1846
if (-not $Build ) {
1843
1847
$InstallDir = " $ ( $Arch.ToolchainInstallRoot ) \usr"
1848
+ $Targets = @ ()
1844
1849
}
1845
1850
1846
1851
$SwiftSyntaxCMakeModules = if ($Build -and $HostArch -ne $BuildArch ) {
@@ -1857,7 +1862,7 @@ function Build-FoundationMacros() {
1857
1862
- Platform $Platform `
1858
1863
- UseBuiltCompilers Swift `
1859
1864
- SwiftSDK:$SwiftSDK `
1860
- - BuildTargets $Targets `
1865
+ - BuildTargets: $Targets `
1861
1866
- Defines @ {
1862
1867
SwiftSyntax_DIR = $SwiftSyntaxCMakeModules ;
1863
1868
}
@@ -1882,7 +1887,7 @@ function Build-XCTest([Platform]$Platform, $Arch, [switch]$Test = $false) {
1882
1887
$env: Path = " $XCTestBinaryCache ;$FoundationBinaryCache \bin;$DispatchBinaryCache ;$ ( Get-TargetProjectBinaryCache $Arch Runtime) \bin;$env: Path ;$UnixToolsBinDir "
1883
1888
} else {
1884
1889
$TestingDefines = @ { ENABLE_TESTING = " NO" }
1885
- $Targets = @ (" default " )
1890
+ $Targets = @ (" install " )
1886
1891
$InstallPath = " $ ( $Arch.XCTestInstallRoot ) \usr"
1887
1892
}
1888
1893
@@ -1910,7 +1915,6 @@ function Build-Testing([Platform]$Platform, $Arch, [switch]$Test = $false) {
1910
1915
# TODO: Test
1911
1916
return
1912
1917
} else {
1913
- $Targets = @ (" default" )
1914
1918
$InstallPath = " $ ( $Arch.SwiftTestingInstallRoot ) \usr"
1915
1919
}
1916
1920
@@ -1921,7 +1925,6 @@ function Build-Testing([Platform]$Platform, $Arch, [switch]$Test = $false) {
1921
1925
- Arch $Arch `
1922
1926
- Platform $Platform `
1923
1927
- UseBuiltCompilers C, CXX, Swift `
1924
- - BuildTargets $Targets `
1925
1928
- Defines (@ {
1926
1929
BUILD_SHARED_LIBS = " YES" ;
1927
1930
CMAKE_BUILD_WITH_INSTALL_RPATH = " YES" ;
@@ -2020,7 +2023,6 @@ function Build-SQLite($Arch) {
2020
2023
- InstallTo $LibraryRoot \sqlite- 3.46 .0 \usr `
2021
2024
- Arch $Arch `
2022
2025
- UseMSVCCompilers C `
2023
- - BuildTargets default `
2024
2026
- Defines @ {
2025
2027
BUILD_SHARED_LIBS = " NO" ;
2026
2028
}
@@ -2035,7 +2037,6 @@ function Build-System($Arch) {
2035
2037
- Platform Windows `
2036
2038
- UseBuiltCompilers C, Swift `
2037
2039
- SwiftSDK (Get-HostSwiftSDK ) `
2038
- - BuildTargets default `
2039
2040
- Defines @ {
2040
2041
BUILD_SHARED_LIBS = " YES" ;
2041
2042
}
@@ -2055,7 +2056,6 @@ function Build-ToolsSupportCore($Arch) {
2055
2056
- Platform Windows `
2056
2057
- UseBuiltCompilers C, Swift `
2057
2058
- SwiftSDK (Get-HostSwiftSDK ) `
2058
- - BuildTargets default `
2059
2059
- Defines @ {
2060
2060
BUILD_SHARED_LIBS = " YES" ;
2061
2061
SwiftSystem_DIR = (Get-HostProjectCMakeModules System);
@@ -2081,7 +2081,7 @@ function Build-LLBuild($Arch, [switch]$Test = $false) {
2081
2081
$env: CLANG = ([IO.Path ]::Combine((Get-HostProjectBinaryCache Compilers), " bin" , " clang.exe" ))
2082
2082
$InstallPath = " "
2083
2083
} else {
2084
- $Targets = @ (" default " )
2084
+ $Targets = @ ()
2085
2085
$TestingDefines = @ {}
2086
2086
$InstallPath = " $ ( $Arch.ToolchainInstallRoot ) \usr"
2087
2087
}
@@ -2129,7 +2129,6 @@ function Build-ArgumentParser($Arch) {
2129
2129
- Platform Windows `
2130
2130
- UseBuiltCompilers Swift `
2131
2131
- SwiftSDK (Get-HostSwiftSDK ) `
2132
- - BuildTargets default `
2133
2132
- Defines @ {
2134
2133
BUILD_SHARED_LIBS = " YES" ;
2135
2134
BUILD_TESTING = " NO" ;
@@ -2145,7 +2144,6 @@ function Build-Driver($Arch) {
2145
2144
- Platform Windows `
2146
2145
- UseBuiltCompilers C, CXX, Swift `
2147
2146
- SwiftSDK (Get-HostSwiftSDK ) `
2148
- - BuildTargets default `
2149
2147
- Defines @ {
2150
2148
BUILD_SHARED_LIBS = " YES" ;
2151
2149
SwiftSystem_DIR = (Get-HostProjectCMakeModules System);
@@ -2185,7 +2183,6 @@ function Build-Collections($Arch) {
2185
2183
- Platform Windows `
2186
2184
- UseBuiltCompilers C, Swift `
2187
2185
- SwiftSDK (Get-HostSwiftSDK ) `
2188
- - BuildTargets default `
2189
2186
- Defines @ {
2190
2187
BUILD_SHARED_LIBS = " YES" ;
2191
2188
}
@@ -2235,7 +2232,6 @@ function Build-PackageManager($Arch) {
2235
2232
- Platform Windows `
2236
2233
- UseBuiltCompilers C, Swift `
2237
2234
- SwiftSDK (Get-HostSwiftSDK ) `
2238
- - BuildTargets default `
2239
2235
- Defines @ {
2240
2236
BUILD_SHARED_LIBS = " YES" ;
2241
2237
CMAKE_Swift_FLAGS = @ (" -DCRYPTO_v2" );
@@ -2263,7 +2259,6 @@ function Build-Markdown($Arch) {
2263
2259
- Platform Windows `
2264
2260
- UseBuiltCompilers C, Swift `
2265
2261
- SwiftSDK (Get-HostSwiftSDK ) `
2266
- - BuildTargets default `
2267
2262
- Defines @ {
2268
2263
BUILD_SHARED_LIBS = " NO" ;
2269
2264
ArgumentParser_DIR = (Get-HostProjectCMakeModules ArgumentParser);
@@ -2281,7 +2276,6 @@ function Build-Format($Arch) {
2281
2276
- UseMSVCCompilers C `
2282
2277
- UseBuiltCompilers Swift `
2283
2278
- SwiftSDK (Get-HostSwiftSDK ) `
2284
- - BuildTargets default `
2285
2279
- Defines @ {
2286
2280
BUILD_SHARED_LIBS = " YES" ;
2287
2281
ArgumentParser_DIR = (Get-HostProjectCMakeModules ArgumentParser);
@@ -2318,7 +2312,6 @@ function Build-SourceKitLSP($Arch) {
2318
2312
- Platform Windows `
2319
2313
- UseBuiltCompilers C, Swift `
2320
2314
- SwiftSDK (Get-HostSwiftSDK ) `
2321
- - BuildTargets default `
2322
2315
- Defines @ {
2323
2316
SwiftSyntax_DIR = (Get-HostProjectCMakeModules Compilers);
2324
2317
SwiftSystem_DIR = (Get-HostProjectCMakeModules System);
@@ -2361,8 +2354,10 @@ function Build-TestingMacros() {
2361
2354
}
2362
2355
2363
2356
$InstallDir = $null
2357
+ $Targets = @ (" default" )
2364
2358
if (-not $Build ) {
2365
2359
$InstallDir = " $ ( $Arch.ToolchainInstallRoot ) \usr"
2360
+ $Targets = @ ()
2366
2361
}
2367
2362
2368
2363
$SwiftSyntaxCMakeModules = if ($Build -and $HostArch -ne $BuildArch ) {
@@ -2379,7 +2374,7 @@ function Build-TestingMacros() {
2379
2374
- Platform $Platform `
2380
2375
- UseBuiltCompilers Swift `
2381
2376
- SwiftSDK:$SwiftSDK `
2382
- - BuildTargets $Targets `
2377
+ - BuildTargets: $Targets `
2383
2378
- Defines @ {
2384
2379
SwiftSyntax_DIR = $SwiftSyntaxCMakeModules ;
2385
2380
}
0 commit comments