On Sun, Dec 13, 2015 at 10:50 AM, Nicholas Nethercote <n.netherc...@gmail.com> wrote: > On Sun, Dec 13, 2015 at 9:17 AM, Cameron Kaiser <ckai...@floodgap.com> wrote: >> >> This would essentially mandate, then, that Gecko can only be built on >> platforms with a Rust toolchain. That may be desirable, but it would >> probably bust some of the obscure Tier-3 platforms and it would definitely >> bust TenFourFox (we can't even get clang to be happy on 10.4 currently). Not >> that we haven't been on borrowed time for awhile; I just point it out for >> the record. > > I've been wondering about this. There's a big difference between (a) > permitting Rust components (while still allowing fallback C++ > equivalents) and (b) mandating Rust components.
I think it doesn't make sense for us to support two MP4 demuxers, two URL parsers, two encoding conversion libraries, etc. Once we put Rust code into Gecko, I think we should commit to that code being a real part of Gecko, and ports need to deal. https://github.com/servo/servo/wiki/Building-for-Android suggests that Android will be OK. For tier-1, I think the questions are XP, Snow Leopard and Windows & Linux on CPUs without SSE2, but my understanding is that all of these can already be supported by custom builds of rustc (and if not, it wouldn't be unreasonable to drop some of those three to get to the Rust future, IMO). As for tier-3, a quick search indicates that rustc has already been bootstrapped on (x86ish?) FreeBSD and OpenBSD. Wikipedia says that LLVM supports MIPS, PowerPC, SPARC and Z/Architecture. It looks like Debian has dropped 68K. So it should be feasible for *BSD and non-mainstream CPU arch versions of Debian to come along. Maybe there is rustc porting work to be done, but I think people who want these platforms to be supported internalize the cost of supporting them instead of expecting Gecko to stop progressing because of them. Firefox 45 will be ESR. I think it's reasonable to make Rust a Gecko build requirement after 45 and let tier-3 platforms use the ESR cycle to get rustc/LLVM up and running where it's not up and running already. -- Henri Sivonen hsivo...@hsivonen.fi https://hsivonen.fi/ _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform