Hi Dan,
Dan Kegel wrote:
While one doesn't really need to build the apps under Wine to run their test suites, it's a pain to have to compile them on one system and ship them over to another. And supporting building might have a nice benefit: if it's easy to develop for Windows on Wine, more Windows developers might bother to test their apps on Wine. So I think it's worth the extra effort.
While I agree with this arguments, I think Wine would benefit more from compiling using MinGW in case of Firefox. It would test code of Wine Gecko package, which would be great. Obviously MSVC compilation would also test this code, but the nearer build config would be, the better. There are instructions about how to get it compiled on the Wiki: http://wiki.winehq.org/BuildingWineGecko Using wine/mozconfig-browser from Wine Gecko source would be a good start (it builds Firefox debug version). Unfortunately this compilation is quite complicated. I will use a chance to write about it here.
- We need a patched version of Mozilla These patches are in Wine Gecko source and some of them are already in Mozilla repository. Newer Mozilla version requires however another patches. I'd put them in a Git repository, but repo.or.cz doesn't seem to work lately. I think I should use another hosting server, any suggestions?
- We have to use an old 3.4.6 version. This is due to a bug in GCC: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9381 It's not only ugly to use an old compiler, but also we need some patches to the code to make it work. That's currently the most serious problem.
- MinGW importlibs and includes are not good enough. And worse, their developers don't seem to care. My bug report had no response and AFAIK I'm not allowed to send them a patch: http://sourceforge.net/tracker/?func=detail&atid=102435&aid=2824763&... so I didn't bother to file another bug reports. I think we should consider using Wine includes and import libs as we do for tests cross compiling.
- MinGW build is not officially supported, so it often regresses. Some changes in the code like https://bugzilla.mozilla.org/show_bug.cgi?id=324842 will help a bit to avoid problems. Also Mozilla developers are willing to setup automated tests for Linux MinGW builds (for other reasons than I'd like to see it, but it doesn't matter). See https://bugzilla.mozilla.org/show_bug.cgi?id=421095 That would avoid compilation regressions, but GCC bug needs to be fixed first.
I ran only a few Mozilla tests myself and fixed the problem I've found, so I don't know how far are we from passing their units tests.
Thanks, Jacek