OLD | NEW |
1 #! -*- python -*- | 1 #! -*- python -*- |
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import atexit | 6 import atexit |
7 import os | 7 import os |
8 import platform | 8 import platform |
9 import re | 9 import re |
10 import subprocess | 10 import subprocess |
(...skipping 3043 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3054 nacl_env.AddChromeFilesFromGroup('untrusted_scons_files') | 3054 nacl_env.AddChromeFilesFromGroup('untrusted_scons_files') |
3055 | 3055 |
3056 # These are tests that are worthwhile to run in IRT variant only. | 3056 # These are tests that are worthwhile to run in IRT variant only. |
3057 irt_only_tests = [ | 3057 irt_only_tests = [ |
3058 #### ALPHABETICALLY SORTED #### | 3058 #### ALPHABETICALLY SORTED #### |
3059 'tests/irt/nacl.scons', | 3059 'tests/irt/nacl.scons', |
3060 'tests/irt_compatibility/nacl.scons', | 3060 'tests/irt_compatibility/nacl.scons', |
3061 'tests/random/nacl.scons', | 3061 'tests/random/nacl.scons', |
3062 'tests/sbrk/nacl.scons', | 3062 'tests/sbrk/nacl.scons', |
3063 'tests/translator_size_limits/nacl.scons', | 3063 'tests/translator_size_limits/nacl.scons', |
| 3064 'tests/stacked_irt/nacl.scons', |
3064 ] | 3065 ] |
3065 | 3066 |
3066 # These are tests that are worthwhile to run in both IRT and non-IRT variants. | 3067 # These are tests that are worthwhile to run in both IRT and non-IRT variants. |
3067 # The nacl_irt_test mode runs them in the IRT variants. | 3068 # The nacl_irt_test mode runs them in the IRT variants. |
3068 irt_variant_tests = [ | 3069 irt_variant_tests = [ |
3069 #### ALPHABETICALLY SORTED #### | 3070 #### ALPHABETICALLY SORTED #### |
3070 'tests/app_lib/nacl.scons', | 3071 'tests/app_lib/nacl.scons', |
3071 'tests/bigalloc/nacl.scons', | 3072 'tests/bigalloc/nacl.scons', |
3072 'tests/bundle_size/nacl.scons', | 3073 'tests/bundle_size/nacl.scons', |
3073 'tests/callingconv/nacl.scons', | 3074 'tests/callingconv/nacl.scons', |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3300 nacl_irt_env.Append(CCFLAGS=['-mtp=soft']) | 3301 nacl_irt_env.Append(CCFLAGS=['-mtp=soft']) |
3301 else: | 3302 else: |
3302 nacl_irt_env.Append(CCFLAGS=['-mtls-use-call']) | 3303 nacl_irt_env.Append(CCFLAGS=['-mtls-use-call']) |
3303 # A debugger should be able to unwind IRT call frames. As the IRT is compiled | 3304 # A debugger should be able to unwind IRT call frames. As the IRT is compiled |
3304 # with high level of optimizations and without debug info, compiler is requested | 3305 # with high level of optimizations and without debug info, compiler is requested |
3305 # to generate unwind tables explicitly. This is the default behavior on x86-64 | 3306 # to generate unwind tables explicitly. This is the default behavior on x86-64 |
3306 # and when compiling C++ with exceptions enabled, the change is for the benefit | 3307 # and when compiling C++ with exceptions enabled, the change is for the benefit |
3307 # of x86-32 C. | 3308 # of x86-32 C. |
3308 nacl_irt_env.Append(CCFLAGS=['-fasynchronous-unwind-tables']) | 3309 nacl_irt_env.Append(CCFLAGS=['-fasynchronous-unwind-tables']) |
3309 | 3310 |
| 3311 irt_env = nacl_irt_env.Clone( |
| 3312 BUILD_TYPE = 'stacked_irt', |
| 3313 BUILD_TYPE_DESCRIPTION = 'Stacked IRT build', |
| 3314 NACL_BUILD_FAMILY = 'UNTRUSTED_IRT', |
| 3315 ) |
| 3316 |
| 3317 # Provide access to the IRT build environment from the default environment |
| 3318 # which is needed when compiling custom IRT for testing purposes. |
| 3319 nacl_env['IRT_ENV'] = irt_env |
| 3320 |
| 3321 # Unlike NaCl IRT, stacked IRT should be position independent |
| 3322 irt_env.SetBits('nacl_pic') |
| 3323 |
3310 # TODO(mcgrathr): Clean up uses of these methods. | 3324 # TODO(mcgrathr): Clean up uses of these methods. |
3311 def AddLibraryDummy(env, nodes): | 3325 def AddLibraryDummy(env, nodes): |
3312 return nodes | 3326 return nodes |
3313 nacl_irt_env.AddMethod(AddLibraryDummy, 'AddLibraryToSdk') | 3327 nacl_irt_env.AddMethod(AddLibraryDummy, 'AddLibraryToSdk') |
3314 | 3328 |
3315 def AddObjectInternal(env, nodes): | 3329 def AddObjectInternal(env, nodes): |
3316 return env.Replicate('${LIB_DIR}', nodes) | 3330 return env.Replicate('${LIB_DIR}', nodes) |
3317 nacl_env.AddMethod(AddObjectInternal, 'AddObjectToSdk') | 3331 nacl_env.AddMethod(AddObjectInternal, 'AddObjectToSdk') |
3318 nacl_irt_env.AddMethod(AddObjectInternal, 'AddObjectToSdk') | 3332 nacl_irt_env.AddMethod(AddObjectInternal, 'AddObjectToSdk') |
3319 | 3333 |
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3693 nacl_env.ValidateSdk() | 3707 nacl_env.ValidateSdk() |
3694 | 3708 |
3695 if BROKEN_TEST_COUNT > 0: | 3709 if BROKEN_TEST_COUNT > 0: |
3696 msg = "There are %d broken tests." % BROKEN_TEST_COUNT | 3710 msg = "There are %d broken tests." % BROKEN_TEST_COUNT |
3697 if GetOption('brief_comstr'): | 3711 if GetOption('brief_comstr'): |
3698 msg += " Add --verbose to the command line for more information." | 3712 msg += " Add --verbose to the command line for more information." |
3699 print msg | 3713 print msg |
3700 | 3714 |
3701 # separate warnings from actual build output | 3715 # separate warnings from actual build output |
3702 Banner('B U I L D - O U T P U T:') | 3716 Banner('B U I L D - O U T P U T:') |
OLD | NEW |