Tamarin Source Versions
The following instructions are for obtaining and building the Tamarin Tracing source code. For instructions on Tamarin Central, please see
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
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 https://hg.mozilla.org/tamarin-tracing 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.
The
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 https://hg.mozilla.org/tamarin-tracing $ cd tamarin-tracing $ mkdir objdir-debug $ cd objdir-debug $ python ../configure.py --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.
$ make CPPFLAGS=-DAVMPLUS_VERBOSE
Windows Mobile
To build for ARM:
$ python ../configure.py --target=arm-windows --enable-shell; make
To build for Thumb:
$ python ../configure.py --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.
https://developer.mozilla.org/en/docs...mpliance_tests
Running Tamarin performance tests
Follow the same steps as the Tamarin Central instructions.
https://developer.mozilla.org/en/docs...formance_tests
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
How To
- Setup a user repository with the source and patches that will be compiled. Documentation on how to setup a user repository https://developer.mozilla.org/En/Publishing_Mercurial_Clones. Push any changes that you want to test into this repository.
- Request a build via the form at https://tamarin-builds.mozilla.org/build_trigger/requestbuild.cfm
- 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 https://hg.mozilla.org/ 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
- Check the status of the build @ https://tamarin-builds.mozilla.org/sandbox/
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.