Bug 550863: add compilation and testing of shell for arm-linux (r=dschaffe)
authorBrent Baker <brbaker@adobe.com>
Tue, 09 Mar 2010 09:33:56 -0500
changeset 3960 d44bac673a6413eacb7e7856afa996a043a3fc9b
parent 3959 b30091341286977be4a4361efbdb9ed63a835557
child 3962 b21e9c7aa7351d7d00f1c0799d9c2c6d53ce803c
push id2126
push userbrbaker@adobe.com
push dateTue, 09 Mar 2010 14:35:25 +0000
reviewersdschaffe
bugs550863
Bug 550863: add compilation and testing of shell for arm-linux (r=dschaffe)
build/buildbot/master/argo.py
build/buildbot/master/master.cfg
build/buildbot/master/public_html/announce.html
build/buildbot/master/sandbox.py
build/buildbot/master/tamarinredux.py
--- a/build/buildbot/master/argo.py
+++ b/build/buildbot/master/argo.py
@@ -59,72 +59,77 @@ class argo:
                      builderNames=["windows-compile-argo", "windows64-compile-argo",
                                    "mac-intel-10.4-compile-argo", "mac-intel-10.5-compile-argo", "mac64-intel-compile-argo",
                                    "mac-ppc-10.4a-compile-argo", "mac-ppc-10.4b-compile-argo", 
                                    "mac-ppc-10.5a-compile-argo", "mac-ppc-10.5b-compile-argo", 
                                    "mac64-ppc-compile-argo",
                                    "linux-compile-argo", "linux64-compile-argo",
                                    "winmobile-emulator-compile-argo",
                                    "solaris-sparc-compile-argo",
-                                   "android-compile-argo"])
+                                   "android-compile-argo",
+                                   "linux-arm-compile-argo"])
 
     smoke = BuilderDependent(name="smoke-argo",upstream=compile, callbackInterval=60,
                     builderNames=["windows-smoke-argo", "windows64-smoke-argo",
                                    "mac-intel-10.4-smoke-argo", "mac-intel-10.5-smoke-argo", "mac64-intel-smoke-argo",
                                    "mac-ppc-10.4a-smoke-argo", "mac-ppc-10.4b-smoke-argo", 
                                    "mac-ppc-10.5a-smoke-argo", "mac-ppc-10.5b-smoke-argo", 
                                    "mac64-ppc-smoke-argo",
                                    "linux-smoke-argo", "linux64-smoke-argo",
                                    "winmobile-emulator-smoke-argo",
                                    "solaris-sparc-smoke-argo",
-                                   "android-smoke-argo"],
+                                   "android-smoke-argo",
+                                   "linux-arm-smoke-argo"],
                     builderDependencies=[
                                   ["windows-smoke-argo", "windows-compile-argo"], 
                                   ["windows64-smoke-argo", "windows64-compile-argo"], 
                                   ["mac-intel-10.4-smoke-argo", "mac-intel-10.4-compile-argo"], 
                                   ["mac-intel-10.5-smoke-argo", "mac-intel-10.5-compile-argo"],
                                   ["mac64-intel-smoke-argo", "mac64-intel-compile-argo"],
                                   ["mac-ppc-10.4a-smoke-argo", "mac-intel-10.4-compile-argo"],
                                   ["mac-ppc-10.4b-smoke-argo", "mac-intel-10.4-compile-argo"],
                                   ["mac-ppc-10.5a-smoke-argo", "mac-intel-10.5-compile-argo"],
                                   ["mac-ppc-10.5b-smoke-argo", "mac-intel-10.5-compile-argo"],
                                   ["mac64-ppc-smoke-argo", "mac64-intel-compile-argo"],
                                   ["linux-smoke-argo", "linux-compile-argo"],
                                   ["linux64-smoke-argo", "linux64-compile-argo"],
                                   ["winmobile-emulator-smoke-argo", "winmobile-emulator-compile-argo"],
                                   ["solaris-sparc-smoke-argo", "solaris-sparc-compile-argo"],
                                   ["android-smoke-argo","android-compile-argo"],
+                                  ["linux-arm-smoke-argo","linux-compile-argo"],
                                  ])
 
     test = BuilderDependent(name="test-argo",upstream=smoke, callbackInterval=60,
                     builderNames=["windows-test-argo", "windows64-test-argo",
                                    "mac-intel-10.4-test-argo", "mac-intel-10.5-test-argo", "mac64-intel-test-argo",
                                    "mac-ppc-10.4a-test-argo", "mac-ppc-10.4b-test-argo", 
                                    "mac-ppc-10.5a-test-argo", "mac-ppc-10.5b-test-argo", 
                                    "mac64-ppc-test-argo",
                                    "linux-test-argo", "linux64-test-argo",
                                    "winmobile-emulator-test-argo",
                                    "solaris-sparc-test-argo",
-                                   "android-test-argo"],
+                                   "android-test-argo",
+                                   "linux-arm-test-argo"],
                     builderDependencies=[
                                   ["windows-test-argo", "windows-smoke-argo"], 
                                   ["windows64-test-argo", "windows64-smoke-argo"], 
                                   ["mac-intel-10.4-test-argo", "mac-intel-10.4-smoke-argo"], 
                                   ["mac-intel-10.5-test-argo", "mac-intel-10.5-smoke-argo"],
                                   ["mac64-intel-test-argo", "mac64-intel-smoke-argo"],
                                   ["mac-ppc-10.4a-test-argo", "mac-ppc-10.4a-smoke-argo"],
                                   ["mac-ppc-10.4b-test-argo", "mac-ppc-10.4b-smoke-argo"],
                                   ["mac-ppc-10.5a-test-argo", "mac-ppc-10.5a-smoke-argo"],
                                   ["mac-ppc-10.5b-test-argo", "mac-ppc-10.5b-smoke-argo"],
                                   ["mac64-ppc-test-argo", "mac64-ppc-smoke-argo"],
                                   ["linux-test-argo", "linux-smoke-argo"],
                                   ["linux64-test-argo", "linux64-smoke-argo"],
                                   ["winmobile-emulator-test-argo", "winmobile-emulator-smoke-argo"],
                                   ["solaris-sparc-test-argo", "solaris-sparc-smoke-argo"],
                                   ["android-test-argo", "android-smoke-argo"],
+                                  ["linux-arm-test-argo", "linux-arm-smoke-argo"],
                                  ])
 
     performance = PhaseTwoScheduler(name="performance-argo", branch="%s-performance" % BRANCH, treeStableTimer=30, 
                     fileIsImportant=startPerformanceRun, priority=1, changeDir="changes/perf/processed",
                     builderNames=["windows-performance-argo",
                                    "mac-performance-argo", "mac64-performance-argo",
                                    "mac-ppc-performance-argo",
                                    "linux-performance-argo",
@@ -439,16 +444,44 @@ class argo:
     linux_compile_factory.addStep(BuildShellCommand(
                 command=['./build-release-cov.sh', WithProperties('%s','revision')],
                 env={'branch': WithProperties('%s','branch')},
                 description='starting linux code coverage release build...',
                 descriptionDone='finished linux code coverage release build.',
                 name="Build_Release_cov",
                 workdir="../repo/build/buildbot/slaves/scripts")
     )
+    linux_compile_factory.addStep(BuildShellCommand(
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-arm-neon --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',
+                },
+                description='starting Release_arm-linux build...',
+                descriptionDone='finished Release_arm-linux build.',
+                name="Release_arm-linux",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
+    linux_compile_factory.addStep(BuildShellCommand(
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debug --enable-arm-neon --target=arm-linux --enable-sys-root-dir=/usr/local/arm-linux/debian5', 'avmshell_neon_arm_d', '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',
+                },
+                description='starting Debug_arm-linux build...',
+                descriptionDone='finished Debug_arm-linux build.',
+                name="Debug_arm-linux",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
     linux_compile_factory.addStep(compile_buildcheck_local)
     linux_compile_factory.addStep(util_upload_asteam_local)
 
     linux_compile_builder = {
                 'name': "linux-compile-argo",
                 'slavename': "asteamlin1",
                 'factory': linux_compile_factory,
                 'builddir': './argo-linux-compile',
@@ -589,16 +622,33 @@ class argo:
 
     android_compile_builder = {
                 'name': "android-compile-argo",
                 'slavename': "asteammac12",
                 'factory': android_compile_factory,
                 'builddir': './argo-android-compile',
     }
 
+
+    ###############################
+    #### builder for linux-arm ####
+    ###############################
+    linux_arm_compile_factory = factory.BuildFactory()
+    linux_arm_compile_factory.addStep(sync_clean)
+    linux_arm_compile_factory.addStep(sync_clone(url=HG_URL))
+    linux_arm_compile_factory.addStep(sync_update)
+    linux_arm_compile_factory.addStep(bb_slaveupdate(slave="linux-arm"))
+
+    linux_arm_compile_builder = {
+                'name': "linux-arm-compile-argo",
+                'slavename': "asteamlinarm1",
+                'factory': linux_arm_compile_factory,
+                'builddir': './argo-linux-arm-compile',
+    }
+
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            SMOKE BUILDERS                              ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
 
@@ -846,16 +896,38 @@ class argo:
     android_smoke_builder = {
                 'name': "android-smoke-argo",
                 'slavename': "asteammac12",
                 'factory': android_smoke_factory,
                 'builddir': './argo-android-smoke',
     }
 
 
+    ###########################################
+    #### builder for linxu-arm-smoke       ####
+    ###########################################
+    linux_arm_smoke_factory = factory.BuildFactory()
+    linux_arm_smoke_factory.addStep(download_testmedia)
+    linux_arm_smoke_factory.addStep(TestSuiteShellCommand(
+                command=['../all/run-smoketests.sh', WithProperties('%s','revision'), './runsmokes-arm.txt'],
+                env={'branch': WithProperties('%s','branch')},
+                description='starting to run smoke tests...',
+                descriptionDone='finished smoke tests.',
+                name="SmokeTest",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
+    linux_arm_smoke_factory.addStep(util_process_clean)
+
+    linux_arm_smoke_builder = {
+                'name': "linux-arm-smoke-argo",
+                'slavename': "asteamlinarm1",
+                'factory': linux_arm_smoke_factory,
+                'builddir': './argo-linux-arm-smoke',
+    }
+
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            TEST BUILDERS                               ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
@@ -1184,16 +1256,36 @@ class argo:
     android_test_factory.addStep(util_process_clean)
 
     android_test_builder = {
                 'name': "android-test-argo",
                 'slavename': "asteammac12",
                 'factory': android_test_factory,
                 'builddir': './argo-android-test',
     }
+    
+    
+    ##########################################
+    #### builder for linux-arm-test       ####
+    ##########################################
+    linux_arm_test_factory = factory.BuildFactory()
+    linux_arm_test_factory.addStep(test_generic(name="Release-softfloat", shellname="avmshell_neon_arm", vmargs="", config="", scriptargs=""))
+    linux_arm_test_factory.addStep(test_generic(name="Release-vfp", shellname="avmshell_neon_arm", vmargs="-Darm_arch 7 -Darm_vfp", config="", scriptargs=""))
+    linux_arm_test_factory.addStep(test_generic(name="Release-interp", shellname="avmshell_neon_arm", vmargs="-Dinterp", config="", scriptargs=""))
+    linux_arm_test_factory.addStep(test_generic(name="Release-jit-vfp", shellname="avmshell_neon_arm", vmargs="-Darm_arch 7 -Darm_vfp -Ojit", config="", scriptargs=""))
+    linux_arm_test_factory.addStep(test_generic(name="Debug-vfp", shellname="avmshell_neon_arm_d", vmargs="-Darm_arch 7 -Darm_vfp", config="", scriptargs=""))
+    
+    linux_arm_test_factory.addStep(util_process_clean)
+
+    linux_arm_test_builder = {
+                'name': "linux-arm-test-argo",
+                'slavename': "asteamlinarm1",
+                'factory': linux_arm_test_factory,
+                'builddir': './argo-linux-arm-test',
+    }
 
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                     PERFORMANCE BUILDERS                               ####
     ####                                                                        ####
@@ -1596,48 +1688,51 @@ class argo:
                 mac_ppc_105a_compile_builder,
                 mac_ppc_105b_compile_builder,
                 mac_ppc_64_compile_builder,
                 linux_compile_builder,
                 linux_64_compile_builder,
                 winmobile_emulator_compile_builder,
                 solaris_sparc_compile_builder,
                 android_compile_builder,
+                linux_arm_compile_builder,
                 
                 windows_smoke_builder,
                 windows_64_smoke_builder,
                 mac_intel_104_smoke_builder,
                 mac_intel_105_smoke_builder,
                 mac_intel_64_smoke_builder,
                 mac_ppc_104a_smoke_builder,
                 mac_ppc_104b_smoke_builder,
                 mac_ppc_105a_smoke_builder,
                 mac_ppc_105b_smoke_builder,
                 mac_ppc_64_smoke_builder,
                 linux_smoke_builder,
                 linux_64_smoke_builder,
                 winmobile_emulator_smoke_builder,
                 solaris_sparc_smoke_builder,
                 android_smoke_builder,
+                linux_arm_smoke_builder,
                 
                 windows_test_builder,
                 windows_64_test_builder,
                 mac_intel_104_test_builder,
                 mac_intel_105_test_builder,
                 mac_intel_64_test_builder,
                 mac_ppc_104a_test_builder,
                 mac_ppc_104b_test_builder,
                 mac_ppc_105a_test_builder,
                 mac_ppc_105b_test_builder,
                 mac_ppc_64_test_builder,
                 linux_test_builder,
                 linux_64_test_builder,
                 winmobile_emulator_test_builder,
                 solaris_sparc_test_builder,
                 android_test_builder,
+                linux_arm__builder,
 
                 windows_performance_builder,
                 mac_performance_builder,
                 mac_64_performance_builder,
                 mac_ppc_performance_builder,
                 linux_performance_builder,
                 winmobile_performance_builder,
 
--- a/build/buildbot/master/master.cfg
+++ b/build/buildbot/master/master.cfg
@@ -69,16 +69,17 @@ c['slaves'] = [BuildSlave("asteamwin2", 
                BuildSlave("asteammac12", "asteam"),
                BuildSlave("tamarin-xserve", "asteam"),
                BuildSlave("tamarin-xserve2", "asteam"),
             
                BuildSlave("asteammac5-64bit", "asteam"),
 
                BuildSlave("asteamlin1", "asteam"),
                BuildSlave("asteamlin5", "asteam"),
+               BuildSlave("asteamlinarm1", "asteam"),
 
                BuildSlave("asteamsol4", "asteam"),
                BuildSlave("asteamsol1", "asteam"),
 
                BuildSlave("asteamwin1", "asteam"),
                BuildSlave("asteammac2", "asteam"),
                BuildSlave("asteammac7", "asteam"),
                BuildSlave("asteammac3", "asteam"),
--- a/build/buildbot/master/public_html/announce.html
+++ b/build/buildbot/master/public_html/announce.html
@@ -98,31 +98,31 @@
             </td>
             <td width="1" bgcolor="#CCCCCC">
             </td>
             <td width="2%">
             </td>
             <td width="72%">
                 <table width="100%">
                     <script language="javascript">
-                        var compile = "builder=windows-compile&builder=windows64-compile&builder=mac-intel-10.4-compile&builder=mac-intel-10.5-compile&builder=mac64-intel-compile&builder=mac-ppc-10.4a-compile&builder=mac-ppc-10.4b-compile&builder=mac-ppc-10.5a-compile&builder=mac-ppc-10.5b-compile&builder=mac64-ppc-compile&builder=linux-compile&builder=linux64-compile&builder=winmobile-emulator-compile&builder=solaris-sparc-compile&builder=android-compile"
-                        var smoke = "builder=windows-smoke&builder=windows64-smoke&builder=mac-intel-10.4-smoke&builder=mac-intel-10.5-smoke&builder=mac64-intel-smoke&builder=mac-ppc-10.4a-smoke&builder=mac-ppc-10.4b-smoke&builder=mac-ppc-10.5a-smoke&builder=mac-ppc-10.5b-smoke&builder=mac64-ppc-smoke&builder=linux-smoke&builder=linux64-smoke&builder=winmobile-emulator-smoke&builder=solaris-sparc-smoke&builder=android-smoke"
-                        var test = "builder=windows-test&builder=windows64-test&builder=mac-intel-10.4-test&builder=mac-intel-10.5-test&builder=mac64-intel-test&builder=mac-ppc-10.4a-test&builder=mac-ppc-10.4b-test&builder=mac-ppc-10.5a-test&builder=mac-ppc-10.5b-test&builder=mac64-ppc-test&builder=linux-test&builder=linux64-test&builder=winmobile-emulator-test&builder=solaris-sparc-test&builder=android-test"
+                        var compile = "builder=windows-compile&builder=windows64-compile&builder=mac-intel-10.4-compile&builder=mac-intel-10.5-compile&builder=mac64-intel-compile&builder=mac-ppc-10.4a-compile&builder=mac-ppc-10.4b-compile&builder=mac-ppc-10.5a-compile&builder=mac-ppc-10.5b-compile&builder=mac64-ppc-compile&builder=linux-compile&builder=linux64-compile&builder=winmobile-emulator-compile&builder=solaris-sparc-compile&builder=android-compile&builder=linux-arm-compile"
+                        var smoke = "builder=windows-smoke&builder=windows64-smoke&builder=mac-intel-10.4-smoke&builder=mac-intel-10.5-smoke&builder=mac64-intel-smoke&builder=mac-ppc-10.4a-smoke&builder=mac-ppc-10.4b-smoke&builder=mac-ppc-10.5a-smoke&builder=mac-ppc-10.5b-smoke&builder=mac64-ppc-smoke&builder=linux-smoke&builder=linux64-smoke&builder=winmobile-emulator-smoke&builder=solaris-sparc-smoke&builder=android-smoke&builder=linux-arm-smoke"
+                        var test = "builder=windows-test&builder=windows64-test&builder=mac-intel-10.4-test&builder=mac-intel-10.5-test&builder=mac64-intel-test&builder=mac-ppc-10.4a-test&builder=mac-ppc-10.4b-test&builder=mac-ppc-10.5a-test&builder=mac-ppc-10.5b-test&builder=mac64-ppc-test&builder=linux-test&builder=linux64-test&builder=winmobile-emulator-test&builder=solaris-sparc-test&builder=android-test&builder=linux-arm-test"
                         var performance = "builder=windows-performance&builder=mac-performance&builder=mac64-performance&builder=mac-ppc-performance&builder=linux-performance&builder=winmobile-performance"
                         var deep = "builder=windows-deep&builder=windows-p3-deep&builder=mac-ppc-deep&builder=windows64-deep&builder=solaris-sparc-deep&builder=winmobile-emulator-deep&builder=linux-deep&builder=windows-frr"
 
-                        var compile_argo = "builder=windows-compile-argo&builder=windows64-compile-argo&builder=mac-intel-10.4-compile-argo&builder=mac-intel-10.5-compile-argo&builder=mac64-intel-compile-argo&builder=mac-ppc-10.4a-compile-argo&builder=mac-ppc-10.4b-compile-argo&builder=mac-ppc-10.5a-compile-argo&builder=mac-ppc-10.5b-compile-argo&builder=mac64-ppc-compile-argo&builder=linux-compile-argo&builder=linux64-compile-argo&builder=winmobile-emulator-compile-argo&builder=solaris-sparc-compile-argo&builder=android-compile-argo"
-                        var smoke_argo = "builder=windows-smoke-argo&builder=windows64-smoke-argo&builder=mac-intel-10.4-smoke-argo&builder=mac-intel-10.5-smoke-argo&builder=mac64-intel-smoke-argo&builder=mac-ppc-10.4a-smoke-argo&builder=mac-ppc-10.4b-smoke-argo&builder=mac-ppc-10.5a-smoke-argo&builder=mac-ppc-10.5b-smoke-argo&builder=mac64-ppc-smoke-argo&builder=linux-smoke-argo&builder=linux64-smoke-argo&builder=winmobile-emulator-smoke-argo&builder=solaris-sparc-smoke-argo&builder=android-smoke-argo"
-                        var test_argo = "builder=windows-test-argo&builder=windows64-test-argo&builder=mac-intel-10.4-test-argo&builder=mac-intel-10.5-test-argo&builder=mac64-intel-test-argo&builder=mac-ppc-10.4a-test-argo&builder=mac-ppc-10.4b-test-argo&builder=mac-ppc-10.5a-test-argo&builder=mac-ppc-10.5b-test-argo&builder=mac64-ppc-test-argo&builder=linux-test-argo&builder=linux64-test-argo&builder=winmobile-emulator-test-argo&builder=solaris-sparc-test-argo&builder=android-test-argo"
+                        var compile_argo = "builder=windows-compile-argo&builder=windows64-compile-argo&builder=mac-intel-10.4-compile-argo&builder=mac-intel-10.5-compile-argo&builder=mac64-intel-compile-argo&builder=mac-ppc-10.4a-compile-argo&builder=mac-ppc-10.4b-compile-argo&builder=mac-ppc-10.5a-compile-argo&builder=mac-ppc-10.5b-compile-argo&builder=mac64-ppc-compile-argo&builder=linux-compile-argo&builder=linux64-compile-argo&builder=winmobile-emulator-compile-argo&builder=solaris-sparc-compile-argo&builder=android-compile-argo&builder=linux-arm-compile-argo"
+                        var smoke_argo = "builder=windows-smoke-argo&builder=windows64-smoke-argo&builder=mac-intel-10.4-smoke-argo&builder=mac-intel-10.5-smoke-argo&builder=mac64-intel-smoke-argo&builder=mac-ppc-10.4a-smoke-argo&builder=mac-ppc-10.4b-smoke-argo&builder=mac-ppc-10.5a-smoke-argo&builder=mac-ppc-10.5b-smoke-argo&builder=mac64-ppc-smoke-argo&builder=linux-smoke-argo&builder=linux64-smoke-argo&builder=winmobile-emulator-smoke-argo&builder=solaris-sparc-smoke-argo&builder=android-smoke-argo&builder=linux-arm-smoke-argo"
+                        var test_argo = "builder=windows-test-argo&builder=windows64-test-argo&builder=mac-intel-10.4-test-argo&builder=mac-intel-10.5-test-argo&builder=mac64-intel-test-argo&builder=mac-ppc-10.4a-test-argo&builder=mac-ppc-10.4b-test-argo&builder=mac-ppc-10.5a-test-argo&builder=mac-ppc-10.5b-test-argo&builder=mac64-ppc-test-argo&builder=linux-test-argo&builder=linux64-test-argo&builder=winmobile-emulator-test-argo&builder=solaris-sparc-test-argo&builder=android-test-argo&builder=linux-arm-test-argo"
                         var performance_argo = "builder=windows-performance-argo&builder=mac-performance-argo&builder=mac64-performance-argo&builder=mac-ppc-performance-argo&builder=linux-performance-argo&builder=winmobile-performance-argo"
                         var deep_argo = "builder=windows-deep-argo&builder=windows-p3-deep-argo&builder=mac-ppc-deep-argo&builder=windows64-deep-argo&builder=solaris-sparc-deep-argo&builder=winmobile-emulator-deep-argo&builder=linux-deep-argo&builder=windows-frr-argo"
 
-                        var compile_sandbox = "builder=windows-compile-sandbox&builder=windows64-compile-sandbox&builder=mac-intel-10.4-compile-sandbox&builder=mac-intel-10.5-compile-sandbox&builder=mac64-intel-compile-sandbox&builder=mac-ppc-10.4a-compile-sandbox&builder=mac-ppc-10.4b-compile-sandbox&builder=mac-ppc-10.5a-compile-sandbox&builder=mac-ppc-10.5b-compile-sandbox&builder=mac64-ppc-compile-sandbox&builder=linux-compile-sandbox&builder=linux64-compile-sandbox&builder=winmobile-emulator-compile-sandbox&builder=solaris-sparc-compile-sandbox&builder=android-compile-sandbox"
-                        var smoke_sandbox = "builder=windows-smoke-sandbox&builder=windows64-smoke-sandbox&builder=mac-intel-10.4-smoke-sandbox&builder=mac-intel-10.5-smoke-sandbox&builder=mac64-intel-smoke-sandbox&builder=mac-ppc-10.4a-smoke-sandbox&builder=mac-ppc-10.4b-smoke-sandbox&builder=mac-ppc-10.5a-smoke-sandbox&builder=mac-ppc-10.5b-smoke-sandbox&builder=mac64-ppc-smoke-sandbox&builder=linux-smoke-sandbox&builder=linux64-smoke-sandbox&builder=winmobile-emulator-smoke-sandbox&builder=solaris-sparc-smoke-sandbox&builder=android-smoke-sandbox"
-                        var test_sandbox = "builder=windows-test-sandbox&builder=windows64-test-sandbox&builder=mac-intel-10.4-test-sandbox&builder=mac-intel-10.5-test-sandbox&builder=mac64-intel-test-sandbox&builder=mac-ppc-10.4a-test-sandbox&builder=mac-ppc-10.4b-test-sandbox&builder=mac-ppc-10.5a-test-sandbox&builder=mac-ppc-10.5b-test-sandbox&builder=mac64-ppc-test-sandbox&builder=linux-test-sandbox&builder=linux64-test-sandbox&builder=winmobile-emulator-test-sandbox&builder=solaris-sparc-test-sandbox&builder=android-test-sandbox"
+                        var compile_sandbox = "builder=windows-compile-sandbox&builder=windows64-compile-sandbox&builder=mac-intel-10.4-compile-sandbox&builder=mac-intel-10.5-compile-sandbox&builder=mac64-intel-compile-sandbox&builder=mac-ppc-10.4a-compile-sandbox&builder=mac-ppc-10.4b-compile-sandbox&builder=mac-ppc-10.5a-compile-sandbox&builder=mac-ppc-10.5b-compile-sandbox&builder=mac64-ppc-compile-sandbox&builder=linux-compile-sandbox&builder=linux64-compile-sandbox&builder=winmobile-emulator-compile-sandbox&builder=solaris-sparc-compile-sandbox&builder=android-compile-sandbox&builder=linux-arm-compile-sandbox"
+                        var smoke_sandbox = "builder=windows-smoke-sandbox&builder=windows64-smoke-sandbox&builder=mac-intel-10.4-smoke-sandbox&builder=mac-intel-10.5-smoke-sandbox&builder=mac64-intel-smoke-sandbox&builder=mac-ppc-10.4a-smoke-sandbox&builder=mac-ppc-10.4b-smoke-sandbox&builder=mac-ppc-10.5a-smoke-sandbox&builder=mac-ppc-10.5b-smoke-sandbox&builder=mac64-ppc-smoke-sandbox&builder=linux-smoke-sandbox&builder=linux64-smoke-sandbox&builder=winmobile-emulator-smoke-sandbox&builder=solaris-sparc-smoke-sandbox&builder=android-smoke-sandbox&builder=linux-arm-smoke-sandbox"
+                        var test_sandbox = "builder=windows-test-sandbox&builder=windows64-test-sandbox&builder=mac-intel-10.4-test-sandbox&builder=mac-intel-10.5-test-sandbox&builder=mac64-intel-test-sandbox&builder=mac-ppc-10.4a-test-sandbox&builder=mac-ppc-10.4b-test-sandbox&builder=mac-ppc-10.5a-test-sandbox&builder=mac-ppc-10.5b-test-sandbox&builder=mac64-ppc-test-sandbox&builder=linux-test-sandbox&builder=linux64-test-sandbox&builder=winmobile-emulator-test-sandbox&builder=solaris-sparc-test-sandbox&builder=android-test-sandbox&builder=linux-arm-test-sandbox"
 
                         var bar = "./horizontal_one_box_per_builder"
                         var waterfall = "./waterfall"
                         var status_url = "http://tamarin-builds.mozilla.org/build_trigger/isactive.cfm?builder="
 
                         function GetUrl(type, content) {
                             return type + "?" + content;
                         }
--- a/build/buildbot/master/sandbox.py
+++ b/build/buildbot/master/sandbox.py
@@ -60,72 +60,77 @@ class sandbox:
                                    "mac-intel-10.4-compile-sandbox", "mac-intel-10.5-compile-sandbox", "mac64-intel-compile-sandbox",
                                    "mac-ppc-10.4a-compile-sandbox", "mac-ppc-10.4b-compile-sandbox", 
                                    "mac-ppc-10.5a-compile-sandbox", "mac-ppc-10.5b-compile-sandbox", 
                                    "mac64-ppc-compile-sandbox",
                                    "linux-compile-sandbox", "linux64-compile-sandbox",
                                    "winmobile-emulator-compile-sandbox",
                                    "solaris-sparc-compile-sandbox",
                                    "android-compile-sandbox",
+                                   "linux-arm-compile-sandbox",
                                    ])
 
     smoke = BuilderDependent(name="smoke-sandbox",upstream=compile, callbackInterval=60,
                     builderNames=["windows-smoke-sandbox", "windows64-smoke-sandbox",
                                    "mac-intel-10.4-smoke-sandbox", "mac-intel-10.5-smoke-sandbox", "mac64-intel-smoke-sandbox",
                                    "mac-ppc-10.4a-smoke-sandbox", "mac-ppc-10.4b-smoke-sandbox", 
                                    "mac-ppc-10.5a-smoke-sandbox", "mac-ppc-10.5b-smoke-sandbox", 
                                    "mac64-ppc-smoke-sandbox",
                                    "linux-smoke-sandbox", "linux64-smoke-sandbox",
                                    "winmobile-emulator-smoke-sandbox",
                                    "solaris-sparc-smoke-sandbox",
-                                   "android-smoke-sandbox"],
+                                   "android-smoke-sandbox",
+                                   "linux-arm-smoke-sandbox"],
                     builderDependencies=[
                                   ["windows-smoke-sandbox", "windows-compile-sandbox"], 
                                   ["windows64-smoke-sandbox", "windows64-compile-sandbox"], 
                                   ["mac-intel-10.4-smoke-sandbox", "mac-intel-10.4-compile-sandbox"], 
                                   ["mac-intel-10.5-smoke-sandbox", "mac-intel-10.5-compile-sandbox"],
                                   ["mac64-intel-smoke-sandbox", "mac64-intel-compile-sandbox"],
                                   ["mac-ppc-10.4a-smoke-sandbox", "mac-intel-10.4-compile-sandbox"],
                                   ["mac-ppc-10.4b-smoke-sandbox", "mac-intel-10.4-compile-sandbox"],
                                   ["mac-ppc-10.5a-smoke-sandbox", "mac-intel-10.5-compile-sandbox"],
                                   ["mac-ppc-10.5b-smoke-sandbox", "mac-intel-10.5-compile-sandbox"],
                                   ["mac64-ppc-smoke-sandbox", "mac64-intel-compile-sandbox"],
                                   ["linux-smoke-sandbox", "linux-compile-sandbox"],
                                   ["linux64-smoke-sandbox", "linux64-compile-sandbox"],
                                   ["winmobile-emulator-smoke-sandbox", "winmobile-emulator-compile-sandbox"],
                                   ["solaris-sparc-smoke-sandbox", "solaris-sparc-compile-sandbox"],
                                   ["android-smoke-sandbox","android-compile-sandbox"],
+                                  ["linux-arm-smoke-sandbox","linux-compile-sandbox"],
                                  ])
 
     test = BuilderDependent(name="test-sandbox",upstream=smoke, callbackInterval=60,
                     builderNames=["windows-test-sandbox", "windows64-test-sandbox",
                                    "mac-intel-10.4-test-sandbox", "mac-intel-10.5-test-sandbox", "mac64-intel-test-sandbox",
                                    "mac-ppc-10.4a-test-sandbox", "mac-ppc-10.4b-test-sandbox", 
                                    "mac-ppc-10.5a-test-sandbox", "mac-ppc-10.5b-test-sandbox", 
                                    "mac64-ppc-test-sandbox",
                                    "linux-test-sandbox", "linux64-test-sandbox",
                                    "winmobile-emulator-test-sandbox",
                                    "solaris-sparc-test-sandbox",
-                                   "android-test-sandbox"],
+                                   "android-test-sandbox",
+                                   "linux-arm-test-sandbox"],
                     builderDependencies=[
                                   ["windows-test-sandbox", "windows-smoke-sandbox"], 
                                   ["windows64-test-sandbox", "windows64-smoke-sandbox"], 
                                   ["mac-intel-10.4-test-sandbox", "mac-intel-10.4-smoke-sandbox"], 
                                   ["mac-intel-10.5-test-sandbox", "mac-intel-10.5-smoke-sandbox"],
                                   ["mac64-intel-test-sandbox", "mac64-intel-smoke-sandbox"],
                                   ["mac-ppc-10.4a-test-sandbox", "mac-ppc-10.4a-smoke-sandbox"],
                                   ["mac-ppc-10.4b-test-sandbox", "mac-ppc-10.4b-smoke-sandbox"],
                                   ["mac-ppc-10.5a-test-sandbox", "mac-ppc-10.5a-smoke-sandbox"],
                                   ["mac-ppc-10.5b-test-sandbox", "mac-ppc-10.5b-smoke-sandbox"],
                                   ["mac64-ppc-test-sandbox", "mac64-ppc-smoke-sandbox"],
                                   ["linux-test-sandbox", "linux-smoke-sandbox"],
                                   ["linux64-test-sandbox", "linux64-smoke-sandbox"],
                                   ["winmobile-emulator-test-sandbox", "winmobile-emulator-smoke-sandbox"],
                                   ["solaris-sparc-test-sandbox", "solaris-sparc-smoke-sandbox"],
                                   ["android-test-sandbox", "android-smoke-sandbox"],
+                                  ["linux-arm-test-sandbox", "linux-arm-smoke-sandbox"],
                                  ])
 
     schedulers = [compile, smoke, test]
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
@@ -391,16 +396,44 @@ class sandbox:
     sb_linux_compile_factory.addStep(BuildShellCommand(
                 command=['./build-release-cov.sh', WithProperties('%s','revision')],
                 env={'branch': WithProperties('%s','branch')},
                 description='starting linux code coverage release build...',
                 descriptionDone='finished linux code coverage release build.',
                 name="Build_Release_cov",
                 workdir="../repo/build/buildbot/slaves/scripts")
     )
+    sb_linux_compile_factory.addStep(BuildShellCommand(
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-arm-neon --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',
+                },
+                description='starting Release_arm-linux build...',
+                descriptionDone='finished Release_arm-linux build.',
+                name="Release_arm-linux",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
+    sb_linux_compile_factory.addStep(BuildShellCommand(
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debug --enable-arm-neon --target=arm-linux --enable-sys-root-dir=/usr/local/arm-linux/debian5', 'avmshell_neon_arm_d', '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',
+                },
+                description='starting Debug_arm-linux build...',
+                descriptionDone='finished Debug_arm-linux build.',
+                name="Debug_arm-linux",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
     sb_linux_compile_factory.addStep(compile_buildcheck_local)
     sb_linux_compile_factory.addStep(util_upload_asteam_local)
 
     sb_linux_compile_builder = {
                 'name': "linux-compile-sandbox",
                 'slavename': "asteamlin1",
                 'factory': sb_linux_compile_factory,
                 'builddir': './sandbox-linux-compile',
@@ -531,16 +564,32 @@ class sandbox:
     )
 
     sb_android_compile_builder = {
                 'name': "android-compile-sandbox",
                 'slavename': "asteammac12",
                 'factory': sb_android_compile_factory,
                 'builddir': './sandbox-android-compile',
     }
+    
+    ###############################
+    #### builder for linux-arm ####
+    ###############################
+    sb_linux_arm_compile_factory = factory.BuildFactory()
+    sb_linux_arm_compile_factory.addStep(sync_clean)
+    sb_linux_arm_compile_factory.addStep(sync_clone_sandbox)
+    sb_linux_arm_compile_factory.addStep(sync_update)
+    sb_linux_arm_compile_factory.addStep(bb_slaveupdate(slave="linux-arm"))
+
+    sb_linux_arm_compile_builder = {
+                'name': "linux-arm-compile-sandbox",
+                'slavename': "asteamlinarm1",
+                'factory': sb_linux_arm_compile_factory,
+                'builddir': './sandbox-linux-arm-compile',
+    }
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                     SANDBOX SMOKE BUILDERS                             ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
@@ -785,16 +834,38 @@ class sandbox:
     sb_android_smoke_factory.addStep(util_process_clean)
 
     sb_android_smoke_builder = {
                 'name': "android-smoke-sandbox",
                 'slavename': "asteammac12",
                 'factory': sb_android_smoke_factory,
                 'builddir': './sanbox-android-smoke',
     }
+    
+    ###########################################
+    #### builder for linxu-arm-smoke       ####
+    ###########################################
+    sb_linux_arm_smoke_factory = factory.BuildFactory()
+    sb_linux_arm_smoke_factory.addStep(download_testmedia)
+    sb_linux_arm_smoke_factory.addStep(TestSuiteShellCommand(
+                command=['../all/run-smoketests.sh', WithProperties('%s','revision'), './runsmokes-arm.txt'],
+                env={'branch': WithProperties('%s','branch')},
+                description='starting to run smoke tests...',
+                descriptionDone='finished smoke tests.',
+                name="SmokeTest",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
+    sb_linux_arm_smoke_factory.addStep(util_process_clean)
+
+    sb_linux_arm_smoke_builder = {
+                'name': "linux-arm-smoke-sandbox",
+                'slavename': "asteamlinarm1",
+                'factory': sb_linux_arm_smoke_factory,
+                'builddir': './sandbox-linux-arm-smoke',
+    }
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                    SANDBOX TEST BUILDERS                               ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
@@ -1122,16 +1193,36 @@ class sandbox:
 
     sb_android_test_builder = {
                 'name': "android-test-sandbox",
                 'slavename': "asteammac12",
                 'factory': sb_android_test_factory,
                 'builddir': './sandbox-android-test',
     }
     
+    ##########################################
+    #### builder for linux-arm-test       ####
+    ##########################################
+    sb_linux_arm_test_factory = factory.BuildFactory()
+    sb_linux_arm_test_factory.addStep(test_generic(name="Release-softfloat", shellname="avmshell_neon_arm", vmargs="", config="", scriptargs=""))
+    sb_linux_arm_test_factory.addStep(test_generic(name="Release-vfp", shellname="avmshell_neon_arm", vmargs="-Darm_arch 7 -Darm_vfp", config="", scriptargs=""))
+    sb_linux_arm_test_factory.addStep(test_generic(name="Release-interp", shellname="avmshell_neon_arm", vmargs="-Dinterp", config="", scriptargs=""))
+    sb_linux_arm_test_factory.addStep(test_generic(name="Release-jit-vfp", shellname="avmshell_neon_arm", vmargs="-Darm_arch 7 -Darm_vfp -Ojit", config="", scriptargs=""))
+    sb_linux_arm_test_factory.addStep(test_generic(name="Debug-vfp", shellname="avmshell_neon_arm_d", vmargs="-Darm_arch 7 -Darm_vfp", config="", scriptargs=""))
+    
+    sb_linux_arm_test_factory.addStep(util_process_clean)
+
+    sb_linux_arm_test_builder = {
+                'name': "linux-arm-test-sandbox",
+                'slavename': "asteamlinarm1",
+                'factory': sb_linux_arm_test_factory,
+                'builddir': './sandbox-linux-arm-test',
+    }
+    
+    
     
     
     builders = [
                 sb_windows_compile_builder,
                 sb_windows_64_compile_builder,
                 sb_mac_intel_104_compile_builder,
                 sb_mac_intel_105_compile_builder,
                 sb_mac_intel_64_compile_builder,
@@ -1140,43 +1231,46 @@ class sandbox:
                 sb_mac_ppc_105a_compile_builder,
                 sb_mac_ppc_105b_compile_builder,
                 sb_mac_ppc_64_compile_builder,
                 sb_linux_compile_builder,
                 sb_linux_64_compile_builder,
                 sb_winmobile_emulator_compile_builder,
                 sb_solaris_sparc_compile_builder,
                 sb_android_compile_builder,
+                sb_linux_arm_compile_builder,
                 
                 sb_windows_smoke_builder,
                 sb_windows_64_smoke_builder,
                 sb_mac_intel_104_smoke_builder,
                 sb_mac_intel_105_smoke_builder,
                 sb_mac_intel_64_smoke_builder,
                 sb_mac_ppc_104a_smoke_builder,
                 sb_mac_ppc_104b_smoke_builder,
                 sb_mac_ppc_105a_smoke_builder,
                 sb_mac_ppc_105b_smoke_builder,
                 sb_mac_ppc_64_smoke_builder,
                 sb_linux_smoke_builder,
                 sb_linux_64_smoke_builder,
                 sb_winmobile_emulator_smoke_builder,
                 sb_solaris_sparc_smoke_builder,
                 sb_android_smoke_builder,
+                sb_linux_arm_smoke_builder,
                 
                 sb_windows_test_builder,
                 sb_windows_64_test_builder,
                 sb_mac_intel_104_test_builder,
                 sb_mac_intel_105_test_builder,
                 sb_mac_intel_64_test_builder,
                 sb_mac_ppc_104a_test_builder,
                 sb_mac_ppc_104b_test_builder,
                 sb_mac_ppc_105a_test_builder,
                 sb_mac_ppc_105b_test_builder,
                 sb_mac_ppc_64_test_builder,
                 sb_linux_test_builder,
                 sb_linux_64_test_builder,
                 sb_winmobile_emulator_test_builder,
                 sb_solaris_sparc_test_builder,
                 sb_android_test_builder,
+                sb_linux_arm_test_builder,
 
                 ]
 
--- a/build/buildbot/master/tamarinredux.py
+++ b/build/buildbot/master/tamarinredux.py
@@ -59,72 +59,77 @@ class tamarinredux:
                      builderNames=["windows-compile", "windows64-compile",
                                    "mac-intel-10.4-compile", "mac-intel-10.5-compile", "mac64-intel-compile",
                                    "mac-ppc-10.4a-compile", "mac-ppc-10.4b-compile", 
                                    "mac-ppc-10.5a-compile", "mac-ppc-10.5b-compile", 
                                    "mac64-ppc-compile",
                                    "linux-compile", "linux64-compile",
                                    "winmobile-emulator-compile",
                                    "solaris-sparc-compile",
-                                   "android-compile"])
+                                   "android-compile",
+                                   "linux-arm-compile"])
 
     smoke = BuilderDependent(name="smoke",upstream=compile, callbackInterval=60,
                     builderNames=["windows-smoke", "windows64-smoke",
                                    "mac-intel-10.4-smoke", "mac-intel-10.5-smoke", "mac64-intel-smoke",
                                    "mac-ppc-10.4a-smoke", "mac-ppc-10.4b-smoke", 
                                    "mac-ppc-10.5a-smoke", "mac-ppc-10.5b-smoke", 
                                    "mac64-ppc-smoke",
                                    "linux-smoke", "linux64-smoke",
                                    "winmobile-emulator-smoke",
                                    "solaris-sparc-smoke",
-                                   "android-smoke"],
+                                   "android-smoke",
+                                   "linux-arm-smoke"],
                     builderDependencies=[
                                   ["windows-smoke", "windows-compile"], 
                                   ["windows64-smoke", "windows64-compile"], 
                                   ["mac-intel-10.4-smoke", "mac-intel-10.4-compile"], 
                                   ["mac-intel-10.5-smoke", "mac-intel-10.5-compile"],
                                   ["mac64-intel-smoke", "mac64-intel-compile"],
                                   ["mac-ppc-10.4a-smoke", "mac-intel-10.4-compile"],
                                   ["mac-ppc-10.4b-smoke", "mac-intel-10.4-compile"],
                                   ["mac-ppc-10.5a-smoke", "mac-intel-10.5-compile"],
                                   ["mac-ppc-10.5b-smoke", "mac-intel-10.5-compile"],
                                   ["mac64-ppc-smoke", "mac64-intel-compile"],
                                   ["linux-smoke", "linux-compile"],
                                   ["linux64-smoke", "linux64-compile"],
                                   ["winmobile-emulator-smoke", "winmobile-emulator-compile"],
                                   ["solaris-sparc-smoke", "solaris-sparc-compile"],
                                   ["android-smoke","android-compile"],
+                                  ["linux-arm-smoke","linux-compile"],
                                  ])
 
     test = BuilderDependent(name="test",upstream=smoke, callbackInterval=60,
                     builderNames=["windows-test", "windows64-test",
                                    "mac-intel-10.4-test", "mac-intel-10.5-test", "mac64-intel-test",
                                    "mac-ppc-10.4a-test", "mac-ppc-10.4b-test", 
                                    "mac-ppc-10.5a-test", "mac-ppc-10.5b-test", 
                                    "mac64-ppc-test",
                                    "linux-test", "linux64-test",
                                    "winmobile-emulator-test",
                                    "solaris-sparc-test",
-                                   "android-test"],
+                                   "android-test",
+                                   "linux-arm-test"],
                     builderDependencies=[
                                   ["windows-test", "windows-smoke"], 
                                   ["windows64-test", "windows64-smoke"], 
                                   ["mac-intel-10.4-test", "mac-intel-10.4-smoke"], 
                                   ["mac-intel-10.5-test", "mac-intel-10.5-smoke"],
                                   ["mac64-intel-test", "mac64-intel-smoke"],
                                   ["mac-ppc-10.4a-test", "mac-ppc-10.4a-smoke"],
                                   ["mac-ppc-10.4b-test", "mac-ppc-10.4b-smoke"],
                                   ["mac-ppc-10.5a-test", "mac-ppc-10.5a-smoke"],
                                   ["mac-ppc-10.5b-test", "mac-ppc-10.5b-smoke"],
                                   ["mac64-ppc-test", "mac64-ppc-smoke"],
                                   ["linux-test", "linux-smoke"],
                                   ["linux64-test", "linux64-smoke"],
                                   ["winmobile-emulator-test", "winmobile-emulator-smoke"],
                                   ["solaris-sparc-test", "solaris-sparc-smoke"],
                                   ["android-test", "android-smoke"],
+                                  ["linux-arm-test", "linux-arm-smoke"],
                                  ])
 
     performance = PhaseTwoScheduler(name="performance", branch="%s-perf" % BRANCH, treeStableTimer=30, 
                     fileIsImportant=startPerformanceRun, priority=2, changeDir="changes/perf/processed",
                     builderNames=["windows-performance",
                                    "mac-performance", "mac64-performance",
                                    "mac-ppc-performance",
                                    "linux-performance",
@@ -447,16 +452,44 @@ class tamarinredux:
     linux_compile_factory.addStep(BuildShellCommand(
                 command=['./build-release-cov.sh', WithProperties('%s','revision')],
                 env={'branch': WithProperties('%s','branch')},
                 description='starting linux code coverage release build...',
                 descriptionDone='finished linux code coverage release build.',
                 name="Build_Release_cov",
                 workdir="../repo/build/buildbot/slaves/scripts")
     )
+    linux_compile_factory.addStep(BuildShellCommand(
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-arm-neon --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',
+                },
+                description='starting Release_arm-linux build...',
+                descriptionDone='finished Release_arm-linux build.',
+                name="Release_arm-linux",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
+    linux_compile_factory.addStep(BuildShellCommand(
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debug --enable-arm-neon --target=arm-linux --enable-sys-root-dir=/usr/local/arm-linux/debian5', 'avmshell_neon_arm_d', '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',
+                },
+                description='starting Debug_arm-linux build...',
+                descriptionDone='finished Debug_arm-linux build.',
+                name="Debug_arm-linux",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
     linux_compile_factory.addStep(compile_buildcheck_local)
     linux_compile_factory.addStep(util_upload_asteam_local)
     linux_compile_factory.addStep(util_upload_mozilla)
 
     linux_compile_builder = {
                 'name': "linux-compile",
                 'slavename': "asteamlin1",
                 'factory': linux_compile_factory,
@@ -609,16 +642,32 @@ class tamarinredux:
     )
 
     android_compile_builder = {
                 'name': "android-compile",
                 'slavename': "asteammac12",
                 'factory': android_compile_factory,
                 'builddir': './android-compile',
     }
+    
+    ###############################
+    #### builder for linux-arm ####
+    ###############################
+    linux_arm_compile_factory = factory.BuildFactory()
+    linux_arm_compile_factory.addStep(sync_clean)
+    linux_arm_compile_factory.addStep(sync_clone(url=HG_URL))
+    linux_arm_compile_factory.addStep(sync_update)
+    linux_arm_compile_factory.addStep(bb_slaveupdate(slave="linux-arm"))
+
+    linux_arm_compile_builder = {
+                'name': "linux-arm-compile",
+                'slavename': "asteamlinarm1",
+                'factory': linux_arm_compile_factory,
+                'builddir': './linux-arm-compile',
+    }
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            SMOKE BUILDERS                              ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
@@ -865,16 +914,37 @@ class tamarinredux:
 
     android_smoke_builder = {
                 'name': "android-smoke",
                 'slavename': "asteammac12",
                 'factory': android_smoke_factory,
                 'builddir': './android-smoke',
     }
 
+    ###########################################
+    #### builder for linxu-arm-smoke       ####
+    ###########################################
+    linux_arm_smoke_factory = factory.BuildFactory()
+    linux_arm_smoke_factory.addStep(download_testmedia)
+    linux_arm_smoke_factory.addStep(TestSuiteShellCommand(
+                command=['../all/run-smoketests.sh', WithProperties('%s','revision'), './runsmokes-arm.txt'],
+                env={'branch': WithProperties('%s','branch')},
+                description='starting to run smoke tests...',
+                descriptionDone='finished smoke tests.',
+                name="SmokeTest",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
+    linux_arm_smoke_factory.addStep(util_process_clean)
+
+    linux_arm_smoke_builder = {
+                'name': "linux-arm-smoke",
+                'slavename': "asteamlinarm1",
+                'factory': linux_arm_smoke_factory,
+                'builddir': './linux-arm-smoke',
+    }
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            TEST BUILDERS                               ####
     ####                                                                        ####
     ################################################################################
@@ -1204,16 +1274,36 @@ class tamarinredux:
     android_test_factory.addStep(util_process_clean)
 
     android_test_builder = {
                 'name': "android-test",
                 'slavename': "asteammac12",
                 'factory': android_test_factory,
                 'builddir': './android-test',
     }
+    
+    
+    ##########################################
+    #### builder for linux-arm-test       ####
+    ##########################################
+    linux_arm_test_factory = factory.BuildFactory()
+    linux_arm_test_factory.addStep(test_generic(name="Release-softfloat", shellname="avmshell_neon_arm", vmargs="", config="", scriptargs=""))
+    linux_arm_test_factory.addStep(test_generic(name="Release-vfp", shellname="avmshell_neon_arm", vmargs="-Darm_arch 7 -Darm_vfp", config="", scriptargs=""))
+    linux_arm_test_factory.addStep(test_generic(name="Release-interp", shellname="avmshell_neon_arm", vmargs="-Dinterp", config="", scriptargs=""))
+    linux_arm_test_factory.addStep(test_generic(name="Release-jit-vfp", shellname="avmshell_neon_arm", vmargs="-Darm_arch 7 -Darm_vfp -Ojit", config="", scriptargs=""))
+    linux_arm_test_factory.addStep(test_generic(name="Debug-vfp", shellname="avmshell_neon_arm_d", vmargs="-Darm_arch 7 -Darm_vfp", config="", scriptargs=""))
+    
+    linux_arm_test_factory.addStep(util_process_clean)
+
+    linux_arm_test_builder = {
+                'name': "linux-arm-test",
+                'slavename': "asteamlinarm1",
+                'factory': linux_arm_test_factory,
+                'builddir': './linux-arm-test',
+    }
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                     PERFORMANCE BUILDERS                               ####
     ####                                                                        ####
     ################################################################################
@@ -1615,48 +1705,51 @@ class tamarinredux:
                 mac_ppc_105a_compile_builder,
                 mac_ppc_105b_compile_builder,
                 mac_ppc_64_compile_builder,
                 linux_compile_builder,
                 linux_64_compile_builder,
                 winmobile_emulator_compile_builder,
                 solaris_sparc_compile_builder,
                 android_compile_builder,
+                linux_arm_compile_builder,
                 
                 windows_smoke_builder,
                 windows_64_smoke_builder,
                 mac_intel_104_smoke_builder,
                 mac_intel_105_smoke_builder,
                 mac_intel_64_smoke_builder,
                 mac_ppc_104a_smoke_builder,
                 mac_ppc_104b_smoke_builder,
                 mac_ppc_105a_smoke_builder,
                 mac_ppc_105b_smoke_builder,
                 mac_ppc_64_smoke_builder,
                 linux_smoke_builder,
                 linux_64_smoke_builder,
                 winmobile_emulator_smoke_builder,
                 solaris_sparc_smoke_builder,
                 android_smoke_builder,
+                linux_arm_smoke_builder,
                 
                 windows_test_builder,
                 windows_64_test_builder,
                 mac_intel_104_test_builder,
                 mac_intel_105_test_builder,
                 mac_intel_64_test_builder,
                 mac_ppc_104a_test_builder,
                 mac_ppc_104b_test_builder,
                 mac_ppc_105a_test_builder,
                 mac_ppc_105b_test_builder,
                 mac_ppc_64_test_builder,
                 linux_test_builder,
                 linux_64_test_builder,
                 winmobile_emulator_test_builder,
                 solaris_sparc_test_builder,
                 android_test_builder,
+                linux_arm_test_builder,
 
                 windows_performance_builder,
                 mac_performance_builder,
                 mac_64_performance_builder,
                 mac_ppc_performance_builder,
                 linux_performance_builder,
                 winmobile_performance_builder,