Last week was a busy week on build config for me – we’ve landed the patches to make Thunderbird and SeaMonkey build “libxul” style by default (we used to build most of the files into one static executable).
The big advantage of this change of build style is that we can move ourselves closer to the way Firefox builds, this should reduce maintenance effort for us, as well as allowing access to newer features that require libxul builds e.g. the out-of-process plugins (IPC) work. There’s also build system improvements that we can pick up (e.g. packaged tests for testing what is actually being shipped)
Now for some Q and A…
Are static/shared builds still supported?
Does this mean I can build Thunderbird on top of xulrunner?
Not yet. The method we’re currently doing actually breaks that, but we’re using it as a stop-gap for implementing other ideas that we have. Additionally there is further work to get mailnews compatible with the external xpcom API.
I’m an add-on developer, how does this affect me?
We believe that add-ons should be largely unaffected by this change. The add-ons that may be affected are ones that use binary components – these will now have to link against the external xpcom API. If there are functions that are now not available and suitable replacements can’t be found, please let us know now so that we can work with you to get solutions in place.
I build Thunderbird and/or contribute patches, do I need to change anything in my build?
See this thread for more information on what to change.