mozdev.org

sdk

resources:
What's New
  • News item goes here
  • More news item goes here
  • mozdev.org
Other Stuff
  • stuff goes here
  • more stuff goes here

Mozilla Extension SDK

The mozilla extension project tries to provide tools and documentation for making the life of extension developers easier.

Mozilla Extension Categories

In general mozilla extensions can be split into two main categories:

  1. Extensions that only contain architecture independent code, like .xul, .js files. The code-base of these extensions is typically easy to maintain and releases are well manageable without a sophisticated build system.
  2. Extensions that need to build architecture depend (shared-)libraries in order to add some sophisticated services to mozilla applications. Currently, these extensions carry a heavy burden: They must ensure that their build system works properly in a cross-platform manner. To achieve this, the currently only applicable solution is to build the extension embedded to the mozilla source tree.

The Problem

A good example for such a category two extension is the popular enigmail extension. According to the enigmail build instructions you should build it from within at least a partially mozilla source tree. This is a problem mainly for package maintainers and when building enigmail for multiple mozilla applications. Enigmail for example supports thunderbird and mozilla-mailnews. Thus, an enigmail package maintainer needs two full mozilla source trees installed in order to build the relative small extension source for two mozilla applications. This makes relatively small sized extensions like enigmail a heavyweight source package.

The Solution

To solve this problem, the mozilla extension SDK provides extension developers with tools that allow to maintain and build extensions independently from the source tree of their target mozilla application. In addition SDK supports the use of all those nice build system features well-known from the mozilla build system. In this way the mozilla extension SDK provides extension developers transparently with cross-platform capabilities in a highly mature build system, that is easy to use - even for people unfamiliar with hacking makefiles.

How is this done?

The mozilla extension SDK achieves this by stripping down the mozilla source tree to a minimal build system. In addition some patches where applied in order to decouple the build system from the mozilla source tree. For example, the mozilla extension SDK enables you to specify directory names for headers, IDL files and libs of system installed mozilla application selected as compilation-target.

Current Development State

The current state of the mozilla SDK is really alpha. If you want to use it seriously for now, you should really be interested in helping to improve this piece of software.

How To Begin?

Currently, no release is available. Nevertheless, the unofficial mozilla-enigmail debian package available at jwsdot reveals a first example on how enigmail can be build outside the mozilla source tree, without any modifications to the enigmail source base.

The debian package contains a stripped down mozilla build system, that can be used for initial testing. If you want to give it a try for your extension, feel free to ask for support on the mailing list.

The sdk project can be contacted through the mailing list or the member list.
Copyright © 2000-2012. All rights reserved. Terms of Use & Privacy Policy.