On Thu, Sep 8, 2016 at 10:32 AM, Lars Bergstrom <larsb...@mozilla.com> 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. > I can't speak for Servo. For Firefox, my understanding is Clang on Windows is still a work in progress - bug 752004 tracks. Apparently we passed the "it builds Firefox" milestone yesterday. That's a bit different from "gotten it to run correctly." My understanding is ehsan and jrmuizel are driving efforts. We obviously want to support building with Clang on Windows so we can get ASAN, TSAN, etc. And if Clang's performance ever caught up or came near to MSVC's PGO performance, we'd be seriously tempted to ship a Firefox built with Clang. While Clang has a path forward on Windows, MinGW does not. I don't see Firefox formally supporting MinGW as a Tier-1 platform unless there is a major change that would make it compelling. > > > Of course, you still require msys2 (a MinGW distribution) to build. But > > removing MinGW from the equation is still a win given its complexities. > > Yes, certainly, and Vlad has done a great job of packaging up the > little bit that is required for SpiderMonkey (from mozillabuild.exe) > into something that we can kinda hide from the developer, since the > vast majority of people will never need to tweak that code. TBH, if SM > were available as a prebuilt static lib, we'd probably consider just > using that in the Servo build in order to save a bunch of build time > and avoid the msys2 dependency. > This is almost certainly doable from the perspective of Firefox's automation making those bits available as a side-effect of builds. The bigger question is whether we should support that. If SM and Servo agree to do things that way, the Firefox build system / automation can make it happen. FWIW, the msys2 dependency does add some nice things, like a better terminal emulator. cmd.exe is still awful. But being able to build in a cmd.exe terminal without any UNIX ported executables is a huge win for maintainability. I hope we can get there with Firefox someday. _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo