From a4dbac8475261825cb33e0030978351bf6c62699 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Wed, 10 Sep 2025 13:13:07 -0700 Subject: [PATCH 1/5] WiX: reorganise the legacy RTL This moves the legacy RTL packaging into a subdirectory as preparation for resection. --- platforms/Windows/platforms/windows/windows.wixproj | 6 +++--- platforms/Windows/rtl/{ => legacy}/lib/rtllib.wixproj | 0 platforms/Windows/rtl/{ => legacy}/lib/rtllib.wxs | 0 platforms/Windows/rtl/{ => legacy}/msi/rtlmsi.wixproj | 0 platforms/Windows/rtl/{ => legacy}/msi/rtlmsi.wxs | 0 platforms/Windows/rtl/{ => legacy}/msm/rtlmsm.wixproj | 0 platforms/Windows/rtl/{ => legacy}/msm/rtlmsm.wxs | 0 7 files changed, 3 insertions(+), 3 deletions(-) rename platforms/Windows/rtl/{ => legacy}/lib/rtllib.wixproj (100%) rename platforms/Windows/rtl/{ => legacy}/lib/rtllib.wxs (100%) rename platforms/Windows/rtl/{ => legacy}/msi/rtlmsi.wixproj (100%) rename platforms/Windows/rtl/{ => legacy}/msi/rtlmsi.wxs (100%) rename platforms/Windows/rtl/{ => legacy}/msm/rtlmsm.wixproj (100%) rename platforms/Windows/rtl/{ => legacy}/msm/rtlmsm.wxs (100%) diff --git a/platforms/Windows/platforms/windows/windows.wixproj b/platforms/Windows/platforms/windows/windows.wixproj index 9997ca47..602ba5f5 100644 --- a/platforms/Windows/platforms/windows/windows.wixproj +++ b/platforms/Windows/platforms/windows/windows.wixproj @@ -18,19 +18,19 @@ - + - + - + diff --git a/platforms/Windows/rtl/lib/rtllib.wixproj b/platforms/Windows/rtl/legacy/lib/rtllib.wixproj similarity index 100% rename from platforms/Windows/rtl/lib/rtllib.wixproj rename to platforms/Windows/rtl/legacy/lib/rtllib.wixproj diff --git a/platforms/Windows/rtl/lib/rtllib.wxs b/platforms/Windows/rtl/legacy/lib/rtllib.wxs similarity index 100% rename from platforms/Windows/rtl/lib/rtllib.wxs rename to platforms/Windows/rtl/legacy/lib/rtllib.wxs diff --git a/platforms/Windows/rtl/msi/rtlmsi.wixproj b/platforms/Windows/rtl/legacy/msi/rtlmsi.wixproj similarity index 100% rename from platforms/Windows/rtl/msi/rtlmsi.wixproj rename to platforms/Windows/rtl/legacy/msi/rtlmsi.wixproj diff --git a/platforms/Windows/rtl/msi/rtlmsi.wxs b/platforms/Windows/rtl/legacy/msi/rtlmsi.wxs similarity index 100% rename from platforms/Windows/rtl/msi/rtlmsi.wxs rename to platforms/Windows/rtl/legacy/msi/rtlmsi.wxs diff --git a/platforms/Windows/rtl/msm/rtlmsm.wixproj b/platforms/Windows/rtl/legacy/msm/rtlmsm.wixproj similarity index 100% rename from platforms/Windows/rtl/msm/rtlmsm.wixproj rename to platforms/Windows/rtl/legacy/msm/rtlmsm.wixproj diff --git a/platforms/Windows/rtl/msm/rtlmsm.wxs b/platforms/Windows/rtl/legacy/msm/rtlmsm.wxs similarity index 100% rename from platforms/Windows/rtl/msm/rtlmsm.wxs rename to platforms/Windows/rtl/legacy/msm/rtlmsm.wxs From b50e2626d81a4e50dde74209c13097a317a612e7 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 11 Sep 2025 10:30:35 -0700 Subject: [PATCH 2/5] WiX: optionalise the LegacySDK This adjusts the packaging to allow exclusion of the legacy SDK. This is a preparatory step towards removing the legacy SDK from the build and the packaging. --- platforms/Windows/Directory.Build.props | 4 + platforms/Windows/bundle/installer.wixproj | 4 +- platforms/Windows/bundle/installer.wxs | 23 +++-- .../Windows/platforms/windows/windows.wixproj | 8 +- .../Windows/platforms/windows/windows.wxs | 92 ++++++++++++++++++- 5 files changed, 114 insertions(+), 17 deletions(-) diff --git a/platforms/Windows/Directory.Build.props b/platforms/Windows/Directory.Build.props index 50bc7b86..72b72d1f 100644 --- a/platforms/Windows/Directory.Build.props +++ b/platforms/Windows/Directory.Build.props @@ -25,6 +25,9 @@ x86 + + true + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)build\)) @@ -87,6 +90,7 @@ WindowsExperimentalRuntimeARM64=$(WindowsExperimentalRuntimeARM64); WindowsExperimentalRuntimeX64=$(WindowsExperimentalRuntimeX64); WindowsExperimentalRuntimeX86=$(WindowsExperimentalRuntimeX86); + IncludeLegacySDK=$(IncludeLegacySDK); diff --git a/platforms/Windows/bundle/installer.wixproj b/platforms/Windows/bundle/installer.wixproj index 9f197833..9a3d53ae 100644 --- a/platforms/Windows/bundle/installer.wixproj +++ b/platforms/Windows/bundle/installer.wixproj @@ -30,8 +30,8 @@ - - + + diff --git a/platforms/Windows/bundle/installer.wxs b/platforms/Windows/bundle/installer.wxs index d07fed0f..4ee8c319 100644 --- a/platforms/Windows/bundle/installer.wxs +++ b/platforms/Windows/bundle/installer.wxs @@ -84,13 +84,6 @@ --> - - - - - + + + + + + + + + + + + - + - + - + - + SwiftShims WindowsSDK_usr_lib_swift_shims diff --git a/platforms/Windows/platforms/windows/windows.wxs b/platforms/Windows/platforms/windows/windows.wxs index c94b1f02..2b98ba02 100644 --- a/platforms/Windows/platforms/windows/windows.wxs +++ b/platforms/Windows/platforms/windows/windows.wxs @@ -9,9 +9,14 @@ Scope="$(PackageScope)"> - + + + + + + @@ -116,6 +121,7 @@ + @@ -172,6 +178,7 @@ + @@ -466,6 +473,7 @@ + @@ -505,6 +513,7 @@ + @@ -562,6 +571,7 @@ + @@ -589,6 +599,7 @@ + @@ -640,6 +651,7 @@ + @@ -710,6 +722,7 @@ + @@ -847,6 +860,7 @@ + @@ -874,6 +888,7 @@ + @@ -919,11 +934,13 @@ + + @@ -954,6 +971,7 @@ + @@ -1005,6 +1023,7 @@ + @@ -1086,6 +1105,7 @@ + @@ -1137,6 +1157,7 @@ + @@ -1218,6 +1239,7 @@ + @@ -1269,6 +1291,7 @@ + @@ -1350,6 +1373,7 @@ + @@ -1392,6 +1416,7 @@ + @@ -1473,6 +1498,7 @@ + @@ -1524,6 +1550,7 @@ + @@ -1605,6 +1632,7 @@ + @@ -1656,6 +1684,7 @@ + @@ -1737,6 +1766,7 @@ + @@ -1788,6 +1818,7 @@ + @@ -1869,6 +1900,7 @@ + @@ -1920,6 +1952,7 @@ + @@ -2001,6 +2034,7 @@ + @@ -2052,6 +2086,7 @@ + @@ -2133,6 +2168,7 @@ + @@ -2184,6 +2220,7 @@ + @@ -2265,6 +2302,7 @@ + @@ -2295,6 +2333,7 @@ + @@ -2364,6 +2403,7 @@ + @@ -2406,6 +2446,7 @@ + @@ -2487,6 +2528,7 @@ + @@ -2529,6 +2571,7 @@ + @@ -2610,6 +2653,7 @@ + @@ -2651,6 +2695,7 @@ + @@ -2730,6 +2775,7 @@ + @@ -2772,6 +2818,7 @@ + @@ -2853,6 +2900,7 @@ + @@ -2895,6 +2943,7 @@ + @@ -2976,6 +3025,7 @@ + @@ -3027,6 +3077,7 @@ + @@ -3108,6 +3159,7 @@ + @@ -3159,6 +3211,7 @@ + @@ -3240,6 +3293,7 @@ + @@ -3288,6 +3342,7 @@ + @@ -3369,6 +3424,7 @@ + @@ -3420,6 +3476,7 @@ + @@ -3501,6 +3558,7 @@ + @@ -3552,6 +3610,7 @@ + @@ -3633,6 +3692,7 @@ + @@ -3684,6 +3744,7 @@ + @@ -3765,11 +3826,13 @@ + + @@ -3778,6 +3841,7 @@ + @@ -3789,6 +3853,7 @@ + @@ -3803,6 +3868,7 @@ + @@ -3839,6 +3905,7 @@ --> + @@ -3875,6 +3942,7 @@ + @@ -3892,6 +3960,7 @@ + @@ -3912,7 +3981,7 @@ - + @@ -3924,6 +3993,7 @@ + @@ -3932,18 +4002,20 @@ - + + + @@ -3952,9 +4024,11 @@ + + @@ -3963,9 +4037,11 @@ + + @@ -3975,9 +4051,15 @@ + + + + + + @@ -4022,6 +4104,7 @@ + @@ -4173,6 +4256,7 @@ + From 3e70dffa4f41d02095dbf006fbed400947c6f7af Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 11 Sep 2025 22:19:25 -0700 Subject: [PATCH 3/5] WiX: isolate experimental shims from legacy shims Adjust the package authoring to use separate paths as we prepare to eject the legacy SDK. --- platforms/Windows/platforms/windows/windows.wixproj | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/platforms/Windows/platforms/windows/windows.wixproj b/platforms/Windows/platforms/windows/windows.wixproj index 933ed0a9..2df3ef90 100644 --- a/platforms/Windows/platforms/windows/windows.wixproj +++ b/platforms/Windows/platforms/windows/windows.wixproj @@ -3,10 +3,12 @@ windows $(ImageRoot)\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\shims + $(ImageRoot)\Platforms\Windows.platform\Developer\SDKs\WindowsExperimental.sdk\usr\lib\swift\shims $(DefineConstants); SwiftShimsPath=$(SwiftShimsPath); + ExperimentalSwiftShimsPath=$(ExperimentalSwiftShimsPath); IncludeARM64=$(WindowsArchitectures.Contains("aarch64")); IncludeX64=$(WindowsArchitectures.Contains("x86_64")); IncludeX86=$(WindowsArchitectures.Contains("i686")); @@ -47,10 +49,10 @@ - + ExperimentalSwiftShims WindowsExperimentalSDK_usr_lib_swift_shims - var.SwiftShimsPath + var.ExperimentalSwiftShimsPath true true true From 2ab082b76cc2fd2575429d3feac8bbf0c62ac40f Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 11 Sep 2025 22:20:48 -0700 Subject: [PATCH 4/5] WiX: adjust features for shared content Adjust the feature set to extract platform support from the SDK content. This allows us to have the platform specific libraries (XCTest, Testing) isolated from the SDK content. It also allows us to temporarily share the features across the legacy and experimental SDKs. --- .../Windows/platforms/windows/windows.wxs | 53 ++++++++++++------- platforms/Windows/shared/swift.en-us.wxl | 3 ++ 2 files changed, 38 insertions(+), 18 deletions(-) diff --git a/platforms/Windows/platforms/windows/windows.wxs b/platforms/Windows/platforms/windows/windows.wxs index 2b98ba02..056eda7a 100644 --- a/platforms/Windows/platforms/windows/windows.wxs +++ b/platforms/Windows/platforms/windows/windows.wxs @@ -4104,6 +4104,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4112,26 +4147,17 @@ - - - - - - - - - @@ -4173,9 +4199,6 @@ - - - @@ -4217,9 +4240,6 @@ - - - @@ -4269,9 +4289,6 @@ - - - diff --git a/platforms/Windows/shared/swift.en-us.wxl b/platforms/Windows/shared/swift.en-us.wxl index f5d92501..fa3960f9 100644 --- a/platforms/Windows/shared/swift.en-us.wxl +++ b/platforms/Windows/shared/swift.en-us.wxl @@ -31,6 +31,9 @@ + + + From 55b57794529ae31a8628b9b2467a5e2583d3d572 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Sat, 20 Sep 2025 09:34:46 -0700 Subject: [PATCH 5/5] WiX: package up static libraries for static SDK Package up the static library dependencies that are required for FoundationNetworking, FoundationXML. These are packaged with the experimental SDK as they are required only for static linking. --- .../Windows/platforms/windows/windows.wxs | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/platforms/Windows/platforms/windows/windows.wxs b/platforms/Windows/platforms/windows/windows.wxs index 056eda7a..2dfb4439 100644 --- a/platforms/Windows/platforms/windows/windows.wxs +++ b/platforms/Windows/platforms/windows/windows.wxs @@ -3024,6 +3024,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4324,6 +4365,7 @@ + @@ -4394,6 +4436,7 @@ + @@ -4464,6 +4507,7 @@ +