Your Search Results

    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,