There was small mistake. Wrong: set swift_source_dir=c:\swift Correct: set swift_source_dir=c:/swift
Thanks, Kazuki 2017-12-19 2:00 GMT+09:00 Kazuki Ohara via swift-dev <swift-dev@swift.org>: > Hi Eric, > > > Do you mind elaborating on how you got it built with MSVC? > > Sure. I succeeded to build LLVM, clang and Swift compiler with the tag of > swift-4.0.2-RELEASE. > LLVM and clang seem to work okay and Swift compiler can compile swift > sources but the generated exectables crash. > Here's my procedure. This is based on https://github.com/apple/ > swift/blob/master/docs/Windows.md. > > # Prerequisite > > * Visaul Stduio 2017 > * CMake > * ninja > * Python 2.7 (not Python 3) > * Git for Windows > Append Cmake, ninja, Python 2.7 and git to your PATH. > > I assume your working direcotry is C:\swift. > > # ICU > > Download http://download.icu-project.org/files/icu4c/60.2/icu4c-60_ > 2-src.zip and extract to C:\swift\icu. > Open C:\swift\icu\source\allinone.sln with Visual Studio. > This file is for Visaul Stduio 2015, so we need convert the project files > to use Visual Studio 2017's toolchian. > Right click 'allinone' solution in Solution Explorer and select 'Re-target > the solution'. > (I'm not using the English version of Visual Stduio, so the actual > representation may differ.) > Then change the configuration to Release, x64 and build it. > > # Checkout sources > > Open x64 Native Tools Command Prompt of Visual Studio 2017, checkout the > repositories and apply the attached patches with this mail. > > VsDevCmd -arch=amd64 > set swift_source_dir=c:\swift > cd \ > mkdir swift > cd swift > > git clone https://github.com/apple/swift-cmark.git > mv swift-cmark cmark > git checkout swift-4.0.2-RELEASE > cd .. > > git clone https://github.com/apple/swift.git > cd swift > git checkout swift-4.0.2-RELEASE > patch -p1 < swift.patch > cd .. > > git clone https://github.com/apple/swift-clang.git > move swift-clang clang > cd clang > git checkout swift-4.0.2-RELEASE > patch -p1 < clang.patch > cd .. > > git clone https://github.com/apple/swift-compiler-rt.git > move swift-compiler-rt compiler-rt > cd compiler-rt > git checkout swift-4.0.2-RELEASE > patch -p1 < compiler-rt.patch > cd .. > > git clone https://github.com/apple/swift-llvm.git > move swift-llvm llvm > cd llvm > git checkout swift-4.0.2-RELEASE > patch -p1 < llvm.patch > cd .. > > mklink /J "%swift_source_dir%/llvm/tools/clang" "%swift_source_dir%/clang" > mklink /J "%swift_source_dir%/llvm/tools/compiler-rt" > "%swift_source_dir%/compiler-rt" > > # Build cmark > > mkdir "%swift_source_dir%/build/Ninja-RelWithDebInfo/cmark-windows-amd64" > pushd "%swift_source_dir%/build/Ninja-RelWithDebInfo/cmark-windows-amd64" > cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo > "%swift_source_dir%/cmark" > popd > cmake --build > "%swift_source_dir%/build/Ninja-RelWithDebInfo/cmark-windows-amd64/" > -- -v > > # Build LLVM/clang/compiler-rt > > mkdir "%swift_source_dir%/build/Ninja-RelWithDebInfo/llvm-windows-amd64" > pushd "%swift_source_dir%/build/Ninja-RelWithDebInfo/llvm-windows-amd64" > cmake -G "Ninja"^ > -DCMAKE_BUILD_TYPE=RelWithDebInfo^ > -DLLVM_ENABLE_ASSERTIONS=TRUE^ > -DLLVM_TOOL_COMPILER_RT_BUILD=TRUE^ > -DLLVM_BUILD_EXTERNAL_COMPILER_RT=TRUE^ > -DCMAKE_C_FLAGS="/bigobj /DCRT_HAS_128BIT"^ > -DCMAKE_CXX_FLAGS="/bigobj /DCRT_HAS_128BIT" ^ > "%swift_source_dir%/llvm" > popd > cmake --build > "%swift_source_dir%/build/Ninja-RelWithDebInfo/llvm-windows-amd64" > -- -v > > # Build swift > > xcopy /s /i "%VCToolsInstallDir%\include" "%swift_source_dir%\build\ > Ninja-RelWithDebInfo\modules\visualc" > copy "%swift_source_dir%\swift\stdlib\public\Platform\visualc.modulemap" > "%swift_source_dir%\build\Ninja-RelWithDebInfo\modules\ > visualc\module.modulemap" > xcopy /s /i "%UniversalCRTSdkDir%\Include\%UCRTVersion%\ucrt" > "%swift_source_dir%\build\Ninja-RelWithDebInfo\modules\ucrt" > copy "%swift_source_dir%\swift\stdlib\public\Platform\ucrt.modulemap" > "%swift_source_dir%\build\Ninja-RelWithDebInfo\modules\ > ucrt\module.modulemap" > > mkdir "%swift_source_dir%/build/Ninja-RelWithDebInfo/swift-windows-amd64" > pushd "%swift_source_dir%/build/Ninja-RelWithDebInfo/swift-windows-amd64" > cmake -G "Ninja"^ > -DCMAKE_BUILD_TYPE=RelWithDebInfo^ > -DCMAKE_C_COMPILER="%swift_source_dir%/build/Ninja- > RelWithDebInfo/llvm-windows-amd64/bin/clang-cl.exe"^ > -DCMAKE_C_FLAGS="-fms-compatibility-version=19.00 /Z7"^ > -DCMAKE_CXX_COMPILER="%swift_source_dir%/build/Ninja- > RelWithDebInfo/llvm-windows-amd64/bin/clang-cl.exe"^ > -DCMAKE_CXX_FLAGS="-fms-compatibility-version=19.00 /Z7"^ > -DSWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER=FALSE^ > -DSWIFT_INCLUDE_DOCS=FALSE^ > -DSWIFT_INCLUDE_TESTS=FALSE^ > -DSWIFT_PATH_TO_CMARK_SOURCE="%swift_source_dir%/cmark"^ > -DSWIFT_PATH_TO_CMARK_BUILD="%swift_source_dir%/build/ > Ninja-RelWithDebInfo/cmark-windows-amd64"^ > -DSWIFT_CMARK_LIBRARY_DIR="%swift_source_dir%/build/Ninja- > RelWithDebInfo/cmark-windows-amd64/src"^ > -DSWIFT_PATH_TO_LLVM_SOURCE="%swift_source_dir%/llvm"^ > -DSWIFT_PATH_TO_LLVM_BUILD="%swift_source_dir%/build/Ninja- > RelWithDebInfo/llvm-windows-amd64"^ > -DSWIFT_PATH_TO_CLANG_SOURCE="%swift_source_dir%/llvm/tools/clang"^ > -DSWIFT_PATH_TO_CLANG_BUILD="%swift_source_dir%/build/ > Ninja-RelWithDebInfo/llvm-windows-amd64"^ > -DSWIFT_RUNTIME_SWIFT_LINK_FLAGS="%swift_source_dir%/ > build/Ninja-RelWithDebInfo/llvm-windows-amd64/lib/clang/ > 4.0.0/lib/windows/clang_rt.builtins-x86_64.lib"^ > -DSWIFT_EXPERIMENTAL_EXTRA_REGEXP_FLAGS="(MSVCRT| > SwiftPrivateLibcExtras);-I%swift_source_dir%/build/Ninja- > RelWithDebInfo/modules/visualc;(MSVCRT|SwiftPrivateLibcExtras);-I% > swift_source_dir%/build/Ninja-RelWithDebInfo/modules/ucrt"^ > -DICU_UC_LIB_NAME="icuuc"^ > -DICU_UC_LIBRARY_DIRS="%swift_source_dir%/icu/lib64"^ > -DICU_UC_INCLUDE_DIRS="%swift_source_dir%/icu/include"^ > -DICU_I18N_LIB_NAME="icuin"^ > -DICU_I18N_LIBRARY_DIRS="%swift_source_dir%/icu/lib64"^ > -DICU_I18N_INCLUDE_DIRS="%swift_source_dir%/icu/include"^ > "%swift_source_dir%/swift" > popd > cmake --build > "%swift_source_dir%/build/Ninja-RelWithDebInfo/swift-windows-amd64" > -- -v > > I hope your success! > > Kazuki > > 2017-12-18 10:18 GMT+09:00 Eric Wing <ewmail...@gmail.com>: > >> On 12/14/17, Kazuki Ohara via swift-dev <swift-dev@swift.org> wrote: >> > Hi, >> > >> > I'm interested in running Swift on Windows. >> > >> > I found the document to build the Swift compiler for Windows ( >> > https://github.com/apple/swift/blob/master/docs/Windows.md) and tried >> it. >> > I managed to build it with MSVC, but the resulting compiler could not >> > generate executables run properly. >> > (The executables seem to crash during initializing Swift's runtime >> > systems.) >> > >> > Are there someone who can build the compiler works properly on Windows >> with >> > master branch or at least 4.x branches? >> > I found https://github.com/tinysun212/swift-windows, but this seems to >> be >> > on 3.x branch. >> > >> > Thank you, >> > Kazuki Ohara >> > >> >> Do you mind elaborating on how you got it built with MSVC? I posted >> like a month ago to the Swift list that I was unable to even get past >> building the LLVM stage due to compile errors. >> >> Thanks, >> Eric >> > > > _______________________________________________ > swift-dev mailing list > swift-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-dev > >
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev