@@ -54,6 +54,8 @@ del /f /q "%UniversalCRTSdkDir%\Include\%UCRTVersion%\um\module.modulemap"
54
54
del /f /q " %VCToolsInstallDir% \include\module.modulemap"
55
55
del /f /q " %VCToolsInstallDir% \include\vcruntime.apinotes"
56
56
57
+ call :FetchWiX || (exit /b)
58
+ call :FetchX64Toolchain || (exit /b)
57
59
call :CloneDependencies || (exit /b)
58
60
call :CloneRepositories || (exit /b)
59
61
@@ -190,6 +192,33 @@ cmake ^
190
192
cmake --build " %BuildRoot% \curl" || (exit /b)
191
193
cmake --build " %BuildRoot% \curl" --target install || (exit /b)
192
194
195
+ path %BuildRoot% \toolchains\5.9.0\PFiles64\Swift\runtime-development\usr\bin;%BuildRoot% \toolchains\5.9.0\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin;%Path%
196
+
197
+ :: Build Swift Syntax
198
+ cmake ^
199
+ -B " %BuildRoot% \99" ^
200
+
201
+ -D BUILD_SHARED_LIBS=YES ^
202
+ -D CMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE% ^
203
+ -D CMAKE_C_COMPILER=cl.exe ^
204
+ -D CMAKE_C_FLAGS=" /GS- /Oy /Gw /Gy" ^
205
+ -D CMAKE_CXX_COMPILER=cl ^
206
+ -D CMAKE_CXX_FLAGS=" /GS- /Oy /Gw /Gy" ^
207
+ -D CMAKE_MT=mt ^
208
+ -D CMAKE_Swift_COMPILER=%BuildRoot% /toolchains/5.9.0/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/swiftc.exe ^
209
+ -D CMAKE_Swift_FLAGS=" -sdk %BuildRoot% /toolchains/5.9.0/Library/Developer/Platforms/Windows.platform/Developer/SDKs/Windows.sdk" ^
210
+ -D CMAKE_EXE_LINKER_FLAGS=" /INCREMENTAL:NO" ^
211
+ -D CMAKE_SHARED_LINKER_FLAGS=" /INCREMENTAL:NO" ^
212
+ -D CMAKE_Swift_FLAGS_RELEASE=" -O" ^
213
+ -D CMAKE_Swift_FLAGS_RELWITHDEBINFO=" -O" ^
214
+
215
+ -D CMAKE_INSTALL_PREFIX=" %InstallRoot% " ^
216
+
217
+ -G Ninja ^
218
+ -S %SourceRoot% \swift-syntax || (exit /b)
219
+ cmake --build %BuildRoot% \99 || (exit /b)
220
+ cmake --build %BuildRoot% \99 --target install || (exit /b)
221
+
193
222
:: Build Toolchain
194
223
cmake ^
195
224
-B " %BuildRoot% \1" ^
@@ -207,11 +236,17 @@ cmake ^
207
236
208
237
-D CMAKE_INSTALL_PREFIX=" %InstallRoot% " ^
209
238
239
+ -D CMAKE_Swift_COMPILER=" %BuildRoot% /toolchains/5.9.0/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/swiftc.exe" ^
240
+ -D CMAKE_Swift_FLAGS=" -sdk %BuildRoot% /toolchains/5.9.0/Library/Developer/Platforms/Windows.platform/Developer/SDKs/Windows.sdk" ^
241
+
210
242
-D LLVM_DEFAULT_TARGET_TRIPLE=x86_64-unknown-windows-msvc ^
211
243
212
244
-D PACKAGE_VENDOR=" swift.org" ^
213
245
-D CLANG_VENDOR=" swift.org" ^
214
246
-D CLANG_VENDOR_UTI=" org.swift" ^
247
+ -D LLDB_PYTHON_EXE_RELATIVE_PATH=python.exe ^
248
+ -D LLDB_PYTHON_EXT_SUFFIX=.pyd ^
249
+ -D LLDB_PYTHON_RELATIVE_PATH=lib/site-packages ^
215
250
-D LLVM_APPEND_VC_REV=NO ^
216
251
-D LLVM_VERSION_SUFFIX=" " ^
217
252
@@ -226,9 +261,11 @@ cmake ^
226
261
-D LLVM_EXTERNAL_CMARK_SOURCE_DIR=" %SourceRoot% \cmark" ^
227
262
-D PYTHON_HOME=%PYTHON_HOME% ^
228
263
-D PYTHON_EXECUTABLE=%PYTHON_HOME% \python.exe ^
264
+ -D SWIFT_PATH_TO_EARLYSWIFTSYNTAX_BUILD_DIR=" %BuildRoot% \99" ^
229
265
-D SWIFT_PATH_TO_LIBDISPATCH_SOURCE=" %SourceRoot% \swift-corelibs-libdispatch" ^
230
266
-D SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE=" %SourceRoot% \swift-syntax" ^
231
267
-D SWIFT_PATH_TO_STRING_PROCESSING_SOURCE=%SourceRoot% \swift-experimental-string-processing ^
268
+ -D SWIFT_PATH_TO_SWIFT_SDK=" %BuildRoot% /toolchains/5.9.0/Library/Developer/Platforms/Windows.platform/Developer/SDKs/Windows.sdk" ^
232
269
233
270
-G Ninja ^
234
271
-S llvm-project\llvm || (exit /b)
@@ -744,25 +781,25 @@ python -c "import plistlib; print(str(plistlib.dumps({ 'DefaultProperties': { 'D
744
781
:: TODO(compnerd) match the XCTest installation name
745
782
python -c " import plistlib; print(str(plistlib.dumps({ 'DefaultProperties': { 'XCTEST_VERSION': 'development' } }), encoding='utf-8'))" > %PlatformRoot% \Info.plist
746
783
747
- IF NOT " %SKIP_PACKAGING% " == " 1" call :PackageToolchain
784
+ IF NOT " %SKIP_PACKAGING% " == " 1" call :PackageToolchain || (exit /b)
748
785
749
786
:: TODO(compnerd) test LLVM
750
787
751
788
SET SKIP_TEST = 0
752
789
FOR %%T IN (%SKIP_TESTS% ) DO (IF /I %%T == swift SET SKIP_TEST = 1)
753
- IF " %SKIP_TEST% " == " 0" call :TestSwift
790
+ IF " %SKIP_TEST% " == " 0" call :TestSwift || (exit /b)
754
791
755
792
SET SKIP_TEST = 0
756
793
FOR %%T IN (%SKIP_TESTS% ) DO (IF /I %%T == dispatch SET SKIP_TEST = 1)
757
- IF " %SKIP_TEST% " == " 0" call :TestDispatch
794
+ IF " %SKIP_TEST% " == " 0" call :TestDispatch || (exit /b)
758
795
759
796
SET SKIP_TEST = 0
760
797
FOR %%T IN (%SKIP_TESTS% ) DO (IF /I %%T == foundation SET SKIP_TEST = 1)
761
- IF " %SKIP_TEST% " == " 0" call :TestFoundation
798
+ IF " %SKIP_TEST% " == " 0" call :TestFoundation || (exit /b)
762
799
763
800
SET SKIP_TEST = 0
764
801
FOR %%T IN (%SKIP_TESTS% ) DO (IF /I %%T == xctest SET SKIP_TEST = 1)
765
- IF " %SKIP_TEST% " == " 0" call :TestXCTest
802
+ IF " %SKIP_TEST% " == " 0" call :TestXCTest || (exit /b)
766
803
767
804
:: Clean up the module cache
768
805
rd /s /q %LocalAppData% \clang\ModuleCache
@@ -815,6 +852,30 @@ git clone --quiet --no-tags --depth 1 --branch curl-7_77_0 https://github.com/cu
815
852
goto :eof
816
853
endlocal
817
854
855
+ :FetchWiX
856
+ setlocal enableextensions enabledelayedexpansion
857
+
858
+ curl.exe -sL https://www.nuget.org/api/v2/package/wix/4.0.1 -o wix-4.0.1.zip
859
+ md WiX-4.0.1 || exit (/b)
860
+ cd WiX-4.0.1 || exit (/b)
861
+ tar -xf ../wix-4.0.1.zip || exit (/b)
862
+
863
+ goto :eof
864
+ endlocal
865
+
866
+ :FetchX64Toolchain
867
+ setlocal enableextensions enabledelayedexpansion
868
+
869
+ curl.exe -k -sOL " https://download.swift.org/swift-5.9-release/windows10/swift-5.9-RELEASE/swift-5.9-RELEASE-windows10.exe" || (exit /b)
870
+ " WiX-4.0.1\tools\net6.0\any\wix.exe" burn extract swift-5.9-RELEASE-windows10.exe -o %BuildRoot% \toolchains || (exit /b)
871
+ msiexec.exe /qn /a " %BuildRoot% \toolchains\a0" TARGETDIR=" %BuildRoot% \toolchains\5.9.0\" || (exit /b)
872
+ msiexec.exe /qn /a " %BuildRoot% \toolchains\a1" TARGETDIR=" %BuildRoot% \toolchains\5.9.0\" || (exit /b)
873
+ msiexec.exe /qn /a " %BuildRoot% \toolchains\a2" TARGETDIR=" %BuildRoot% \toolchains\5.9.0\" || (exit /b)
874
+ msiexec.exe /qn /a " %BuildRoot% \toolchains\a3" TARGETDIR=" %BuildRoot% \toolchains\5.9.0\" || (exit /b)
875
+
876
+ goto :eof
877
+ endlocal
878
+
818
879
:TestSwift
819
880
setlocal enableextensions enabledelayedexpansion
820
881
0 commit comments