On Thu, Oct 23, 2008 at 2:06 AM, John Tamplin <[EMAIL PROTECTED]> wrote:

> On Thu, Oct 23, 2008 at 12:22 AM, Sam Gross <[EMAIL PROTECTED]> wrote:
>
>> I've been working on trying to create a version of oophm-xpcom.xpi that
>> runs in both Firefox 2 and Firefox 3.  I also modified some of the makefiles
>> in an attempt at getting rid of the separate makefiles for each platform.
>>
>
> Great!
>
>
>> Here's what's working:
>>
>>    - OOPHM runs in Firefox 2 & 3 in Linux and Mac
>>    - Firefox 2 + 3 on Mac can run the same oophm-xpcom.xpi file
>>    - The makefile builds against gecko 1.8 and gecko 1.9
>>    - I trimmed downs the SDKs so that it's ~3 MB for Linux + Mac (x86 +
>>    ppc)
>>
>> Here's what's not working:
>>
>>    - On Linux, the liboophm.so for Firefox 2 crashes Firefox 3 and vice
>>    versa
>>
>> I realized that most of the libraries that we need to link against are
>> always present in the Firefox distribution.  This seems more pleasant than
>> having to distribute hundreds of megabytes of libraries to build OOPHM.
>>
>
> In the past, we have wanted to include the files we need to build so
> someone can guarantee getting exactly the same bits we distribute.  The
> downside is it makes the checkout larger and can run into platform
> compatibility issues, and we aren't going to ship libraries for all the
> possible FireFox platforms anyway.
>

I think even if we stripped out the unecessary header and idl files, the
libraries to compile OOPHM on the major platforms would be at least 200 Mb.
 Since few people will want to rebuild the plugin - and almost everyone has
Firefox installed - it doesn't seem worthwhile to put full Gecko SDKs in the
tools directory.


> To build OOPHM on Linux if you Firefox installation is at
>> /opt/local/firefox (default is /usr/lib/firefox):
>> cd plugins/xpcom
>>  make FIREFOX_LIBS=/opt/local/firefox
>>
>
> Does this only need the regular Firefox distribution, or are additional
> files needed?
>

Only the regular Firefox distribution.  The file gecko-sdks.tar.gz (attached
to the previous email) contains the required headers and libraries that
aren't included in the regular Firefox distribution.  We will probably want
to commit these files to tools/ at some point.


> To build only the Firefox 2 libraries:
>> cd plugins/xpcom
>> make lib BROWSER=ff2
>> make xpi
>>
>> I'm not sure what's causing the crashes cross-version crashes on Linux.  I
>> used the technique that Gears uses to prevent Firefox from loading
>> cross-version libraries, which seems to work on Mac.  On Linux, Firefox 3
>> crashes when executing ~nsCOMPtr_base and Firefox 2 crashes while checking
>> the browser's version.
>>
>
> It wouldn't be ideal, but I don't think it would be the end of the world to
> have two different XPIs, each of which list the versions they are compatible
> with.
>

That's probably best for the merge with trunk.

 -Sam

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to