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

Reply via email to