Skip to content

Commit 1199ecc

Browse files
authored
Merge pull request swiftlang#31387 from apple/compnerd-windows-build-instructions
Update WindowsBuild.md
2 parents 59de518 + cfb9863 commit 1199ecc

File tree

1 file changed

+34
-29
lines changed

1 file changed

+34
-29
lines changed

docs/WindowsBuild.md

Lines changed: 34 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ The following [link](https://docs.microsoft.com/visualstudio/install/workload-co
2020
In the Visual Studio installation program, under *Individual Components*
2121

2222
1. Install *Python 2*, either the 32-bit version (C:\Python27\\) or the 64-bit version (C:\Python27amd64\\)
23+
24+
> If you install the 64-bit version only, you will need to adjust `PYTHON_EXECUTABLE` below to `C:\Python27amd64\python.exe`
25+
2326
2. Install *Python 3 64 bits (3.7.x)*
2427

2528
If you are building a debug version of Swift, you should also install the Python debug binaries.
@@ -49,12 +52,12 @@ S:
4952
git clone https://github.com/apple/llvm-project --branch swift/master toolchain
5053
git clone -c core.autocrlf=input -c core.symlinks=true https://github.com/apple/swift toolchain/swift
5154
git clone https://github.com/apple/swift-cmark toolchain/cmark
52-
git clone https://github.com/apple/swift-corelibs-libdispatch toolchain/swift-corelibs-libdispatch
53-
git clone https://github.com/apple/swift-corelibs-foundation toolchain/swift-corelibs-foundation
54-
git clone https://github.com/apple/swift-corelibs-xctest toolchain/swift-corelibs-xctest
55-
git clone https://github.com/apple/swift-llbuild toolchain/llbuild
56-
git clone https://github.com/apple/swift-tools-support-core toolchain/swift-tools-support-core
57-
git clone -c core.autocrlf=input https://github.com/apple/swift-package-manager toolchain/swiftpm
55+
git clone https://github.com/apple/swift-corelibs-libdispatch swift-corelibs-libdispatch
56+
git clone https://github.com/apple/swift-corelibs-foundation swift-corelibs-foundation
57+
git clone https://github.com/apple/swift-corelibs-xctest swift-corelibs-xctest
58+
git clone https://github.com/apple/swift-llbuild llbuild
59+
git clone https://github.com/apple/swift-tools-support-core swift-tools-support-core
60+
git clone -c core.autocrlf=input https://github.com/apple/swift-package-manager swiftpm
5861
git clone https://github.com/compnerd/swift-build swift-build
5962
```
6063

@@ -107,24 +110,26 @@ Warning: Creating the above links usually requires administrator privileges. The
107110

108111
```cmd
109112
md "S:\b\toolchain"
110-
cmake -B "S:\b\toolchain" -G Ninja -S S:\toolchain\llvm ^
113+
cmake -B "S:\b\toolchain" ^
111114
-C S:\swift-build\cmake\caches\windows-x86_64.cmake ^
112115
-C S:\swift-build\cmake\caches\org.compnerd.dt.cmake ^
113-
-DLLVM_ENABLE_ASSERTIONS=YES ^
114-
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;cmark;swift;lldb;lld" ^
115-
-DLLVM_EXTERNAL_PROJECTS="cmark;swift" ^
116-
-DSWIFT_PATH_TO_LIBDISPATCH_SOURCE=S:\toolchain\swift-corelibs-libdispatch ^
117-
-DLLVM_ENABLE_PDB=YES ^
118-
-DLLVM_ENABLE_LIBEDIT=NO ^
119-
-DLLDB_ENABLE_PYTHON=NO ^
120-
-DSWIFT_WINDOWS_x86_64_ICU_UC_INCLUDE="S:/Library/icu-64/usr/include" ^
121-
-DSWIFT_WINDOWS_x86_64_ICU_UC="S:/Library/icu-64/usr/lib/icuuc64.lib" ^
122-
-DSWIFT_WINDOWS_x86_64_ICU_I18N_INCLUDE="S:/Library/icu-64/usr/include" ^
123-
-DSWIFT_WINDOWS_x86_64_ICU_I18N="S:/Library/icu-64/usr/lib/icuin64.lib" ^
124-
-DCMAKE_INSTALL_PREFIX="C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr" ^
125-
-DPYTHON_EXECUTABLE=C:\Python27\python.exe ^
126-
-DSWIFT_BUILD_DYNAMIC_STDLIB=YES ^
127-
-DSWIFT_BUILD_DYNAMIC_SDK_OVERLAY=YES
116+
-D LLVM_ENABLE_ASSERTIONS=YES ^
117+
-D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra;cmark;swift;lldb;lld" ^
118+
-D LLVM_EXTERNAL_PROJECTS="cmark;swift" ^
119+
-D SWIFT_PATH_TO_LIBDISPATCH_SOURCE=S:\swift-corelibs-libdispatch ^
120+
-D LLVM_ENABLE_PDB=YES ^
121+
-D LLVM_ENABLE_LIBEDIT=NO ^
122+
-D LLDB_ENABLE_PYTHON=YES ^
123+
-D SWIFT_WINDOWS_x86_64_ICU_UC_INCLUDE="S:/Library/icu-64/usr/include" ^
124+
-D SWIFT_WINDOWS_x86_64_ICU_UC="S:/Library/icu-64/usr/lib/icuuc64.lib" ^
125+
-D SWIFT_WINDOWS_x86_64_ICU_I18N_INCLUDE="S:/Library/icu-64/usr/include" ^
126+
-D SWIFT_WINDOWS_x86_64_ICU_I18N="S:/Library/icu-64/usr/lib/icuin64.lib" ^
127+
-D CMAKE_INSTALL_PREFIX="C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr" ^
128+
-D PYTHON_EXECUTABLE=C:\Python27\python.exe ^
129+
-D SWIFT_BUILD_DYNAMIC_STDLIB=YES ^
130+
-D SWIFT_BUILD_DYNAMIC_SDK_OVERLAY=YES ^
131+
-G Ninja ^
132+
-S S:\toolchain\llvm
128133
129134
ninja -C S:\b\toolchain
130135
```
@@ -139,7 +144,7 @@ ninja -C S:\b\toolchain check-swift
139144
## Build swift-corelibs-libdispatch
140145

141146
```cmd
142-
cmake -B S:\b\libdispatch -G Ninja -S S:\toolchain\swift-corelibs-libdispatch -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=S:/b/toolchain/bin/clang-cl.exe -DCMAKE_CXX_COMPILER=S:/b/toolchain/bin/clang-cl.exe -DCMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -DENABLE_SWIFT=YES
147+
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
143148
ninja -C S:\b\libdispatch
144149
```
145150

@@ -152,7 +157,7 @@ ninja -C S:\b\libdispatch check
152157
## Build swift-corelibs-foundation
153158

154159
```cmd
155-
cmake -B S:\b\foundation -G Ninja -S S:\toolchain\swift-corelibs-foundation -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=S:/b/toolchain/clang-cl.exe -DCMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -DCURL_LIBRARY="S:/Library/libcurl-development/usr/lib/libcurl.lib" -DCURL_INCLUDE_DIR="S:/Library/libcurl-development/usr/include" -DICU_ROOT="S:/Library/icu-64" -DICU_INCLUDE_DIR=S:/Library/icu-64/usr/include -DLIBXML2_LIBRARY="S:/Library/libxml2-development/usr/lib/libxml2s.lib" -DLIBXML2_INCLUDE_DIR="S:/Library/libxml2-development/usr/include/libxml2" -DENABLE_TESTING=NO -Ddispatch_DIR=S:/b/libdispatch/cmake/modules
160+
cmake -B S:\b\foundation -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_COMPILER=S:/b/toolchain/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-64" -D ICU_INCLUDE_DIR=S:/Library/icu-64/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
156161
ninja -C S:\b\foundation
157162
```
158163

@@ -165,7 +170,7 @@ path S:\b\foundation\Foundation;%PATH%
165170
## Build swift-corelibs-xctest
166171

167172
```cmd
168-
cmake -B S:\b\xctest -G Ninja -S S:\toolchain\swift-corelibs-xctest -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -Ddispatch_DIR=S:\b\dispatch\cmake\modules -DFoundation_DIR=S:\b\foundation\cmake\modules -DLIT_COMMAND=S:\toolchain\llvm\utils\lit\lit.py -DPYTHON_EXECUTABLE=C:\Python27\python.exe
173+
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 -D PYTHON_EXECUTABLE=C:\Python27\python.exe -G Ninja -S S:\swift-corelibs-xctest
169174
ninja -C S:\b\xctest
170175
```
171176

@@ -184,7 +189,7 @@ ninja -C S:\b\xctest check-xctest
184189
## Rebuild Foundation
185190

186191
```cmd
187-
cmake -B S:\b\foundation -G Ninja -S S:\toolchain\swift-corelibs-foundation -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=S:/b/toolchain/bin/clang-cl.exe -DCMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -DCURL_LIBRARY="S:/Library/libcurl-development/usr/lib/libcurl.lib" -DCURL_INCLUDE_DIR="S:/Library/libcurl-development/usr/include" -DICU_ROOT="S:/Library/icu-64" -DLIBXML2_LIBRARY="S:/Library/libxml2-development/usr/lib/libxml2.lib" -DLIBXML2_INCLUDE_DIR="S:/Library/libxml2-development/usr/include" -DENABLE_TESTING=YES -Ddisptch_DIR=S:/b/libdispatch/cmake/modules -DXCTest_DIR=S:/b/xctest/cmake/modules
192+
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-64" -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 disptch_DIR=S:/b/libdispatch/cmake/modules -D XCTest_DIR=S:/b/xctest/cmake/modules -G Ninja -S S:\swift-corelibs-foundation
188193
ninja -C S:\b\foundation
189194
```
190195

@@ -199,7 +204,7 @@ ninja -C S:\b\foundation test
199204

200205
```cmd
201206
set AR=llvm-ar
202-
cmake -B S:\b\llbuild -G Ninja -S S:\toolchain\llbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER=cl -DCMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -DFoundation_DIR=S:/b/foundation/cmake/modules -Ddispatch_DIR=S:/b/libdispatch/cmake/modules -DSQLite3_INCLUDE_DIR=S:\Library\sqlite-3.28.0\usr\include -DSQLite3_LIBRARY=S:\Library\sqlite-3.28.0\usr\lib\sqlite3.lib -DLLBUILD_SUPPORT_BINDINGS=Swift
207+
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
203208
ninja -C S:\b\llbuild
204209
```
205210

@@ -212,14 +217,14 @@ path S:\b\llbuild\bin;%PATH%
212217
## Build swift-tools-core-support
213218

214219
```cmd
215-
cmake -B S:\b\tsc -G Ninja -S S:\toolchain\swift-tools-support-core -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=cl -DCMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -DFoundation_DIR=S:/b/foundation/cmake/modules -Ddispatch_DIR=S:/b/libdispatch/cmake/modules
220+
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
216221
ninja -C S:\b\tsc
217222
```
218223

219224
## Build swift-package-manager
220225

221226
```cmd
222-
cmake -B S:\b\spm -G Ninja -S S:\toolchain\swiftpm -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=S:/b/toolchain/bin/clang-cl.exe -DCMAKE_CXX_COMPILER=S:/b/toolchain/bin/clang-cl.exe -DCMAKE_Swift_COMPILER=S:/b/toolchain/bin/swiftc.exe -DUSE_VENDORED_TSC=YES -DFoundation_DIR=S:/b/foundation/cmake/modules -Ddispatch_DIR=S:/b/libdispatch/cmake/modules -DLLBuild_DIR=S:/b/llbuild/cmake/modules
227+
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
223228
ninja -C S:\b\spm
224229
```
225230

0 commit comments

Comments
 (0)