Thunderbird:Build: Difference between revisions

No edit summary
No edit summary
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<small>[[Thunderbird:Home|<< Back to Thunderbird Home Page]]</small>
<small>[[Thunderbird:Home|<< Back to Thunderbird Home Page]]</small>


= Build =
Please see https://developer.mozilla.org/en-US/docs/Introduction
 
Mozilla Developer Center has the [http://developer.mozilla.org/en/docs/Build_Documentation documentation] required to build Thunderbird.
 
To build on Mac OS X 10.5 Leopard,
 
1. Get your build environment [http://developer.mozilla.org/en/docs/Mac_OS_X_Build_Prerequisites up and running].
 
2. Check out your code on [http://developer.mozilla.org/en/docs/Mozilla_Source_Code_(CVS) CVS]. Be sure to decide if you want a trunk build or a branch build.
 
The following command works for the mozconfig shown below: (time, a Unix app, will tell you how long the compile took.)
 
$ time make -f client.mk checkout MOZ_CO_PROJECT=mail,calendar
 
A sample .mozconfig for a dual-core MacBook Pro, which checks out Firefox, Thunderbird (with Lightning enabled), and Sunbird code at the same time:
 
# Sample .mozconfig
mk_add_options MOZ_MAKE_FLAGS="-j3"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdir-@CONFIG_GUESS@
mk_add_options MOZ_BUILD_PROJECTS="mail calendar"
mk_add_options MOZ_CO_PROJECT="mail calendar"
# For debugging, enable if necessary
#mk_add_options MOZ_CO_MODULE="mozilla/tools/trace-malloc"
#ac_add_options --enable-trace-malloc
# To enable multi-app compilation from one .mozconfig
ac_add_app_options mail --enable-application=mail
ac_add_app_options calendar --enable-application=calendar
# Compilation options
ac_add_options --disable-optimize
ac_add_options --enable-debug
ac_add_options --disable-static
ac_add_options --enable-shared
ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.4u.sdk
# Build Thunderbird with preinstalled Lightning if needed.
ac_add_options --enable-extensions=default,lightning
 
3. Compile the build: (feel free to replace "mail" with "calendar")
time make -f client.mk build MOZ_CURRENT_PROJECT=mail
 
4. To run the builds in Terminal in the following recommended way, go through the following commands:
 
* Set up for leak detection.
$ export XPCOM_MEM_LEAK_LOG=2
 
* mail-dumped.txt will show the objects dumped when shut down.
$ export XPC_SHUTDOWN_HEAP_DUMP=mail-dumped.txt
 
* Change into the directory where ThunderbirdDebug.app is found.
$ cd @@@YOURDIRECTORY@@@/objdir-i386-apple-darwin9.2.0/mail/dist/ThunderbirdDebug.app/Contents/MacOS/
 
* Create your profile here.
$ ./thunderbird-bin -Profilemanager --no-remote
 
* Run Thunderbird within gdb to get stack traces when the application crashes.
$ gdb ./thunderbird-bin
 
* Within gdb, type this command:
(gdb) handle SIG33 noprint nostop
 
* Run the debug Thunderbird build with your just-created profile.
(gdb) run -P "@@@YOURPROFILE@@@" -no-remote
 
* When the application crashes, run backtrace within gdb:
** and attach the trace shown in your Terminal window as an attachment in a Bugzilla report if there are no other duplicates.
(gdb) backtrace
 
* To quit gdb, type:
(gdb) quit
 
 
= Build Machines =
 
TBD
 
= Helping With Build =
 
TBD
 
[[category:Thunderbird|*]]

Latest revision as of 15:36, 22 October 2012