On 2016-09-08 1:32 PM, Lars Bergstrom wrote: > On Thu, Sep 8, 2016 at 11:01 AM, Gregory Szorc <g...@mozilla.com> wrote: >> >> I would favor going the Clang route for supporting building with OSS on >> Windows. MinGW for better or worse is not just a toolchain: it's a mini >> UNIX install on your machine. From my experience, all that extra surface >> area just introduces heaps of problems and headaches for build system >> maintainers. > > In your opinion, does also building with Clang in Windows "just work?" > Should we add an additional builder configuration? If so, should we > also run (possibly some subset) of the tests on it? I'm generally of > the pessimistic opinion that nothing we tests will continue to work, > but I have zero experience with that codepath.
clang-cl <http://clang.llvm.org/docs/MSVCCompatibility.html> which is clang's MSVC compatible driver aims to be a drop-in replacement for cl.exe, so in theory if you do the equivalent of export CC=clang-cl CXX=clang-cl| you should build Servo successfully unless if you run into clang-cl bugs. These days clang-cl is mature enough that it may even work out of the box. However, especially with larger code bases, there's always going to be the possibility of something breaking clang-cl builds but not MSVC builds, so if the goal is to keep clang-cl builds working, you'd want to do them on the CI. That all being said, clang-cl actually doesn't enable a free software toolchain on Windows. clang-cl relies on an existing MSVC installation for tools such as the linker, the resource compiler, SDK and MSVCRT head and libraries, and so on. While the LLVM project is also working on a linker replacement (lld), the rest of this toolchain will remain non-free. I'm not aware of any ongoing effort on the free toolchain on Windows problem unfortunately. _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo