@@ -62,9 +62,13 @@ git clone https://github.com/apple/swift-cmark cmark
62
62
git clone https://github.com/apple/swift-corelibs-libdispatch swift-corelibs-libdispatch
63
63
git clone https://github.com/apple/swift-corelibs-foundation swift-corelibs-foundation
64
64
git clone https://github.com/apple/swift-corelibs-xctest swift-corelibs-xctest
65
- git clone https://github.com/apple/swift-llbuild llbuild
66
65
git clone https://github.com/apple/swift-tools-support-core swift-tools-support-core
67
- git clone -c core.autocrlf=input https://github.com/apple/swift-package-manager swiftpm
66
+ git clone -c core.symlinks=true https://github.com/apple/swift-llbuild swift-llbuild
67
+ git clone https://github.com/JPSim/Yams Yams
68
+ git clone https://github.com/apple/swift-driver swift-driver
69
+ git clone https://github.com/apple/swift-argument-parser swift-argument-parser
70
+ git clone -c core.autocrlf=input https://github.com/apple/swift-package-manager swift-package-manager
71
+ git clone https://github.com/apple/indexstore-db indexstore-db
68
72
```
69
73
70
74
## Dependencies (ICU, SQLite3, curl, libxml2 and zlib)
@@ -112,116 +116,261 @@ Warning: Creating the above links usually requires administrator privileges. The
112
116
## Build the toolchain
113
117
114
118
``` cmd
115
- cmake -B "S:\b\toolchain " ^
119
+ cmake -B "S:\b\1 " ^
116
120
-C S:\swift\cmake\caches\Windows-x86_64.cmake ^
117
121
-D CMAKE_BUILD_TYPE=Release ^
118
- -D SWIFT_PATH_TO_LIBDISPATCH_SOURCE=S:\swift-corelibs-libdispatch ^
122
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
123
+ -D LLVM_DEFAULT_TARGET_TRIPLE=x86_64-unknown-windows-msvc ^
119
124
-D LLVM_ENABLE_PDB=YES ^
120
- -D LLVM_EXTERNAL_SWIFT_SOURCE_DIR=S:\swift ^
121
125
-D LLVM_EXTERNAL_CMARK_SOURCE_DIR=S:\cmark ^
122
- -D SWIFT_WINDOWS_x86_64_ICU_UC_INCLUDE =S:\Library\icu-67\usr\include ^
123
- -D SWIFT_WINDOWS_x86_64_ICU_UC =S:\Library\icu-67\usr\lib\icuuc67.lib ^
126
+ -D LLVM_EXTERNAL_SWIFT_SOURCE_DIR =S:\swift ^
127
+ -D SWIFT_PATH_TO_LIBDISPATCH_SOURCE =S:\swift-corelibs-libdispatch ^
124
128
-D SWIFT_WINDOWS_x86_64_ICU_I18N_INCLUDE=S:\Library\icu-67\usr\include ^
125
129
-D SWIFT_WINDOWS_x86_64_ICU_I18N=S:\Library\icu-67\usr\lib\icuin67.lib ^
126
- -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
130
+ -D SWIFT_WINDOWS_x86_64_ICU_UC_INCLUDE=S:\Library\icu-67\usr\include ^
131
+ -D SWIFT_WINDOWS_x86_64_ICU_UC=S:\Library\icu-67\usr\lib\icuuc67.lib ^
127
132
-G Ninja ^
128
133
-S S:\llvm-project\llvm
129
134
130
- ninja -C S:\b\toolchain
135
+ ninja -C S:\b\1
131
136
```
132
137
133
138
## Running Swift tests on Windows
134
139
135
140
``` cmd
136
- path S:\Library\icu-67\usr\bin;S:\b\toolchain \bin;S:\b\toolchain \tools\swift\libdispatch-prefix\bin;%PATH%;%ProgramFiles%\Git\usr\bin
141
+ path S:\Library\icu-67\usr\bin;S:\b\1 \bin;S:\b\1 \tools\swift\libdispatch-prefix\bin;%PATH%;%ProgramFiles%\Git\usr\bin
137
142
ninja -C S:\b\toolchain check-swift
138
143
```
139
144
140
145
## Build swift-corelibs-libdispatch
141
146
142
147
``` cmd
143
- cmake -B S:\b\libdispatch -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_COMPILER=S:/b/toolchain/bin/clang-cl.exe -D CMAKE_CXX_COMPILER=S:/b/toolchain/bin/clang-cl.exe -D CMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -D ENABLE_SWIFT=YES -G Ninja -S S:\swift-corelibs-libdispatch
144
- ninja -C S:\b\libdispatch
148
+ cmake -B S:\b\2 ^
149
+ -D CMAKE_BUILD_TYPE=RelWithDebInfo ^
150
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
151
+ -D CMAKE_C_COMPILER=S:/b/1/bin/clang-cl.exe ^
152
+ -D CMAKE_CXX_COMPILER=S:/b/1/bin/clang-cl.exe ^
153
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
154
+ -D ENABLE_SWIFT=YES ^
155
+ -G Ninja ^
156
+ -S S:\swift-corelibs-libdispatch
157
+
158
+ ninja -C S:\b\2
145
159
```
146
160
147
161
## Test swift-corelibs-libdispatch
148
162
149
163
``` cmd
150
- ninja -C S:\b\libdispatch check
164
+ ninja -C S:\b\2 check
151
165
```
152
166
153
167
## Build swift-corelibs-foundation
154
168
155
169
``` cmd
156
- cmake -B S:\b\foundation -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_COMPILER=S:/b/toolchain/bin/clang-cl.exe -D CMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -D CURL_LIBRARY="S:/Library/libcurl-development/usr/lib/libcurl.lib" -D CURL_INCLUDE_DIR="S:/Library/libcurl-development/usr/include" -D ICU_ROOT="S:/Library/icu-67" -D ICU_INCLUDE_DIR=S:/Library/icu-67/usr/include -D LIBXML2_LIBRARY="S:/Library/libxml2-development/usr/lib/libxml2s.lib" -D LIBXML2_INCLUDE_DIR="S:/Library/libxml2-development/usr/include/libxml2" -D ENABLE_TESTING=NO -D dispatch_DIR=S:/b/libdispatch/cmake/modules -G Ninja -S S:\swift-corelibs-foundation
157
- ninja -C S:\b\foundation
170
+ cmake -B S:\b\3 ^
171
+ -D CMAKE_BUILD_TYPE=RelWithDebInfo ^
172
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
173
+ -D CMAKE_C_COMPILER=S:/b/1/bin/clang-cl.exe ^
174
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
175
+ -D CURL_LIBRARY="S:/Library/libcurl-development/usr/lib/libcurl.lib" ^
176
+ -D CURL_INCLUDE_DIR="S:/Library/libcurl-development/usr/include" ^
177
+ -D ICU_I18N_LIBRARY_RELEASE=S:\library\icu-67\usr\lib\icuin67.lib ^
178
+ -D ICU_ROOT=S:\Library\icu-67\usr ^
179
+ -D ICU_UC_LIBRARY_RELEASE=S:\Library\icu-67\usr\lib\icuuc67.lib ^
180
+ -D LIBXML2_LIBRARY=S:\Library\libxml2-development\usr\lib\libxml2s.lib ^
181
+ -D LIBXML2_INCLUDE_DIR=S:\Library\libxml2-development\usr\include\libxml2 ^
182
+ -D ENABLE_TESTING=NO ^
183
+ -D dispatch_DIR=S:\b\2\cmake\modules ^
184
+ -G Ninja ^
185
+ -S S:\swift-corelibs-foundation
186
+
187
+ ninja -C S:\b\3
158
188
```
159
189
160
190
- Add Foundation to your path:
161
191
162
192
``` cmd
163
- path S:\b\foundation\Foundation ;%PATH%
193
+ path S:\b\3\bin ;%PATH%
164
194
```
165
195
166
196
## Build swift-corelibs-xctest
167
197
168
198
``` cmd
169
- cmake -B S:\b\xctest -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -D dispatch_DIR=S:\b\dispatch\cmake\modules -D Foundation_DIR=S:\b\foundation\cmake\modules -D LIT_COMMAND=S:\toolchain\llvm\utils\lit\lit.py -G Ninja -S S:\swift-corelibs-xctest
170
- ninja -C S:\b\xctest
199
+ cmake -B S:\b\4 ^
200
+ -D CMAKE_BUILD_TYPE=RelWithDebInfo ^
201
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
202
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
203
+ -D dispatch_DIR=S:\b\2\cmake\modules ^
204
+ -D Foundation_DIR=S:\b\3\cmake\modules ^
205
+ -D LIT_COMMAND=S:\llvm-project\llvm\utils\lit\lit.py ^
206
+ -G Ninja ^
207
+ -S S:\swift-corelibs-xctest
208
+
209
+ ninja -C S:\b\4
171
210
```
172
211
173
212
- Add XCTest to your path:
174
213
175
214
``` cmd
176
- path S:\b\xctest;%PATH%
215
+
216
+ path S:\b\4;%PATH%
177
217
```
178
218
179
219
## Test XCTest
180
220
181
221
``` cmd
182
- ninja -C S:\b\xctest check-xctest
222
+ ninja -C S:\b\4 check-xctest
183
223
```
184
224
185
225
## Rebuild Foundation
186
226
187
227
``` cmd
188
- cmake -B S:\b\foundation -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_COMPILER=S:/b/toolchain/bin/clang-cl.exe -D CMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -D CURL_LIBRARY="S:/Library/libcurl-development/usr/lib/libcurl.lib" -D CURL_INCLUDE_DIR="S:/Library/libcurl-development/usr/include" -D ICU_ROOT="S:/Library/icu-67" -D LIBXML2_LIBRARY="S:/Library/libxml2-development/usr/lib/libxml2.lib" -D LIBXML2_INCLUDE_DIR="S:/Library/libxml2-development/usr/include" -D ENABLE_TESTING=YES -D dispatch_DIR=S:/b/libdispatch/cmake/modules -D XCTest_DIR=S:/b/xctest/cmake/modules -G Ninja -S S:\swift-corelibs-foundation
189
- ninja -C S:\b\foundation
228
+ cmake -B S:\b\3 ^
229
+ -D CMAKE_BUILD_TYPE=RelWithDebInfo ^
230
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
231
+ -D CMAKE_C_COMPILER=S:/b/1/bin/clang-cl.exe ^
232
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
233
+ -D CURL_LIBRARY="S:/Library/libcurl-development/usr/lib/libcurl.lib" ^
234
+ -D CURL_INCLUDE_DIR="S:/Library/libcurl-development/usr/include" ^
235
+ -D ICU_I18N_LIBRARY_RELEASE=S:\library\icu-67\usr\lib\icuin67.lib ^
236
+ -D ICU_ROOT=S:\Library\icu-67\usr ^
237
+ -D ICU_UC_LIBRARY_RELEASE=S:\Library\icu-67\usr\lib\icuuc67.lib ^
238
+ -D LIBXML2_LIBRARY=S:\Library\libxml2-development\usr\lib\libxml2s.lib ^
239
+ -D LIBXML2_INCLUDE_DIR=S:\Library\libxml2-development\usr\include\libxml2 ^
240
+ -D ENABLE_TESTING=YES ^
241
+ -D dispatch_DIR=S:\b\2\cmake\modules ^
242
+ -D XCTest_DIR=S:\b\4\cmake\modules ^
243
+ -G Ninja ^
244
+ -S S:\swift-corelibs-foundation
245
+
246
+ ninja -C S:\b\3
190
247
```
191
248
192
249
## Test Foundation
193
250
194
251
``` cmd
195
- cmake --build S:\b\foundation
196
- ninja -C S:\b\foundation test
252
+ ninja -C S:\b\3 test
197
253
```
198
254
199
- ## Build llbuild
255
+ ## Build swift-tools-core-support
200
256
201
257
``` cmd
202
- set AR=llvm-ar
203
- cmake -B S:\b\llbuild -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_CXX_COMPILER=cl -D CMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -D Foundation_DIR=S:/b/foundation/cmake/modules -D dispatch_DIR=S:/b/libdispatch/cmake/modules -D SQLite3_INCLUDE_DIR=S:\Library\sqlite-3.28.0\usr\include -D SQLite3_LIBRARY=S:\Library\sqlite-3.28.0\usr\lib\sqlite3.lib -D LLBUILD_SUPPORT_BINDINGS=Swift -G Ninja -S S:\llbuild
204
- ninja -C S:\b\llbuild
258
+ cmake -B S:\b\5 ^
259
+ -D BUILD_SHARED_LIBS=YES ^
260
+ -D CMAKE_BUILD_TYPE=RelWithDebInfo ^
261
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
262
+ -D CMAKE_C_COMPILER=S:/b/1/bin/clang-cl.exe ^
263
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
264
+ -D dispatch_DIR=S:\b\2\cmake\modules ^
265
+ -D Foundation_DIR=S:\b\3\cmake\modules ^
266
+ -D SQLite3_INCLUDE_DIR=S:\Library\sqlite-3.28.0\usr\include ^
267
+ -D SQLite3_LIBRARY=S:\Library\sqlite-3.28.0\usr\lib\SQLite3.lib ^
268
+ -G Ninja ^
269
+ -S S:\swift-tools-support-core
270
+
271
+ ninja -C S:\b\5
272
+ ```
273
+
274
+ ## Build swift-llbuild
275
+
276
+ ``` cmd
277
+ cmake -B S:\b\6 ^
278
+ -D BUILD_SHARED_LIBS=YES ^
279
+ -D CMAKE_BUILD_TYPE=RelWithDebInfo ^
280
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
281
+ -D CMAKE_CXX_COMPILER=S:/b/1/bin/clang-cl.exe ^
282
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
283
+ -D CMAKE_CXX_FLAGS="-Xclang -fno-split-cold-code" ^
284
+ -D LLBUILD_SUPPORT_BINDINGS=Swift ^
285
+ -D dispatch_DIR=S:\b\2\cmake\modules ^
286
+ -D Foundation_DIR=S:\b\3\cmake\modules ^
287
+ -D SQLite3_INCLUDE_DIR=S:\Library\sqlite-3.28.0\usr\include ^
288
+ -D SQLite3_LIBRARY=S:\Library\sqlite-3.28.0\usr\lib\sqlite3.lib ^
289
+ -G Ninja ^
290
+ -S S:\swift-llbuild
291
+
292
+ ninja -C S:\b\6
205
293
```
206
294
207
295
- Add llbuild to your path:
208
296
209
297
``` cmd
210
- path S:\b\llbuild \bin;%PATH%
298
+ path S:\b\6 \bin;%PATH%
211
299
```
212
300
213
- ## Build swift-tools-core-support
301
+ ## Build Yams
214
302
215
303
``` cmd
216
- cmake -B S:\b\tsc -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_COMPILER=cl -D CMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -D Foundation_DIR=S:/b/foundation/cmake/modules -D dispatch_DIR=S:/b/libdispatch/cmake/modules -G Ninja -S S:\swift-tools-support-core
217
- ninja -C S:\b\tsc
304
+ cmake -B S:\b\7 ^
305
+ -D BUILD_SHARED_LIBS=YES ^
306
+ -D CMAKE_BUILD_TYPE=Release ^
307
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
308
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
309
+ -D dispatch_DIR=S:\b\2\cmake\modules ^
310
+ -D Foundation_DIR=S:\b\3\cmake\modules ^
311
+ -D XCTest_DIR=S:\b\4\cmake\modules ^
312
+ -G Ninja ^
313
+ -S S:\swift-llbuild
314
+
315
+ ninja -C S:\b\7
316
+ ```
317
+
318
+ ## Build swift-driver
319
+
320
+ ``` cmd
321
+ cmake -B S:\b\8 ^
322
+ -D BUILD_SHARED_LIBS=YES ^
323
+ -D CMAKE_BUILD_TYPE=Release ^
324
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
325
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
326
+ -D dispatch_DIR=S:\b\2\cmake\modules ^
327
+ -D Foundation_DIR=S:\b\3\cmake\modules ^
328
+ -D TSC_DIR=S:\b\5\cmake\modules ^
329
+ -D LLBuild_DIR=S:\b\6\cmake\modules ^
330
+ -D Yams_DIR=S:\b\7\cmake\modules ^
331
+ -G Ninja ^
332
+ -S S:\swift-driver
333
+
334
+ ninja -C S:\b\8
335
+ ```
336
+
337
+ ## Build swift-argument-parser
338
+
339
+ ``` cmd
340
+ cmake -B S:\b\9 ^
341
+ -D BUILD_SHARED_LIBS=YES ^
342
+ -D CMAKE_BUILD_TYPE=Release ^
343
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
344
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
345
+ -D dispatch_DIR=S:\b\2\cmake\modules ^
346
+ -D Foundation_DIR=S:\b\3\cmake\modules ^
347
+ -D XCTest_DIR=S:\b\4\cmake\modules ^
348
+ -G Ninja ^
349
+ -S S:\swift-argument-parser
350
+
351
+ ninja -C S:\b\9
218
352
```
219
353
220
354
## Build swift-package-manager
221
355
222
356
``` cmd
223
- cmake -B S:\b\spm -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_COMPILER=S:/b/toolchain/bin/clang-cl.exe -D CMAKE_CXX_COMPILER=S:/b/toolchain/bin/clang-cl.exe -D CMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -D USE_VENDORED_TSC=YES -D Foundation_DIR=S:/b/foundation/cmake/modules -D dispatch_DIR=S:/b/libdispatch/cmake/modules -D LLBuild_DIR=S:/b/llbuild/cmake/modules -G Ninja -S S:\swiftpm
224
- ninja -C S:\b\spm
357
+ cmake -B S:\b\10 ^
358
+ -D BUILD_SHARED_LIBS=YES ^
359
+ -D CMAKE_BUILD_TYPE=Release ^
360
+ -D CMAKE_C_COMPILER=S:/b/1/bin/clang-cl.exe ^
361
+ -D CMAKE_Swift_COMPILER=S:/b/1/bin/swiftc.exe ^
362
+ -D CMAKE_INSTALL_PREFIX=C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr ^
363
+ -D dispatch_DIR=S:\b\2\cmake\modules ^
364
+ -D Foundation_DIR=S:\b\3\cmake\modules ^
365
+ -D TSC_DIR=S:\b\5\cmake\modules ^
366
+ -D LLBuild_DIR=S:\b\6\cmake\modules ^
367
+ -D Yams_DIR=S:\b\7\cmake\modules ^
368
+ -D SwiftDriver_DIR=S:\b\8\cmake\modules ^
369
+ -D ArgumentParser_DIR=S:\b\9\cmake\modules ^
370
+ -G Ninja ^
371
+ -S S:\swift-package-manager
372
+
373
+ ninja -C S:\b\10
225
374
```
226
375
227
376
## Install the Swift toolchain on Windows
0 commit comments