Print This Page

What?

mozlib or llmozlib is a library designed to work with the mozilla xulrunner components to create an interface to allow the easy embedding of mozilla in other applications or even onto OpenGL surfaces.

Its primary goal was to introduce web-on-a-prim into secondlife, but is more generally useful for embedding.

The upstream version of the library is maintained by Linden Labs and can be found here

Why fork?

The upstream version uses its own private build of mozilla + some patches and does not have a build environment. This version will build against xulrunner packages found on many linux distributions, has a sane linux build system (autotools) and generates a shared library that has all dependencies it requires (it does not require the calling application to link against various (private,static) librarys that only mozlib uses).

The upstream version requires the application linking against mozlib to statically link and also to link against the various mozilla components, including a mozilla private static library.

The plan here is to provide a fork that distro packagers can use as a basis of there packaging.

So why does upstream do this?

Well to get 100% of things working the way they should, it is necessary to patch mozilla a little to handle some displaying of UI elements, including combo boxes and also to provide some additional callbacks/interfaces.

So whats broken here then?

Well i'm not really sure, drop down combo boxes seem to not quire appear in the correct position but I have not really noticed any other bad behavior when using the system provided xulrunner.

Scroll bars, refresh is based on keyboard or mouse input. No way to hook refresh events as javascript changes with out using a patched xulrunner

Does not work with xulrunner-1.9, although i would love to know if this is possible!

Whats the plan?

I'm going to try to follow upstreams interface the best i can, i will do my best to bump sonames as appropriate but expect breakage at this stage if you use this library, things could suddenly change. I hope it doesn't go too mad but I am sure you can cope with it!

As things basicly work, it would be nice if upstream go and make huge changes prehapse to patch secondlife to use this interface here, its all a but unknown at this stage!

Tarball source release

llmozlib2-0.0.3.tar.gz (5-Sep-2008)

llmozlib-0.0.1.tar.gz

SVN

Latest code can be found in svn :-

svn co svn://slupdate.byteme.org.uk/llmozlib/libllmozlib/trunk

You get a *free* debian directory with every checkout, if you are not on debian, don't worry about it :-), if you are on debian, you can use it to build a .deb of the code.

Build

Of cause you need various xulrunner packages installed, have a look in debian/control to see the required packages on a debian system, should give you a clue.

If you are then really lucky you will be able to just do

./configure
make
make install  

If you are not so lucky you may need to bootstrap autotools with either :-

autoreconf

or

libtoolize
autoconf
automake 

TODO

  • Clean the build up. the autotools is not quite right and needs a autogen.sh script like most others do.
  • The various next files need updating such as READM, AUTHORS etc


Previous page: meerkat
Next page: QAvimator