Hello swift developers [and users],
I've been working on the Windows port of swift for a while now. A little bit late for Chistmas, but, they do say better late than never .
I've setup a build for swift on Windows (x64) on Azure (pipelines). It is pretty crude, but a starting point none-the-less. I have it configured to build once a night at 0h00 PST (UTC-8), so we should have some attempt of nightlies for Windows! This has sufficient bits built and packaged to be semi-usable (I would like to add lld and possibly integrate VS Code integration bits too). It should have most of the tools as built by llvm (e.g. llvm-mt
) including clang
! I have the pipelines configuration available on GitHub if someone else wants to replicate it.
I am currently using the free tier, so the build is pretty slow and adding the test run might exceed the time permitted. I hope that the nightlies are useful to people who wish to try to use this as people had expressed interest in this as well as the concern of the barrier to entry that building posed.
Help is certainly welcome and appreciated. There is a lot to be done still, but this at least gets a stake in the ground!
As a status update, I am waiting for the tree to be unlocked for draining a large queue of patches for improving windows support and fixing various bugs.
My local test runs show ~220 failures still (~3400 passing tests). There are 6 failures in the standard library, 6 in the interpreter, and the rest are scattered throughout. I've been trying to get the test suite fully passing, but it is a lot of work for a single person, and I am trying to work across the entire project.
I do have libdispatch ported to Windows, along with the SDK overlay. A hello world libdispatch program works on Windows. There are no external dependencies now for libdispatch (everything comes from either the Windows SDK or LLVM, clang, or swift).
I have CoreFoundation ported to Windows (barring two patches). Similar to libdispatch, it is clear of dependencies (everything is part of the Windows SDK, LLVM, clang, swift, and libdispatch). I have a work in progress patch that has a snapshot of what my work to port Foundation to Windows.
Happy holidays!
CC @Torust @pvieito @tkremenek @Chris_Lattner3 @Michael_Gottesman @bgogul @Karl @blangmuir @akyrtzi