You can build a bleeding-edge, development version of Sunbird using the commands below. For complete information, see the build documentation.
If your system is not listed below, see the build prerequisites page.
Ubuntu Linux: | sudo apt-get build-dep sunbird sudo apt-get install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libiw-dev autoconf2.13 cvs |
Fedora Linux: | sudo yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development' sudo yum install mercurial autoconf213 glibc-static libstdc++-static yasm wireless-tools-devel mesa-libGL-devel |
Mac: |
Problems? See Mac OS X build prerequisites. |
Windows: |
Problems? See Windows build prerequisites. |
Building Sunbird requires at least 2.5 GB of disk space, 500 MB of RAM, and lots of available swap space.
# Get the source hg clone http://hg.mozilla.org/comm-central/ cd comm-central python client.py checkout # Setup a basic .mozconfig file echo 'ac_add_options --enable-application=calendar' > .mozconfig # let's build Sunbird... echo 'mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sb-release' >> .mozconfig # ...in this directory... # USE THIS ONLY IF NOT ON WINDOWS! Parallel compilation on Windows is # unreliable now due to bug 524149. echo 'mk_add_options MOZ_MAKE_FLAGS="-j4"' >> .mozconfig # ...quickly. # Build make -f client.mk
.mozconfig
file. This requires more disk space, about 2.5 GB.mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sb-debug ac_add_options --enable-application=calendar ac_add_options --enable-debug ac_add_options --disable-optimize
The Sunbird executable can be found in objdir-sb-release/mozilla/dist/bin
/ (on Mac, objdir-sb-release/dist/Calendar.app/Contents/MacOS/
).
If you've set up you build environment as above, then all you need to do is:
echo 'ac_add_options --enable-calendar' >> .mozconfig
or just add the ac_add_options --enable-calendar
line to your .mozconfig with your favourite editor.
Then just re-run the "make -f client.mk
" command above (you can do the addition before running make for the first time).
This will build the lightning extension into src/../objdir-sb/mozilla/dist/xpi-stage/
. See this section for information on how to easily integrate Lightning into a nightly version of Thunderbird.
In your comm-central
directory, run these commands:
# Get the latest source python client.py checkout
Then just re-run the "make -f client.mk
" command above. make
will only recompile files that changed, but it's still a long haul. An incremental build can be faster.
After you have completed a full build, if you would like to rebuild Lightning you don't need to go through the whole build process:
# Enter the calendar directory in the object-directory cd src/../objdir-sb-release/calendar # Make the Lightning extension make -C lightning