Compiling tamarin-tracing on linux

Steven Johnson stejohns at
Mon Jan 7 10:36:36 PST 2008

On 1/7/08 1:09 AM, "Zbynek Winkler" <zbynek.winkler at> wrote:

> No need to apologize, I just wanted to check what the current status
> is - i.e. is MMgc newer in TC or TT? And what about
> actionmonkey-tamarin? Is it super set of TC? Maybe we can get together
> a wiki page describing the different mercurial repositories (or update
> some existing page). I'd be happy to do that but I do not know enough
> at the moment.

That's a good plan.

MMgc is (mostly) identical between TT and TC at the moment (or at least it
could be; I think there are fixes and enhancements in the TC version that
haven't been migrated into TT, but aren't important for core TT work yet.)

I can't speak to the state of ActionMonkey... perhaps someone else can chime
> The + is not the primary build system for all
> platforms? Somehow I got the impression that it is but looking at the
> platform directory I see it just might not be. I will submit what I
> have tonight anyway. Would you prefer private email, tamarin-devel
> email and/or bugzilla entry with a patch? But please note that the
> resulting binary does not work and that for debug build
> (--enable-debug) the AvmDebugUnix.cpp is missing (the version from TC
> does not seem to be compatible).

Mozilla uses configure+manifest on all platforms, but the TT code diverged
before that was fully in place, and us Adobe guys really like our IDEs :-)
Our plan is to have the Mozilla build system fully supported everywhere and
the "primary" build system, but with VisualStudio and XCode projects
maintained as well for people who prefer those environments.

Re: patch, please go the normal bugzilla route. Even if the resulting binary
doesn't work, compiling code is better than noncompiling code.
> How does one build Release or Release-Debugger build with the cross
> platform make system? Is "./ --enable-optimize" enough to
> get what you call Release build? And what about the Release-Debugger?

There are 4 "interesting" build configurations based on two flags:

Debug vs Release: Debug = no compiler optimization, lots of debug only code,
very slow, for dev work and debugging only. Release = full optimization,

Debugger vs non-Debugger: think "ScriptingDebugger" and it will make more
sense; enabling "Debugger" will cause the VM to retain lots of information
at runtime that would make sense for hosting a Debugger (eg, method names
and metadata, debugging hooks) for JavaScript/ActionScript, at the expense
of extra memory usage and slightly slower performance. Generally a Debugger
build is only used for an environment where this is needed (eg, Adobe Flex

thus --enable-optimize should toggle Debug vs Release and --enable-debugger
should toggle Debugger vs nonDebugger.

More information about the Tamarin-devel mailing list