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
|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
$ hg clone http://hg.mozilla.org/tamarin-tracing tamarin-tracing
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
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.
First, you must have the Mozilla build prerequisites for your platform. Additionally, you need Python 2.4 or later and GNU <tt>make</tt> 3.81 or later. (GNU <tt>make</tt> 3.80 does not work. Nor does any other brand of <tt>make</tt>.)
With the right prerequisites, use these commands to build Tamarin Tracing:
$ hg clone http://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
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
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
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 into tamarin-tracing. The repository has the same buildbot process watching it, so it will run through the exact same build/test process.
Any comments, questions or problems can be directed to Brent Baker
In this first phase we are using a single shared repository (http://hg.mozilla.org/users/brbaker_adobe.com/tamarin-tracing/) but in phase two buildbot will be setup so that you can submit a URL and rev to clone & test (similar to submitting a patch and baseline url, the way i think mozilla's works http://wiki.mozilla.org/Build:TryServer).
- First thing that you should do is check the status of the buildbot to make sure nobody is currently using the system: http://tamarin-builds.mozilla.org/tamarin-tracing-sandbox
- To push the changes to the sandbox use the following command. This will push all changes that you have locally to the sandbox repository. This is most likely going to not only push your change but any changes that you have pulled that are not already in the sandbox. In the end the sandbox will contain all of the changes that you have locally.
$ hg push -f ssh://hg.mozilla.org/users/brbaker_adobe.com/tamarin-tracing/
Check the status of the build @ http://tamarin-builds.mozilla.org/tamarin-tracing-sandbox
Binaries are posted to ftp://ftp.mozilla.org/pub/js/tamarin/builds/tamarin-tracing-sandbox
The Sandbox is not a good substitute for running the regression tests locally to catch obvious problems.
This is a shared resource, each push takes approximately 3+ hours to run, please wait your turn. In the coming weeks we will implement a queued build system so that this is not an issue.