|
|
| (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|*]]
| |