OLD | NEW |
(Empty) | |
| 1 # -*- python -*- |
| 2 # Copyright (c) 2013 The Native Client Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. |
| 5 |
| 6 Import('env') |
| 7 |
| 8 # Stacked IRT test |
| 9 |
| 10 # This test uses a nexe built by another test. Nexes do not get |
| 11 # staged in pexe mode, so only run this test in nonpexe mode. |
| 12 if env.Bit('pnacl_generate_pexe'): |
| 13 Return() |
| 14 |
| 15 irt_env = env.Clone( |
| 16 #irt_env = env['NACL_IRT_ENV'].Clone( |
| 17 BUILD_TYPE = 'stacked_irt', |
| 18 BUILD_TYPE_DESCRIPTION = 'Stacked IRT build', |
| 19 NACL_BUILD_FAMILY = 'UNTRUSTED_IRT', |
| 20 ) |
| 21 |
| 22 irt_env.ClearBits('nacl_glibc') |
| 23 #irt_env.ClearBits('pnacl_shared_newlib') |
| 24 # We build the IRT using the nnacl TC even when the pnacl TC is used otherwise. |
| 25 if irt_env.Bit('target_mips32'): |
| 26 irt_env.ClearBits('bitcode') |
| 27 irt_env.ClearBits('pnacl_generate_pexe') |
| 28 irt_env.ClearBits('use_sandboxed_translator') |
| 29 irt_env.Tool('naclsdk') |
| 30 # These are unfortunately clobbered by running Tool, which |
| 31 # we needed to do to get the destination directory reset. |
| 32 # We want all the same values from nacl_env. |
| 33 irt_env.Replace(EXTRA_CFLAGS=env['EXTRA_CFLAGS'], |
| 34 EXTRA_CXXFLAGS=env['EXTRA_CXXFLAGS'], |
| 35 CCFLAGS=env['CCFLAGS'], |
| 36 CFLAGS=env['CFLAGS'], |
| 37 CXXFLAGS=env['CXXFLAGS']) |
| 38 # Make it find the libraries it builds, rather than the SDK ones. |
| 39 irt_env.Replace(LIBPATH='${LIB_DIR}') |
| 40 |
| 41 # Unlike NaCl IRT, stacked IRT should be position independent |
| 42 irt_env.SetBits('nacl_pic') |
| 43 |
| 44 stacked_irt_test = env.ComponentProgram( |
| 45 'stacked_irt_test', ['irt_hello_world.c', |
| 46 'irt_test3.c', |
| 47 'irt_test2.c', |
| 48 'irt_test1.c', |
| 49 'irt_trace.c' |
| 50 ], |
| 51 EXTRA_LIBS=['${PTHREAD_LIBS}', |
| 52 '${NONIRT_LIBS}']) |
| 53 #EXTRA_LIBS=['irt_support_private']) |
| 54 |
| 55 # Don't provide IRT, we provide it ourselves via -B. |
| 56 #env.ClearBits('tests_use_irt') |
| 57 |
| 58 node = env.CommandSelLdrTestNacl( |
| 59 'stacked_irt_test.out', |
| 60 stacked_irt_test, |
| 61 stdout_golden=env.File('irt_hello_world.stdout')) |
| 62 |
| 63 env.AddNodeToTestSuite(node, ['small_tests'], 'run_stacked_irt_test') |
OLD | NEW |