canmove, Confirmed users, Bureaucrats and Sysops emeriti
3,627
edits
(Initial version) |
No edit summary |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__TOC__ | |||
libxul is a way of being able to link gecko apps, such that the core of gecko is almost completely within one shared library, "libxul". | libxul is a way of being able to link gecko apps, such that the core of gecko is almost completely within one shared library, "libxul". | ||
Line 50: | Line 52: | ||
* Developers would have to re-build mailnews and re-link libxul to be able to test changes (assuming shared configuration is also not supported). | * Developers would have to re-build mailnews and re-link libxul to be able to test changes (assuming shared configuration is also not supported). | ||
=== Option 3 - Static libxul linked into Thunderbird executable === | |||
This is building core in the libxul style, but then linking it into the Thunderbird executable. Essentially this ends up the same build as what we've got now for static builds. | |||
== The way forward == | |||
Shipping Thunderbird set up as per option 2 seems to be the best way forward. It gives the best balance of future maintainability and retaining performance advantages. | |||
However, it is still unclear if we want (or mozilla-central wants) to support a fully-shared build option. Given that this could get regularly broken anyway, it seems that supporting option 1 for developer use would be the best of both worlds, although there could be a little bit more work/pain. However, the existing use of macros with the frozen API, an upgraded try server and developer documentation would help to reduce the work/pain caused by the two configurations. | |||
So the steps forward would be: | |||
# Implement option 2 to include everything in libxul. | |||
# Switch over production builds from being static to being libxul based, still supporting shared builds. | |||
# (depending on what is likely to happen for shared builds) Finish work on the frozen API and fix any outstanding issues. | |||
# (depending on what is likely to happen for shared builds) Support option 1 for developers, potentially dropping fully-shared build support depending on mozilla-central. | |||
== Tracking bugs == | |||
* {{bug|585947}} - Main tracking bug for libxul in Thunderbird work | |||
=== Other related bugs === | |||
* {{bug|432162}} - Can't Build mailnews with libxul or XULRunner | |||
* {{bug|306324}} - Build/run Thunderbird on top of XULRunner ([https://bugzilla.mozilla.org/showdependencytree.cgi?id=306324&hide_resolved=1 dependency tree]) | |||
** This is not a requirement for libxul (and not a current aim for Thunderbird), however the dependences are mainly required for option 1. |