Bug 583751: Verify that compiled shells have the expected features enabled/disabled in the build system(r+jsudduth)
authorBrent Baker <brbaker@adobe.com>
Tue, 05 Oct 2010 06:25:35 -0400
changeset 5316 4e4a474941f361b4073c9feb07a5661a32140628
parent 5315 ae315a90cf1452d900a8492c6601190c595889c9
child 5317 0c80462464755a66266d996088d4dc68442c720e
push id2906
push userbrbaker@adobe.com
push dateTue, 05 Oct 2010 10:26:09 +0000
bugs583751, 587738
Bug 583751: Verify that compiled shells have the expected features enabled/disabled in the build system(r+jsudduth) Bug 587738: Get Doxygen working again, post doxygen generated files with every deep build (r+cpeyer)
Doxyfile
build/buildbot/master/commonsteps.py
build/buildbot/master/sandbox.py
build/buildbot/master/tamarinredux.py
build/buildbot/slaves/all/build-doxygen.sh
build/buildbot/slaves/all/environment.sh
--- a/Doxyfile
+++ b/Doxyfile
@@ -1,32 +1,32 @@
 # Doxyfile 1.3.6
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 #---------------------------------------------------------------------------
-PROJECT_NAME           = avmplus
-PROJECT_NUMBER         = 
+PROJECT_NAME           = "avmplus $(change):$(changeid)"
+PROJECT_NUMBER         = "source revision $(change):$(changeid)"
 OUTPUT_DIRECTORY       = docs
 OUTPUT_LANGUAGE        = English
 USE_WINDOWS_ENCODING   = YES
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
 ABBREVIATE_BRIEF       = 
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = NO
 STRIP_FROM_PATH        = 
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO
 MULTILINE_CPP_IS_BRIEF = NO
 DETAILS_AT_TOP         = NO
 INHERIT_DOCS           = YES
 DISTRIBUTE_GROUP_DOC   = NO
-TAB_SIZE               = 8
+TAB_SIZE               = 4
 ALIASES                = 
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 SUBGROUPING            = YES
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 EXTRACT_ALL            = NO
@@ -55,26 +55,26 @@ SHOW_USED_FILES        = YES
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
 QUIET                  = NO
 WARNINGS               = YES
 WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = docs\warn.log
