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

Reply via email to