Over the past few weeks I’ve been attempting to get Firefox to compile on my WinXP machine with no success. I’m a student, so my resources are limited; consequently, up until a few days ago I was using MinGW/cygwin for builds.
Now, MinGW and cygwin are a good start, but they have one obvious disadvantage — anything compiled with this system is binary-incompatible with pretty much all other binary plugins and extensions you might wish to run. Therefore, because Java is not binary-compatible with MinGW/cygwin builds, it won’t run on such builds. This is obviously rather annoying, and because most other builders use MS VC++, this restricts your build’s use. There are plenty of good builds produced with MS VC++, so what’s the point in testing your build (other than to test a patch) if an MSVC++ build is faster and will work with compiled plugins?
As of a few days ago, that’s all changed.
Microsoft, as a benevolent company bent on world domination, has released its VC++ compiler to the public. This isn’t a stripped-down compiler, either — it’s the exact same one as in MS VC .NET. It would appear they are trying to get more applications built for Windows by making app creation easier. Whatever the reason, tho, this now makes it possible to create binary-compatible Firefox builds with only a few small adjustments! After some initial frustration, TierMann on the Mozillazine forums got it working. With a little work I got everything set up and started working.
The build progressed merrily after a slight stop while I added a missing path to INCLUDE for
--enable-accessibility. Then I hit this:
Frustrating, isn’t it? I’d encountered this before with MinGW/cygwin, and I’d also filed a bug at the same time: cygwin environment build failure at ‘ecl-exp.h’. There’s been some work in the bug to discover the source of the problem and a fix, but it’ll probably be a while before it’s fixed. Anyone out there want to help for fun?