+WARN_LOGFILE           = docs/warn.log
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = .
 FILE_PATTERNS          = 
 RECURSIVE              = YES
 EXCLUDE                = 
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
+EXCLUDE_PATTERNS       = *.py */.hg/* */axscript/* */buildbot/* */other-licenses/* */test/* */utils/*
 EXAMPLE_PATH           = 
 EXAMPLE_PATTERNS       = 
 EXAMPLE_RECURSIVE      = NO
 IMAGE_PATH             = 
 INPUT_FILTER           = 
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
--- a/build/buildbot/master/commonsteps.py
+++ b/build/buildbot/master/commonsteps.py
@@ -75,22 +75,22 @@ def startCompile(change):
 
 ############################
 ####### COMMON BUILD STEPS
 ############################
 
 # For an explanation of the WithProperties('(%(silent:-)s') syntax see
 # http://djmitche.github.com/buildbot/docs/current/#Using-Build-Properties
 
-def compile_generic(name, shellname, args, upload):
-    # factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell", upload="false"))
+def compile_generic(name, shellname, args, upload, features=""):
+    # factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell", upload="false", features="+AVMSYSTEM_32BIT"))
     # upload: if true build will be uploaded to asteam, this is normaly done in the upload buildstep
     #         but is here for shells that are compiled in deep-testing
     return BuildShellCommand(
-            command=['../all/compile-generic.sh', WithProperties('%s','revision'), '%s' % args, '%s' % shellname, '%s' % upload],
+            command=['../all/compile-generic.sh', WithProperties('%s','revision'), '%s' % args, '%s' % shellname, '%s' % upload, '%s' % features],
             env={'branch': WithProperties('%s','branch'), 'silent':WithProperties('%s','silent')},
             description='starting %s build...' % name,
             descriptionDone='finished %s build' % name,
             name="Build_%s" % name,
             workdir="../repo/build/buildbot/slaves/scripts"
             )
 
 
--- a/build/buildbot/master/sandbox.py
+++ b/build/buildbot/master/sandbox.py
@@ -466,30 +466,32 @@ class sandbox:
     sb_linux2_compile_factory.addStep(sync_clean)
     sb_linux2_compile_factory.addStep(sync_clone_sandbox)
     sb_linux2_compile_factory.addStep(sync_update)
     sb_linux2_compile_factory.addStep(bb_slaveupdate(slave="linux"))
     sb_linux2_compile_factory.addStep(BuildShellCommand(
                 command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --target=sh4-linux', 'avmshell_sh4', 'true'],
                 env={
                     'branch': WithProperties('%s','branch'),
+                    'silent':WithProperties('%s','silent'),
                     'CXX': 'sh4-linux-g++',
                     'CC' : 'sh4-linux-gcc',
                     'LD' : 'sh4-linux-ld',
                     'AR' : 'sh4-linux-ar',
                 },
                 description='starting Release_sh4-linux build...',
                 descriptionDone='finished Release_sh4-linux build.',
                 name="Release_sh4-linux",
                 workdir="../repo/build/buildbot/slaves/scripts")
     )
     sb_linux2_compile_factory.addStep(BuildShellCommand(
                 command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debug --target=sh4-linux', 'avmshell_sh4_d', 'true'],
                 env={
                     'branch': WithProperties('%s','branch'),
+                    'silent':WithProperties('%s','silent'),
                     'CXX': 'sh4-linux-g++',
                     'CC' : 'sh4-linux-gcc',
                     'LD' : 'sh4-linux-ld',
                     'AR' : 'sh4-linux-ar',
                 },
                 description='starting Release_sh4-linux build...',
                 descriptionDone='finished Release_sh4-linux build.',
                 name="Release_sh4-linux",
--- a/build/buildbot/master/tamarinredux.py
+++ b/build/buildbot/master/tamarinredux.py
@@ -214,21 +214,21 @@ class tamarinredux:
     #####################################
 
     windows_compile_factory = factory.BuildFactory()
     windows_compile_factory.addStep(sync_clean)
     windows_compile_factory.addStep(sync_clone(url=HG_URL))
     windows_compile_factory.addStep(sync_update)
     windows_compile_factory.addStep(bb_slaveupdate(slave="windows"))
     windows_compile_factory.addStep(compile_builtin)
-    windows_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell", upload="false"))
-    windows_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode", args="--enable-shell --enable-wordcode-interp", upload="false"))
-    windows_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d", args="--enable-shell --enable-debug", upload="false"))
-    windows_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s", args="--enable-shell --enable-debugger", upload="false"))
-    windows_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd", args="--enable-shell --enable-debug --enable-debugger", upload="false"))
+    windows_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32"))
+    windows_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode", args="--enable-shell --enable-wordcode-interp", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_WORDCODE_INTERP"))
+    windows_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d", args="--enable-shell --enable-debug", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32"))
+    windows_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s", args="--enable-shell --enable-debugger", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER"))
+    windows_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd", args="--enable-shell --enable-debug --enable-debugger", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER"))
     windows_compile_factory.addStep(BuildShellCommand(
                 command=['../all/file-check.py', '../../../../../repo'],
                 env={'branch': WithProperties('%s','branch')},
                 description='running file-check against source...',
                 descriptionDone='finished file-check.',
                 name="FileCheck",
                 workdir="../repo/build/buildbot/slaves/scripts")
     )
@@ -274,26 +274,26 @@ class tamarinredux:
     #### builder for mac-intel-10_4-compile ####
     ############################################
     mac_intel_104_compile_factory = factory.BuildFactory()
     mac_intel_104_compile_factory.addStep(sync_clean)
     mac_intel_104_compile_factory.addStep(sync_clone(url=HG_URL))
     mac_intel_104_compile_factory.addStep(sync_update)
     mac_intel_104_compile_factory.addStep(bb_slaveupdate(slave="mac-intel-10_4"))
     mac_intel_104_compile_factory.addStep(compile_builtin)
-    mac_intel_104_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell_104", args="--enable-shell --mac-sdk=104u", upload="false"))
-    mac_intel_104_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode_104", args="--enable-shell --enable-wordcode-interp --mac-sdk=104u", upload="false"))
-    mac_intel_104_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d_104", args="--enable-shell --enable-debug --mac-sdk=104u", upload="false"))
-    mac_intel_104_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s_104", args="--enable-shell --enable-debugger --mac-sdk=104u", upload="false"))
-    mac_intel_104_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd_104", args="--enable-shell --enable-debug --enable-debugger --mac-sdk=104u", upload="false"))
-    mac_intel_104_compile_factory.addStep(compile_generic(name="Release_PPC", shellname="avmshell_104_ppc", args="--enable-shell --target=ppc-darwin --mac-sdk=104u", upload="false"))
-    mac_intel_104_compile_factory.addStep(compile_generic(name="Release-wordcode_PPC", shellname="avmshell_wordcode_104_ppc", args="--enable-shell --enable-wordcode-interp --target=ppc-darwin --mac-sdk=104u", upload="false"))
-    mac_intel_104_compile_factory.addStep(compile_generic(name="Debug_PPC", shellname="avmshell_d_104_ppc", args="--enable-shell --enable-debug --target=ppc-darwin --mac-sdk=104u", upload="false"))
-    mac_intel_104_compile_factory.addStep(compile_generic(name="ReleaseDebugger_PPC", shellname="avmshell_s_104_ppc", args="--enable-shell --enable-debugger --target=ppc-darwin --mac-sdk=104u", upload="false"))
-    mac_intel_104_compile_factory.addStep(compile_generic(name="DebugDebugger_PPC", shellname="avmshell_sd_104_ppc", args="--enable-shell --enable-debug --enable-debugger --target=ppc-darwin --mac-sdk=104u", upload="false"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell_104", args="--enable-shell --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode_104", args="--enable-shell --enable-wordcode-interp --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_WORDCODE_INTERP"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d_104", args="--enable-shell --enable-debug --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s_104", args="--enable-shell --enable-debugger --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd_104", args="--enable-shell --enable-debug --enable-debugger --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="Release_PPC", shellname="avmshell_104_ppc", args="--enable-shell --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="Release-wordcode_PPC", shellname="avmshell_wordcode_104_ppc", args="--enable-shell --enable-wordcode-interp --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC +AVMFEATURE_WORDCODE_INTERP"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="Debug_PPC", shellname="avmshell_d_104_ppc", args="--enable-shell --enable-debug --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="ReleaseDebugger_PPC", shellname="avmshell_s_104_ppc", args="--enable-shell --enable-debugger --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC +AVMFEATURE_DEBUGGER"))
+    mac_intel_104_compile_factory.addStep(compile_generic(name="DebugDebugger_PPC", shellname="avmshell_sd_104_ppc", args="--enable-shell --enable-debug --enable-debugger --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC +AVMFEATURE_DEBUGGER"))
     mac_intel_104_compile_factory.addStep(compile_buildcheck_local)
     mac_intel_104_compile_factory.addStep(util_upload_asteam_local)
 
     mac_intel_104_compile_builder = {
                 'name': "mac-intel-10.4-compile",
                 'slavename': "mac-intel-10_4",
                 'factory': mac_intel_104_compile_factory,
                 'builddir': './mac-intel-10_4-compile',
@@ -305,26 +305,26 @@ class tamarinredux:
     #### builder for mac-intel-10_5-compile ####
     ############################################
     mac_intel_105_compile_factory = factory.BuildFactory()
     mac_intel_105_compile_factory.addStep(sync_clean)
     mac_intel_105_compile_factory.addStep(sync_clone(url=HG_URL))
     mac_intel_105_compile_factory.addStep(sync_update)
     mac_intel_105_compile_factory.addStep(bb_slaveupdate(slave="mac-intel-10_5"))
     mac_intel_105_compile_factory.addStep(compile_builtin)
-    mac_intel_105_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell --mac-sdk=104u", upload="false"))
-    mac_intel_105_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode", args="--enable-shell --enable-wordcode-interp --mac-sdk=104u", upload="false"))
-    mac_intel_105_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d", args="--enable-shell --enable-debug --mac-sdk=104u", upload="false"))
-    mac_intel_105_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s", args="--enable-shell --enable-debugger --mac-sdk=104u", upload="false"))
-    mac_intel_105_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd", args="--enable-shell --enable-debug --enable-debugger --mac-sdk=104u", upload="false"))
-    mac_intel_105_compile_factory.addStep(compile_generic(name="Release_PPC", shellname="avmshell_ppc", args="--enable-shell --target=ppc-darwin --mac-sdk=104u", upload="false"))
-    mac_intel_105_compile_factory.addStep(compile_generic(name="Release-wordcode_PPC", shellname="avmshell_wordcode_ppc", args="--enable-shell --enable-wordcode-interp --target=ppc-darwin --mac-sdk=104u", upload="false"))
-    mac_intel_105_compile_factory.addStep(compile_generic(name="Debug_PPC", shellname="avmshell_d_ppc", args="--enable-shell --enable-debug --target=ppc-darwin --mac-sdk=104u", upload="false"))
-    mac_intel_105_compile_factory.addStep(compile_generic(name="ReleaseDebugger_PPC", shellname="avmshell_s_ppc", args="--enable-shell --enable-debugger --target=ppc-darwin --mac-sdk=104u", upload="false"))
-    mac_intel_105_compile_factory.addStep(compile_generic(name="DebugDebugger_PPC", shellname="avmshell_sd_ppc", args="--enable-shell --enable-debug --enable-debugger --target=ppc-darwin --mac-sdk=104u", upload="false"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode", args="--enable-shell --enable-wordcode-interp --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_WORDCODE_INTERP"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d", args="--enable-shell --enable-debug --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s", args="--enable-shell --enable-debugger --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd", args="--enable-shell --enable-debug --enable-debugger --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="Release_PPC", shellname="avmshell_ppc", args="--enable-shell --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="Release-wordcode_PPC", shellname="avmshell_wordcode_ppc", args="--enable-shell --enable-wordcode-interp --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC +AVMFEATURE_WORDCODE_INTERP"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="Debug_PPC", shellname="avmshell_d_ppc", args="--enable-shell --enable-debug --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="ReleaseDebugger_PPC", shellname="avmshell_s_ppc", args="--enable-shell --enable-debugger --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC +AVMFEATURE_DEBUGGER"))
+    mac_intel_105_compile_factory.addStep(compile_generic(name="DebugDebugger_PPC", shellname="avmshell_sd_ppc", args="--enable-shell --enable-debug --enable-debugger --target=ppc-darwin --mac-sdk=104u", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC +AVMFEATURE_DEBUGGER"))
     mac_intel_105_compile_factory.addStep(compile_buildcheck_local)
     mac_intel_105_compile_factory.addStep(util_upload_asteam_local)
 
     mac_intel_105_compile_builder = {
                 'name': "mac-intel-10.5-compile",
                 'slavename': "mac-intel-10_5",
                 'factory': mac_intel_105_compile_factory,
                 'builddir': './mac-intel-10_5-compile',
@@ -335,21 +335,21 @@ class tamarinredux:
     #### builder for mac-intel-64-compile ####
     ##########################################
     mac_intel_64_compile_factory = factory.BuildFactory()
     mac_intel_64_compile_factory.addStep(sync_clean)
     mac_intel_64_compile_factory.addStep(sync_clone(url=HG_URL))
     mac_intel_64_compile_factory.addStep(sync_update)
     mac_intel_64_compile_factory.addStep(bb_slaveupdate(slave="mac64-intel"))
     mac_intel_64_compile_factory.addStep(compile_builtin)
-    mac_intel_64_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell_64", args="--enable-shell --target=x86_64-darwin --mac-sdk=105", upload="false"))
-    mac_intel_64_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode_64", args="--enable-shell --enable-wordcode-interp --target=x86_64-darwin --mac-sdk=105", upload="false"))
-    mac_intel_64_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d_64", args="--enable-shell --enable-debug --target=x86_64-darwin --mac-sdk=105", upload="false"))
-    mac_intel_64_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s_64", args="--enable-shell --enable-debugger --target=x86_64-darwin --mac-sdk=105", upload="false"))
-    mac_intel_64_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd_64", args="--enable-shell --enable-debug --enable-debugger --target=x86_64-darwin --mac-sdk=105", upload="false"))
+    mac_intel_64_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell_64", args="--enable-shell --target=x86_64-darwin --mac-sdk=105", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64"))
+    mac_intel_64_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode_64", args="--enable-shell --enable-wordcode-interp --target=x86_64-darwin --mac-sdk=105", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_WORDCODE_INTERP"))
+    mac_intel_64_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d_64", args="--enable-shell --enable-debug --target=x86_64-darwin --mac-sdk=105", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64"))
+    mac_intel_64_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s_64", args="--enable-shell --enable-debugger --target=x86_64-darwin --mac-sdk=105", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_DEBUGGER"))
+    mac_intel_64_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd_64", args="--enable-shell --enable-debug --enable-debugger --target=x86_64-darwin --mac-sdk=105", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_DEBUGGER"))
     mac_intel_64_compile_factory.addStep(compile_generic(name="Release_PPC", shellname="avmshell_64_ppc", args="--enable-shell --target=ppc64-darwin --mac-sdk=105", upload="false"))
     mac_intel_64_compile_factory.addStep(compile_generic(name="Release-wordcode_PPC", shellname="avmshell_wordcode_64_ppc", args="--enable-shell --enable-wordcode-interp --target=ppc64-darwin --mac-sdk=105", upload="false"))
     mac_intel_64_compile_factory.addStep(compile_generic(name="Debug_PPC", shellname="avmshell_d_64_ppc", args="--enable-shell --enable-debug --target=ppc64-darwin --mac-sdk=105", upload="false"))
     mac_intel_64_compile_factory.addStep(compile_generic(name="ReleaseDebugger_PPC", shellname="avmshell_s_64_ppc", args="--enable-shell --enable-debugger --target=ppc64-darwin --mac-sdk=105", upload="false"))
     mac_intel_64_compile_factory.addStep(compile_generic(name="DebugDebugger_PPC", shellname="avmshell_sd_64_ppc", args="--enable-shell --enable-debug --enable-debugger --target=ppc64-darwin --mac-sdk=105", upload="false"))
     mac_intel_64_compile_factory.addStep(compile_buildcheck_local)
     mac_intel_64_compile_factory.addStep(util_upload_asteam_local)
 
@@ -468,21 +468,21 @@ class tamarinredux:
     #### builder for linux-compile ####
     ###################################
     linux_compile_factory = factory.BuildFactory()
     linux_compile_factory.addStep(sync_clean)
     linux_compile_factory.addStep(sync_clone(url=HG_URL))
     linux_compile_factory.addStep(sync_update)
     linux_compile_factory.addStep(bb_slaveupdate(slave="linux"))
     linux_compile_factory.addStep(compile_builtin)
-    linux_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell", upload="false"))
-    linux_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode", args="--enable-shell --enable-wordcode-interp", upload="false"))
-    linux_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d", args="--enable-shell --enable-debug", upload="false"))
-    linux_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s", args="--enable-shell --enable-debugger", upload="false"))
-    linux_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd", args="--enable-shell --enable-debug --enable-debugger", upload="false"))
+    linux_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32"))
+    linux_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode", args="--enable-shell --enable-wordcode-interp", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_WORDCODE_INTERP"))
+    linux_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d", args="--enable-shell --enable-debug", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32"))
+    linux_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s", args="--enable-shell --enable-debugger", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER"))
+    linux_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd", args="--enable-shell --enable-debug --enable-debugger", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER"))
     linux_compile_factory.addStep(BuildShellCommand(
                 command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-arm-neon --arm-arch=armv7-a --target=arm-linux --enable-sys-root-dir=/usr/local/arm-linux/debian5', 'avmshell_neon_arm', 'false'],
                 env={
                     'branch': WithProperties('%s','branch'),
                     'CXX': 'arm-none-linux-gnueabi-g++',
                     'CC' : 'arm-none-linux-gnueabi-gcc',
                     'LD' : 'arm-none-linux-gnueabi-ld',
                     'AR' : 'arm-none-linux-gnueabi-ar',
@@ -566,21 +566,21 @@ class tamarinredux:
     #### builder for linux64-compile ####
     #####################################
     linux_64_compile_factory = factory.BuildFactory()
     linux_64_compile_factory.addStep(sync_clean)
     linux_64_compile_factory.addStep(sync_clone(url=HG_URL))
     linux_64_compile_factory.addStep(sync_update)
     linux_64_compile_factory.addStep(bb_slaveupdate(slave="linux64"))
     linux_64_compile_factory.addStep(compile_builtin)
-    linux_64_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell_64", args="--enable-shell", upload="false"))
-    linux_64_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode_64", args="--enable-shell --enable-wordcode-interp", upload="false"))
-    linux_64_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d_64", args="--enable-shell --enable-debug", upload="false"))
-    linux_64_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s_64", args="--enable-shell --enable-debugger", upload="false"))
-    linux_64_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd_64", args="--enable-shell --enable-debug --enable-debugger", upload="false"))
+    linux_64_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell_64", args="--enable-shell", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64"))
+    linux_64_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode_64", args="--enable-shell --enable-wordcode-interp", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_WORDCODE_INTERP"))
+    linux_64_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d_64", args="--enable-shell --enable-debug", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64"))
+    linux_64_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s_64", args="--enable-shell --enable-debugger", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_DEBUGGER"))
+    linux_64_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd_64", args="--enable-shell --enable-debug --enable-debugger", upload="false", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_DEBUGGER"))
     linux_64_compile_factory.addStep(compile_testmedia)
     linux_64_compile_factory.addStep(compile_buildcheck_local)
     linux_64_compile_factory.addStep(util_upload_asteam_local)
 
     linux_64_compile_builder = {
                 'name': "linux64-compile",
                 'slavename': "linux64",
                 'factory': linux_64_compile_factory,
@@ -599,61 +599,61 @@ class tamarinredux:
     winmobile_emulator_compile_factory.addStep(bb_slaveupdate(slave="winmobile-emulator"))
     winmobile_emulator_compile_factory.addStep(compile_builtin)
     winmobile_emulator_compile_factory.addStep(compile_generic(name="ReleaseARM", shellname="avmshell_arm", args="--enable-shell --arm-arch=arch5 --target=arm-windows", upload="false"))
     winmobile_emulator_compile_factory.addStep(compile_generic(name="Release-wordcode-ARM", shellname="avmshell_wordcode_arm", args="--enable-shell --enable-wordcode-interp --arm-arch=arch5 --target=arm-windows", upload="false"))
     winmobile_emulator_compile_factory.addStep(compile_generic(name="Release-fpu-ARM", shellname="avmshell_fpu_arm", args="--enable-shell --enable-arm-fpu --arm-arch=arch6 --target=arm-windows", upload="false"))
     winmobile_emulator_compile_factory.addStep(compile_generic(name="DebugARM", shellname="avmshell_arm_d", args="--enable-shell --enable-debug --arm-arch=arch5 --target=arm-windows", upload="false"))
     winmobile_emulator_compile_factory.addStep(compile_generic(name="Debug-fpu-ARM", shellname="avmshell_fpu_arm_d", args="--enable-shell --enable-debug --enable-arm-fpu --arm-arch=arch6 --target=arm-windows", upload="false"))
     winmobile_emulator_compile_factory.addStep(BuildShellCommand(
-                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --target=x86_64-win', 'avmshell_64', 'false'],
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --target=x86_64-win', 'avmshell_64', 'false', '+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64'],
                 env={
                     'branch': WithProperties('%s','branch'),
                     'compile64':'true'
                 },
                 description='starting Release64 build...',
                 descriptionDone='finished Release64 build.',
                 name="Release64",
                 workdir="../repo/build/buildbot/slaves/scripts")
     )
     winmobile_emulator_compile_factory.addStep(BuildShellCommand(
-                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-wordcode-interp --target=x86_64-win', 'avmshell_wordcode_64', 'false'],
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-wordcode-interp --target=x86_64-win', 'avmshell_wordcode_64', 'false', '+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_WORDCODE_INTERP'],
                 env={
                     'branch': WithProperties('%s','branch'),
                     'compile64':'true'
                 },
                 description='starting Release-wordcode64 build...',
                 descriptionDone='finished Release-wordcode64 build.',
                 name="Release-wordcode64",
                 workdir="../repo/build/buildbot/slaves/scripts")
     )
     winmobile_emulator_compile_factory.addStep(BuildShellCommand(
-                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debug --target=x86_64-win', 'avmshell_d_64', 'false'],
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debug --target=x86_64-win', 'avmshell_d_64', 'false', '+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64'],
                 env={
                     'branch': WithProperties('%s','branch'),
                     'compile64':'true'
                 },
                 description='starting Debug64 build...',
                 descriptionDone='finished Debug64 build.',
                 name="Debug64",
                 workdir="../repo/build/buildbot/slaves/scripts")
     )
     winmobile_emulator_compile_factory.addStep(BuildShellCommand(
-                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debugger --target=x86_64-win', 'avmshell_s_64', 'false'],
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debugger --target=x86_64-win', 'avmshell_s_64', 'false', '+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_DEBUGGER'],
                 env={
                     'branch': WithProperties('%s','branch'),
                     'compile64':'true'
                 },
                 description='starting ReleaseDebugger64 build...',
                 descriptionDone='finished ReleaseDebugger64 build.',
                 name="ReleaseDebugger64",
                 workdir="../repo/build/buildbot/slaves/scripts")
     )
     winmobile_emulator_compile_factory.addStep(BuildShellCommand(
-                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debug --enable-debugger --target=x86_64-win', 'avmshell_sd_64', 'false'],
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debug --enable-debugger --target=x86_64-win', 'avmshell_sd_64', 'false', '+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_DEBUGGER'],
                 env={
                     'branch': WithProperties('%s','branch'),
                     'compile64':'true'
                 },
                 description='starting DebugDebugger64 build...',
                 descriptionDone='finished DebugDebugger64 build.',
                 name="DebugDebugger64",
                 workdir="../repo/build/buildbot/slaves/scripts")
@@ -681,21 +681,21 @@ class tamarinredux:
     #### builder for solaris-sparc-compile ####
     ###########################################
     solaris_sparc_compile_factory = factory.BuildFactory()
     solaris_sparc_compile_factory.addStep(sync_clean)
     solaris_sparc_compile_factory.addStep(sync_clone(url=HG_URL))
     solaris_sparc_compile_factory.addStep(sync_update)
     solaris_sparc_compile_factory.addStep(bb_slaveupdate(slave="solaris-sparc"))
     solaris_sparc_compile_factory.addStep(compile_builtin)
-    solaris_sparc_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell", upload="false"))
-    solaris_sparc_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode", args="--enable-shell --enable-wordcode-interp", upload="false"))
-    solaris_sparc_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d", args="--enable-shell --enable-debug", upload="false"))
-    solaris_sparc_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s", args="--enable-shell --enable-debugger", upload="false"))
-    solaris_sparc_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd", args="--enable-shell --enable-debug --enable-debugger", upload="false"))
+    solaris_sparc_compile_factory.addStep(compile_generic(name="Release", shellname="avmshell", args="--enable-shell", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_SPARC"))
+    solaris_sparc_compile_factory.addStep(compile_generic(name="Release-wordcode", shellname="avmshell_wordcode", args="--enable-shell --enable-wordcode-interp", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_SPARC +AVMFEATURE_WORDCODE_INTERP"))
+    solaris_sparc_compile_factory.addStep(compile_generic(name="Debug", shellname="avmshell_d", args="--enable-shell --enable-debug", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_SPARC"))
+    solaris_sparc_compile_factory.addStep(compile_generic(name="ReleaseDebugger", shellname="avmshell_s", args="--enable-shell --enable-debugger", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_SPARC +AVMFEATURE_DEBUGGER"))
+    solaris_sparc_compile_factory.addStep(compile_generic(name="DebugDebugger", shellname="avmshell_sd", args="--enable-shell --enable-debug --enable-debugger", upload="false", features="+AVMSYSTEM_32BIT +AVMSYSTEM_SPARC +AVMFEATURE_DEBUGGER"))
     solaris_sparc_compile_factory.addStep(compile_buildcheck_local)
     solaris_sparc_compile_factory.addStep(util_upload_asteam)
 
     solaris_sparc_compile_builder = {
                 'name': "solaris-sparc-compile",
                 'slavename': "solaris-sparc",
                 'factory': solaris_sparc_compile_factory,
                 'builddir': './solaris-sparc-compile',
@@ -1927,17 +1927,17 @@ class tamarinredux:
     windows_deep_factory.addStep(sync_update)
     windows_deep_factory.addStep(bb_slaveupdate(slave="windows-deep"))
     windows_deep_factory.addStep(download_testmedia)
     windows_deep_factory.addStep(deep_release_esc)
     windows_deep_factory.addStep(test_misc)
     windows_deep_factory.addStep(test_selftest(name="Debug", shellname="avmshell_d"))
     windows_deep_factory.addStep(test_selftest(name="ReleaseDebugger", shellname="avmshell_s"))
     windows_deep_factory.addStep(test_selftest(name="DebugDebugger", shellname="avmshell_sd"))
-    windows_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger", upload="true"))
+    windows_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger", upload="true", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER +AVMFEATURE_OVERRIDE_GLOBAL_NEW +AVMFEATURE_USE_SYSTEM_MALLOC"))
     windows_deep_factory.addStep(test_generic(name="ReleaseDebugger-air", shellname="avmshell_air", vmargs="", config="", scriptargs=""))
     windows_deep_factory.addStep(test_generic(name="Release-Dgreedy", shellname="avmshell", vmargs="-Dgreedy", config="", scriptargs="--timeout=180 --random"))
     windows_deep_factory.addStep(test_generic(name="DebugDebugger_VerifyAll", shellname="avmshell_sd", vmargs="", config="", scriptargs="--verify --timeout=300 --random"))
     windows_deep_factory.addStep(test_generic(name="DebugDebugger_VerifyOnly", shellname="avmshell_sd", vmargs="", config="", scriptargs="--verifyonly --timeout=300 --random"))
     windows_deep_factory.addStep(BuildShellCommand(
                 command=['./build-vtune.sh', WithProperties('%s','revision')],
                 env={'branch': WithProperties('%s','branch')},
                 description='starting VTune build...',
@@ -1967,19 +1967,19 @@ class tamarinredux:
     mac_deep_factory.addStep(deep_release_esc)
     mac_deep_factory.addStep(test_misc)
     mac_deep_factory.addStep(test_selftest(name="Debug", shellname="avmshell_d"))
     mac_deep_factory.addStep(test_selftest(name="Debug64", shellname="avmshell_d_64"))
     mac_deep_factory.addStep(test_selftest(name="ReleaseDebugger", shellname="avmshell_s"))
     mac_deep_factory.addStep(test_selftest(name="ReleaseDebugger64", shellname="avmshell_s_64"))
     mac_deep_factory.addStep(test_selftest(name="DebugDebugger", shellname="avmshell_sd"))
     mac_deep_factory.addStep(test_selftest(name="DebugDebugger", shellname="avmshell_sd_64"))
-    mac_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger", upload="true"))
+    mac_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger", upload="true", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER +AVMFEATURE_OVERRIDE_GLOBAL_NEW +AVMFEATURE_USE_SYSTEM_MALLOC"))
     mac_deep_factory.addStep(test_generic(name="ReleaseDebugger-air", shellname="avmshell_air", vmargs="", config="", scriptargs=""))
-    mac_deep_factory.addStep(compile_generic(name="ReleaseDebugger64-air", shellname="avmshell_air_64", args="--enable-shell --target=x86_64-darwin --enable-override-global-new --enable-use-system-malloc --enable-debugger", upload="true"))
+    mac_deep_factory.addStep(compile_generic(name="ReleaseDebugger64-air", shellname="avmshell_air_64", args="--enable-shell --target=x86_64-darwin --enable-override-global-new --enable-use-system-malloc --enable-debugger", upload="true", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_DEBUGGER +AVMFEATURE_OVERRIDE_GLOBAL_NEW +AVMFEATURE_USE_SYSTEM_MALLOC"))
     mac_deep_factory.addStep(test_generic(name="ReleaseDebugger64-air", shellname="avmshell_air_64", vmargs="", config="", scriptargs=""))
     mac_deep_factory.addStep(test_generic(name="Release-Dgreedy", shellname="avmshell", vmargs="-Dgreedy", config="", scriptargs="--timeout=180 --random"))
     mac_deep_factory.addStep(test_generic(name="DebugDebugger_VerifyAll", shellname="avmshell_sd", vmargs="", config="", scriptargs="--verify --timeout=300 --random"))
     mac_deep_factory.addStep(test_generic(name="DebugDebugger_VerifyOnly", shellname="avmshell_sd", vmargs="", config="", scriptargs="--verifyonly --timeout=300 --random"))
     mac_deep_factory.addStep(test_generic(name="Release64-Dgreedy", shellname="avmshell_64", vmargs="-Dgreedy", config="", scriptargs="--timeout=180 --random"))
     mac_deep_factory.addStep(test_generic(name="DebugDebugger64_VerifyAll", shellname="avmshell_sd_64", vmargs="", config="", scriptargs="--verify --timeout=300 --random"))
     mac_deep_factory.addStep(test_generic(name="DebugDebugger64_VerifyOnly", shellname="avmshell_sd_64", vmargs="", config="", scriptargs="--verifyonly --timeout=300 --random"))
     mac_deep_factory.addStep(TestSuiteShellCommand(
@@ -1988,16 +1988,24 @@ class tamarinredux:
                      description='running brightspot tests...',
                      descriptionDone='finished running brightspot tests.',
                      name="RunBrightspot",
                      workdir="../repo/build/buildbot/slaves/scripts",
                      timeout=3600)
     )
     mac_deep_factory.addStep(deep_codecoverage(compilecsv="../all/codecoverage-compile.csv", testcsv="../all/codecoverage-test.csv"))
     mac_deep_factory.addStep(deep_codecoverage_process)
+    mac_deep_factory.addStep(BuildShellCommand(
+                command=['../all/build-doxygen.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch'), 'silent':WithProperties('%s','silent')},
+                description='starting doxygen build...',
+                descriptionDone='finished doxygen build.',
+                name="Doxygen",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
     mac_deep_factory.addStep(util_process_clean)
     mac_deep_factory.addStep(util_clean_buildsdir)
 
     mac_deep_builder = {
                 'name': "mac-deep",
                 'slavename': "mac-deep",
                 'factory': mac_deep_factory,
                 'builddir': './mac-deep',
@@ -2083,17 +2091,17 @@ class tamarinredux:
     mac_ppc_deep_factory.addStep(test_selftest(name="DebugDebugger", shellname="avmshell_sd_ppc"))
     mac_ppc_deep_factory.addStep(test_selftest(name="DebugDebugger64", shellname="avmshell_sd_64_ppc"))
     mac_ppc_deep_factory.addStep(test_generic(name="Debug", shellname="avmshell_d_ppc", vmargs="", config="ppc-mac-tvm-debug-deep", scriptargs=""))
     mac_ppc_deep_factory.addStep(test_generic(name="DebugDebugger", shellname="avmshell_sd_ppc", vmargs="", config="ppc-mac-tvm-debugdebugger-deep", scriptargs=""))
     mac_ppc_deep_factory.addStep(test_generic(name="Debug64", shellname="avmshell_d_64_ppc", vmargs="", config="ppc-mac-tvm-debug-deep", scriptargs=""))
     mac_ppc_deep_factory.addStep(test_generic(name="DebugDebugger64", shellname="avmshell_sd_64_ppc", vmargs="", config="ppc-mac-tvm-debugdebugger-deep", scriptargs=""))
     mac_ppc_deep_factory.addStep(deep_release_esc)
     mac_ppc_deep_factory.addStep(test_misc)
-    mac_ppc_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air_ppc", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger --mac-sdk=104u", upload="true"))
+    mac_ppc_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air_ppc", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger --mac-sdk=104u", upload="true", features="+AVMSYSTEM_32BIT +AVMSYSTEM_PPC +AVMFEATURE_DEBUGGER +AVMFEATURE_OVERRIDE_GLOBAL_NEW +AVMFEATURE_USE_SYSTEM_MALLOC"))
     mac_ppc_deep_factory.addStep(test_generic(name="ReleasDebugger-air", shellname="avmshell_air_ppc", vmargs="", config="", scriptargs=""))
     mac_ppc_deep_factory.addStep(test_generic(name="Release-Dgreedy", shellname="avmshell_ppc", vmargs="-Dgreedy", config="", scriptargs="--timeout=180 --random"))
     mac_ppc_deep_factory.addStep(test_generic(name="DebugDebugger_VerifyAll", shellname="avmshell_sd_ppc", vmargs="", config="", scriptargs="--verify --timeout=300 --random"))
     mac_ppc_deep_factory.addStep(test_generic(name="DebugDebugger_VerifyOnly", shellname="avmshell_sd_ppc", vmargs="", config="", scriptargs="--verifyonly --timeout=300 --random"))
     mac_ppc_deep_factory.addStep(util_process_clean)
     mac_ppc_deep_factory.addStep(util_clean_buildsdir)
 
     mac_ppc_deep_builder = {
@@ -2139,17 +2147,17 @@ class tamarinredux:
     windows_64_deep_factory.addStep(sync_clean)
     windows_64_deep_factory.addStep(sync_clone(url=HG_URL))
     windows_64_deep_factory.addStep(sync_update)
     windows_64_deep_factory.addStep(bb_slaveupdate(slave="windows64-deep"))
     windows_64_deep_factory.addStep(download_testmedia)
     windows_64_deep_factory.addStep(test_selftest(name="Debug", shellname="avmshell_d_64"))
     windows_64_deep_factory.addStep(test_selftest(name="ReleaseDebugger", shellname="avmshell_s_64"))
     windows_64_deep_factory.addStep(test_selftest(name="DebugDebugger", shellname="avmshell_sd_64"))
-    windows_64_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air_64", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger --target=x86_64-win", upload="true"))
+    windows_64_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air_64", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger --target=x86_64-win", upload="true", features="+AVMSYSTEM_64BIT +AVMSYSTEM_AMD64 +AVMFEATURE_DEBUGGER +AVMFEATURE_OVERRIDE_GLOBAL_NEW +AVMFEATURE_USE_SYSTEM_MALLOC"))
     windows_64_deep_factory.addStep(test_generic(name="ReleaseDebugger-air", shellname="avmshell_air_64", vmargs="", config="", scriptargs=""))
     windows_64_deep_factory.addStep(test_generic(name="Debug", shellname="avmshell_d_64", vmargs="", config="x64-win-tvm-debug-deep", scriptargs=""))
     windows_64_deep_factory.addStep(test_generic(name="DebugDebugger", shellname="avmshell_sd_64", vmargs="", config="x64-win-tvm-debugdebugger-deep", scriptargs=""))
     windows_64_deep_factory.addStep(deep_release_esc)
     windows_64_deep_factory.addStep(test_generic(name="ReleaseDebugger-Dverifyall", shellname="avmshell_s_64", vmargs="-Dverifyall", config="", scriptargs=""))
     windows_64_deep_factory.addStep(test_generic(name="DebugDebugger-Dverifyall", shellname="avmshell_sd_64", vmargs="-Dverifyall", config="", scriptargs=""))
     windows_64_deep_factory.addStep( TestSuiteShellCommand(
                 command=['../all/run-acceptance-avmdiff-3264.sh', WithProperties('%s','revision')],
@@ -2209,22 +2217,22 @@ class tamarinredux:
     linux_deep_factory.addStep(bb_slaveupdate(slave="linux-deep"))
     linux_deep_factory.addStep(download_testmedia)
     linux_deep_factory.addStep(test_selftest(name="Debug", shellname="avmshell_d"))
     linux_deep_factory.addStep(test_selftest(name="ReleaseDebugger", shellname="avmshell_s"))
     linux_deep_factory.addStep(test_selftest(name="DebugDebugger", shellname="avmshell_sd"))
     linux_deep_factory.addStep(test_generic(name="Release-Djitordie", shellname="avmshell", vmargs="-Djitordie", config="", scriptargs=""))
     linux_deep_factory.addStep(test_generic(name="ReleaseDebugger-nodebugger", shellname="avmshell_s", vmargs="-Dnodebugger", config="", scriptargs=""))
     linux_deep_factory.addStep(test_generic(name="DebugDebugger-nodebugger", shellname="avmshell_sd", vmargs="-Dnodebugger", config="", scriptargs=""))
-    linux_deep_factory.addStep(compile_generic(name="Release-nojit", shellname="avmshell_nojit", args="--enable-shell --disable-jit", upload="true"))
+    linux_deep_factory.addStep(compile_generic(name="Release-nojit", shellname="avmshell_nojit", args="--enable-shell --disable-jit", upload="true", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32"))
     linux_deep_factory.addStep(test_generic(name="Release-nojit", shellname="avmshell_nojit", vmargs="", config="x86-lnx-tvm-release-nojit", scriptargs=""))
-    linux_deep_factory.addStep(compile_generic(name="Release-system-malloc", shellname="avmshell_sysmalloc", args="--enable-shell --enable-use-system-malloc", upload="true"))
+    linux_deep_factory.addStep(compile_generic(name="Release-system-malloc", shellname="avmshell_sysmalloc", args="--enable-shell --enable-use-system-malloc", upload="true", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_USE_SYSTEM_MALLOC"))
     linux_deep_factory.addStep(test_generic(name="Release-system-malloc", shellname="avmshell_sysmalloc", vmargs="", config="x86-lnx-tvm-release-use-system-malloc", scriptargs=""))
     linux_deep_factory.addStep(test_misc)
-    linux_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger", upload="true"))
+    linux_deep_factory.addStep(compile_generic(name="ReleaseDebugger-air", shellname="avmshell_air", args="--enable-shell --enable-override-global-new --enable-use-system-malloc --enable-debugger", upload="true", features="+AVMSYSTEM_32BIT +AVMSYSTEM_IA32 +AVMFEATURE_DEBUGGER +AVMFEATURE_OVERRIDE_GLOBAL_NEW +AVMFEATURE_USE_SYSTEM_MALLOC"))
     linux_deep_factory.addStep(test_generic(name="ReleaseDebugger-air", shellname="avmshell_air", vmargs="", config="", scriptargs=""))
     linux_deep_factory.addStep(test_generic(name="Release-Dgreedy", shellname="avmshell", vmargs="-Dgreedy", config="", scriptargs="--timeout=180 --random"))
     linux_deep_factory.addStep(test_generic(name="DebugDebugger_VerifyAll", shellname="avmshell_sd", vmargs="", config="", scriptargs="--verify --timeout=300 --random"))
     linux_deep_factory.addStep(test_generic(name="DebugDebugger_VerifyOnly", shellname="avmshell_sd", vmargs="", config="", scriptargs="--verifyonly --timeout=300 --random"))
     linux_deep_factory.addStep(deep_codecoverage(compilecsv="../all/codecoverage-compile.csv", testcsv="../all/codecoverage-test.csv"))
     linux_deep_factory.addStep(deep_codecoverage_process)
     linux_deep_factory.addStep(util_process_clean)
     linux_deep_factory.addStep(util_clean_buildsdir)
new file mode 100755
--- /dev/null
+++ b/build/buildbot/slaves/all/build-doxygen.sh
@@ -0,0 +1,94 @@
+#!/bin/bash
+# -*-Mode: Shell-script; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*-
+#  ***** BEGIN LICENSE BLOCK *****
+#  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License. You may obtain a copy of the License at
+#  http://www.mozilla.org/MPL/
+#
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+#
+#  The Original Code is [Open Source Virtual Machine.].
+#
+#  The Initial Developer of the Original Code is
+#  Adobe System Incorporated.
+#  Portions created by the Initial Developer are Copyright (C) 2010
+#  the Initial Developer. All Rights Reserved.
+#
+#  Contributor(s):
+#    Adobe AS3 Team
+#
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 2 or later (the "GPL"), or
+#  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+#  in which case the provisions of the GPL or the LGPL are applicable instead
+#  of those above. If you wish to allow use of your version of this file only
+#  under the terms of either the GPL or the LGPL, and not to allow others to
+#  use your version of this file under the terms of the MPL, indicate your
+#  decision by deleting the provisions above and replace them with the notice
+#  and other provisions required by the GPL or the LGPL. If you do not delete
+#  the provisions above, a recipient may use your version of this file under
+#  the terms of any one of the MPL, the GPL or the LGPL.
+#
+#  ***** END LICENSE BLOCK ****
+(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed
+
+
+##
+# Bring in the environment variables
+##
+. ./environment.sh
+
+##
+# Calculate the change number and change id
+##
+. ../all/util-calculate-change.sh $1
+
+# Need to export the change and changeid so that doxygen can see the values
+export change=${change}
+export changeid=${changeid}
+
+##
+# Make sure that docs directory is clean
+##
+cd $basedir
+test -d docs && {
+    echo Remove directory $basedir/docs
+    rm -rf $basedir/docs
+}
+mkdir $basedir/docs
+
+# build the doxygen docs
+doxygen Doxyfile
+res=$?
+test "$res" = "0" || {
+    echo "doxygen failed, return value $res"
+    exit 1
+}
+
+# zip up the source to move to tamarin-builds
+cd $basedir/docs
+zip -r doxygen.zip html/
+
+echo; echo; echo "===> Copy the new doxygen docs to tamarin-builds"
+scp doxygen.zip ${scp_doxygen}
+
+echo; echo; echo "===> Remove the old doxygen docs from tamarin-builds"
+ssh ${doxygen_host} "cd ${doxygen_dir}; rm -rf html/"
+
+echo; echo; echo "===> Unpack the doxygen.zip"
+ssh ${doxygen_host} "cd ${doxygen_dir}; unzip doxygen.zip"
+
+echo; echo; echo "===> Clean up the doxygen.zip file"
+ssh ${doxygen_host} "cd ${doxygen_dir}; rm doxygen.zip"
+
+echo; echo; echo "===> Clean up the local repo"
+cd $basedir
+rm -rf docs/
+
+exit 0
--- a/build/buildbot/slaves/all/environment.sh
+++ b/build/buildbot/slaves/all/environment.sh
@@ -106,16 +106,20 @@ export ftp_asteam=10.60.48.47
 
 export scp_mozilla="stage.mozilla.org:/home/ftp/pub/js/tamarin/builds"
 export coverage_host=10.171.22.12
 export coverage_dir="/cygdrive/e/AVMTeam/wwwroot/analytics/codecoverage"
 export scp_coverage="${coverage_host}:${coverage_dir}"
 export http_coverage=http://tamarin-builds.mozilla.org/analytics/codecoverage
 export coverage_skips=eval,other-licenses,pcre,Total
 
+export doxygen_host=10.171.22.12
+export doxygen_dir="/cygdrive/e/AVMTeam/wwwroot/doxygen"
+export scp_doxygen="${doxygen_host}:${doxygen_dir}"
+
 baselineBranchTime=tamarin-flash
 baselineConfigTime=
 baselineBuildTime=458340
 baselineConfigTimeJIT=${mir}
 baselineBuildTimeJIT=458340
 baselineConfigTimeInterp=${interp}
 baselineBuildTimeInterp=458340