Join MDN and developers like you at Mozilla's View Source conference, November 2-4 in Portland, Oregon. Learn more at

Tamarin Tracing Build Documentation

Tamarin Source Versions

The following instructions are for obtaining and building the Tamarin Tracing source code. For instructions on Tamarin Central, please see

Tamarin Build Documentation

Supported platforms

Operating System Processor Status
Windows XP x86 supported, acceptance and performance tests automated in buildbot
Mac OS X 10.4 x86 supported, acceptance and performance tests automated in buildbot
Linux - Ubuntu 8.0.4 x86 supported, acceptance and performance tests automated in buildbot
Windows Mobile (Pocket PC 5.0) ARMv4t supported, acceptance and performance tests automated in buildbot
Raw image (no OS) ARMv5 supported, acceptance and performance tests NOT done
Linux (Nokia N810) ARMv5 supported, acceptance and performance tests NOT done

Current Build Status

The current Tamarin Tracing build status can be found at

Tamarin Tracing Build Status

Getting the Tamarin source

The Tamarin Tracing source resides in

Mercurial at Tamarin Tracing. Use the following command to create a copy of the Tamarin repository:

    $ hg clone tamarin-tracing

Building Tamarin

Building Tamarin will create all the libraries for the AVMPlus and garbage collector (MMgc), and create a standalone executable,

avmshell, for executing files in the ABC file format. Running avmshell without any arguments will list the available options. Note that additional command-line arguments are only available in the debug configuration.


Tamarin codebase contains a cross-platform build system for Mozilla developers. The cross-platform build system is used for daily automated build testing so it is the most reliable system.

The Tamarin codebase has the ability to build additional code which supports debugging hooks. In the XCode project, this is the

Debug_Debugger and Release_Debugger configurations. The Flash Player builds Tamarin with the debugging hooks off for codesize reasons, but the Mozilla client will build Tamarin with the debugging hooks on.

Cross-platform build

First, you must have the

Mozilla build prerequisites for your platform. Additionally, you need Python 2.4 or later and GNU make 3.81 or later. (GNU make 3.80 does not work. Nor does any other brand of make.)

With the right prerequisites, use these commands to build Tamarin Tracing:

 $ hg clone
 $ cd tamarin-tracing
 $ mkdir objdir-debug
 $ cd objdir-debug
 $ python ../ --enable-shell
 $ make
 $ shell/avmshell
 avmshell 1.0 build cyclone

That's all. The avmplus executable is avmshell.

For verbose build of Tamarin, you can pass CPPFLAGS to make.

Windows Mobile

To build for ARM:

 $ python ../ --target=arm-windows --enable-shell; make

To build for Thumb:

 $ python ../ --target=thumb-windows --enable-shell; make

Platform-specific Builds

Project files for specific platforms/IDEs (Microsoft Visual Studio, XCode, etc) are included in the source tree under

tamarin-tracing/platform, but are not formally supported.


Running Tamarin compliance tests

Follow the same steps as the Tamarin Central instructions.

Running Tamarin performance tests

Follow the same steps as the Tamarin Central instructions.

Tamarin BuildBot

Adobe maintains a

continuous build and test system for Tamarin Tracing and continuous build and test system for Tamarin Central, similar to TinderBox. Performance tests are also run on every build. See the latest build performance report for the latest results or a weekly performance report.

Tamarin BuildBot TryServer

The TryServer/Sandbox is setup to allow users to push any code changes that they would like to have tested in the automated build/test process prior to actually pushing the changes. The Sandbox is setup so that it is able to build and test branches that are based on either tamarin-central or tamarin-tracing.

Any comments, questions or problems can be directed to

Brent Baker 

How To

  1. Setup a user repository with the source and patches that will be compiled. Documentation on how to setup a user repository Push any changes that you want to test into this repository.
  2. Request a build via the form at 
    • User Email: Your email address. An email with the build status will be sent to this address when a builder completes whether it is passes or fails.
    • Mercurial Repository: Give the location of the repository that will be used for the build. NOTE: Only repositories hosted on are accepted.
    • Revision: Specify the revision number that will be built. Currently this only accepts the change number and not the hash.
    • Branch: Which branch of tamarin the repository is based on, Tamarin-Central or Tamarin-Tracing.
    • Builders: Which platforms will be compiled and tested.
    • Description: Self explanatory
  3. Check the status of the build @ 

TryServer Etiquette

The Sandbox is not a good substitute for running the regression tests locally to catch obvious problems.

This is a shared resource, each request takes approximately 3+ hours to run so please use wisely.

Document Tags and Contributors

Contributors to this page: trbaker, Brbaker, Dschaffe, Changm, Rwinchel
Last updated by: trbaker,