@@ -269,6 +269,7 @@ $AndroidARM64 = @{
269269 CMakeName = " aarch64" ;
270270 LLVMName = " aarch64" ;
271271 LLVMTarget = " aarch64-unknown-linux-android$AndroidAPILevel " ;
272+ ShortName = " arm64" ;
272273 BuildID = 400 ;
273274 BinaryCache = " $BinaryCache \aarch64" ;
274275 PlatformInstallRoot = " $BinaryCache \arm64\Android.platform" ;
@@ -283,6 +284,7 @@ $AndroidARMv7 = @{
283284 CMakeName = " armv7-a" ;
284285 LLVMName = " armv7" ;
285286 LLVMTarget = " armv7-unknown-linux-androideabi$AndroidAPILevel " ;
287+ ShortName = " armv7" ;
286288 BuildID = 500 ;
287289 BinaryCache = " $BinaryCache \armv7" ;
288290 PlatformInstallRoot = " $BinaryCache \armv7\Android.platform" ;
@@ -297,6 +299,7 @@ $AndroidX86 = @{
297299 CMakeName = " i686" ;
298300 LLVMName = " i686" ;
299301 LLVMTarget = " i686-unknown-linux-android$AndroidAPILevel " ;
302+ ShortName = " i686" ;
300303 BuildID = 600 ;
301304 BinaryCache = " $BinaryCache \i686" ;
302305 PlatformInstallRoot = " $BinaryCache \x86\Android.platform" ;
@@ -311,6 +314,7 @@ $AndroidX64 = @{
311314 CMakeName = " x86_64" ;
312315 LLVMName = " x86_64" ;
313316 LLVMTarget = " x86_64-unknown-linux-android$AndroidAPILevel " ;
317+ ShortName = " x86_64" ;
314318 BuildID = 700 ;
315319 BinaryCache = " $BinaryCache \x86_64" ;
316320 PlatformInstallRoot = " $BinaryCache \x64\Android.platform" ;
@@ -1056,36 +1060,44 @@ function Build-CMakeProject {
10561060 }
10571061 TryAdd- KeyValue $Defines CMAKE_Swift_COMPILER_TARGET $Arch.LLVMTarget.Replace (" $AndroidAPILevel " , " " )
10581062 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 {
10671071 $SwiftArgs += @ (
10681072 " -vfsoverlay" , " $RuntimeBinaryCache \stdlib\windows-vfs-overlay.yaml" ,
10691073 " -strict-implicit-module-context" ,
10701074 " -Xcc" , " -Xclang" , " -Xcc" , " -fbuiltin-headers-in-system-modules"
10711075 )
1076+ $SwiftArgs += @ (" -resource-dir" , " $SwiftResourceDir " )
1077+ $SwiftArgs += @ (" -L" , " $SwiftResourceDir \$ ( $Platform.ToString ().ToLowerInvariant()) " )
10721078 }
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 {
10751086 $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()) " )
10841089 }
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+ )
10851098 }
1086- $SwiftArgs += @ (" -resource-dir" , " $SwiftResourceDir " )
1087- $SwiftArgs += @ (" -L" , " $SwiftResourceDir \$ ( $Platform.ToString ().ToLowerInvariant()) " )
10881099 }
1100+
10891101 } else {
10901102 $SwiftArgs += @ (" -sdk" , (Get-PinnedToolchainSDK ))
10911103 }
@@ -1775,6 +1787,12 @@ function Build-Foundation([Platform]$Platform, $Arch, [switch]$Test = $false) {
17751787 $Targets = @ (" default" )
17761788 $InstallPath = " $ ( $Arch.SDKInstallRoot ) \usr"
17771789
1790+ $SDKRoot = if ($Platform -eq " Windows" ) {
1791+ " "
1792+ } else {
1793+ (Get-Variable " ${Platform} $ ( $Arch.ShortName ) " - ValueOnly).SDKInstallRoot
1794+ }
1795+
17781796 Build-CMakeProject `
17791797 - Src $SourceCache \swift- corelibs- foundation `
17801798 - Bin $FoundationBinaryCache `
0 commit comments