Forest Expertise
macrumors regular
Thank you for the kind words. I am aware that PowerFox likely has many warnings unrelated to platform, which is why I presented 1509 as the upper limit. More accurately, if someone wanted to build from source and then compare their log with mine (attached), we could figure out how many are due to targeting Tiger. This might speed the process of porting the browser to Tiger vs just fixing things that cause runtime crashes.Warnings showing up doesn’t necessarily indicate anything in relation to platform. Most large projects have several hundred warnings about code usage in various levels. I wouldn’t think about this problem in terms of “how many problems will I have to solve” and instead think “how complex are the problems I will have to solve”
Just as a fair heads up - this is a pretty large undertaking you’re talking about and as you go through the runtime crashes you will find it increasingly difficult to continue building without disabling large parts of the browser or writing entirely new modules that can work with 10.4 system APIs. It’s not just one or two parts of the codebase that need to be adapted.
Getting into PPC development, I initially tried to support Tiger as a default but it is just too old and has too many POSIX compliance issues to reliably develop for. Expect to chase down race conditions in the threading system and to run into crashes stemming from kernel bugs rather than anything you can fix yourself.
Not saying any of this to discourage you - I think what you’re doing with Tiger is a noble effort. Building any software on PPC is high effort, low reward, but PowerFox on 10.4 seems masochistic.
One major advantage to porting PowerFox over some other projects to Tiger is that Aquafox is known to work on Tiger, and the structure of the code is similar, as they forked from the same code base. Instead of writing modules from scratch, I plan to first try substituting the Aquafox code that is known to work on 10.4. If I am not mistaken, this is one of the strategies used in porting the UXP codebase to Leopard PowerPC, though I am sure with more elegance than I will manage.
I did have a crash on launch related to the CoreUI framework, which does not exist on Tiger. Luckily, it appears to only be used in nsNativeThemeCocoa.mm and linked in the corresponding moz.build
I plan on swapping in the nsNativeThemeCocoa.mm from Aquafox and removing the link in the moz.build
If I am very lucky, I will get a different crash on launch!