Instantbird:Compiling

From Instantbird Wiki

Jump to: navigation, search

Stop! These directions are kept for posterity! Current directions can be found at the Simple Instantbird build page on the Mozilla Developer Network.

Contents

How it works

Breaking news

Instantbird development now happens on the mozilla comm-central repository. The Instantbird source is in /im, and the code shared with Thunderbird lives in /chat. Instantbird builds should now be done by following these directions.

Prerequisites

First, make sure your system meets the prerequisite to build a Mozilla application: https://developer.mozilla.org/En/Developer_Guide/Build_Instructions#Build_prerequisites

Get the source and build

To build your own Instantbird, follow the instructions for Thunderbird to download the source, and to build and run. The only change is that you must create a mozconfig file containing the line

ac_add_options --enable-application=im

which tells the build system to build Instantbird, and not Thunderbird.

  • Tip: You can save a lot of time and bandwidth by downloading bundles for mozilla-central and comm-central as explained here rather than simply hg cloning the repositories. Step-by-step, you should unbundle c-c, and then unbundle m-c into c-c/mozilla, where "unbundling" is shorthand for the process described in the link.
  • python client.py checkout
    from your c-c dir will automatically update all your repos with the available upstream changes.
  • If your build finishes with an error message of the "executable not found" type, but there is a message saying your build completed successfully right above it, then your build did complete successfully. It's just that the executable lives in objdir/mozilla/dist rather than objdir/dist (see the Thunderbird build page linked above for details).

Watch some introductory videos on mozilla development techniques

There is a lot of learning material here which, while it refers to Firefox, mostly applies to Instantbird as well (sometimes with minor changes).

Learn about Mercurial queues

Essential for writing patches. If you need an introduction to Mercurial itself, try this.

Learn about setting up a development environment

The preferences and command line options listed on this page and explained here should be helpful.

Personal tools