There is no build script for MSVC on Windows. Some problems that need to be solved:
❌ build-script.sh is interpreted with Bash and doesn't work natively on Windows.
❌ cmake output for clang has some problems.
To compile the compiler source, clang.exe or clang-cl.exe should be used. The CMake generator option -G "Visual Studio 14 2015 Win64" created many *.vcxproj files with unwanted options. They are unknown options such as -w14062 /Zc:inline /EHs-c- and -fms-compatibility. Currently a bash script running on Cygwin is used to patch .vcxproj files (see attachment), but the build process should be performed without this post-processing.
❌ The command line is trimmed if it is over 8192 bytes.
The limited command line buffer size was problem when compiling Swift.obj. When generating Swift.obj, the line-directive script is used with full path list of stdlib/public/core/*.swift. It was nearly 15KB size.
The text was updated successfully, but these errors were encountered:
I quote a swift committer said about this,
'-fms-extension should be fine, since that enables purely additive MSVC features, whereas -fms-compatibility causes Clang to deliberately emulate MSVC bugs. We'd prefer not to have to deal with the latter.'
Second point is fixed - we don't include certain compiler/linker arguments with MSVC or clang-cl
Third point is fixed - we work around this by using response files
Attachment: Download
Additional Detail from JIRA
md5: c2969f9f4900e59969d5d0cc93513ed5
is duplicated by:
relates to:
Issue Description:
There is no build script for MSVC on Windows. Some problems that need to be solved:
-w14062 /Zc:inline /EHs-c-
and-fms-compatibility
. Currently a bash script running on Cygwin is used to patch .vcxproj files (see attachment), but the build process should be performed without this post-processing.The text was updated successfully, but these errors were encountered: