OLD | NEW |
1 # -*- python -*- | 1 # -*- python -*- |
2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2011 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 | 6 |
7 Import('env') | 7 Import('env') |
8 | 8 |
9 # Since the integrated runtime will be built with newlib, | 9 # Since the integrated runtime will be built with newlib, |
10 # there's no need to build this module against glibc. | 10 # there's no need to build this module against glibc. |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 ] | 76 ] |
77 | 77 |
78 irt_browser = ['irt_interfaces_ppapi.c', | 78 irt_browser = ['irt_interfaces_ppapi.c', |
79 'irt_ppapi.c', | 79 'irt_ppapi.c', |
80 ] | 80 ] |
81 | 81 |
82 def LinkIrt(output, files, libs): | 82 def LinkIrt(output, files, libs): |
83 return blob_env.ComponentProgram(output, irt_support_objs + files, | 83 return blob_env.ComponentProgram(output, irt_support_objs + files, |
84 EXTRA_LIBS=libs + irt_support_libs) | 84 EXTRA_LIBS=libs + irt_support_libs) |
85 | 85 |
86 irt_core_library = LinkIrt('irt_core.nexe', irt_nonbrowser, []) | 86 irt_core_library = LinkIrt('irt_core', irt_nonbrowser, []) |
87 irt_library = LinkIrt('irt.nexe', irt_browser, ['ppruntime', | 87 irt_library = LinkIrt('irt', irt_browser, ['ppruntime', |
88 'srpc', | 88 'srpc', |
89 'imc_syscalls', | 89 'imc_syscalls', |
90 'platform', | 90 'platform', |
91 'gio', | 91 'gio', |
92 'm']) | 92 'm']) |
93 | 93 |
94 # TODO(mcgrathr): these should be installed, but scons is a mystery | 94 # TODO(mcgrathr): these should be installed, but scons is a mystery |
95 #env.AddHeaderToSdk(['irt.h']) | 95 #env.AddHeaderToSdk(['irt.h']) |
96 #env.AddHeaderToSdk(['irt_ppapi.h']) | 96 #env.AddHeaderToSdk(['irt_ppapi.h']) |
97 | 97 |
98 if env.Bit('build_x86_32') and not env.Bit('bitcode'): | 98 if env.Bit('build_x86_32') and not env.Bit('bitcode'): |
99 # Make sure that the linked IRT nexe never uses TLS via %gs access. | 99 # Make sure that the linked IRT nexe never uses TLS via %gs access. |
100 # All IRT code must avoid direct use of the TLS ABI register, which | 100 # All IRT code must avoid direct use of the TLS ABI register, which |
101 # is reserved for user TLS. Instead, ensure all TLS accesses use a | 101 # is reserved for user TLS. Instead, ensure all TLS accesses use a |
102 # call to __nacl_read_tp, which the IRT code overrides to segregate | 102 # call to __nacl_read_tp, which the IRT code overrides to segregate |
103 # IRT-private TLS from user TLS. | 103 # IRT-private TLS from user TLS. |
104 node = env.CommandTest('irt_tls_test.out', | 104 node = env.CommandTest('irt_tls_test.out', |
105 ['${PYTHON}', env.File('check_tls.py'), | 105 ['${PYTHON}', env.File('check_tls.py'), |
106 '${OBJDUMP}', irt_library]) | 106 '${OBJDUMP}', irt_library]) |
107 env.AddNodeToTestSuite(node, ['small_tests'], 'run_irt_tls_test') | 107 env.AddNodeToTestSuite(node, ['small_tests'], 'run_irt_tls_test') |
108 node = env.CommandTest('irt_core_tls_test.out', | 108 node = env.CommandTest('irt_core_tls_test.out', |
109 ['${PYTHON}', env.File('check_tls.py'), | 109 ['${PYTHON}', env.File('check_tls.py'), |
110 '${OBJDUMP}', irt_core_library]) | 110 '${OBJDUMP}', irt_core_library]) |
111 env.AddNodeToTestSuite(node, ['small_tests'], 'run_irt_core_tls_test') | 111 env.AddNodeToTestSuite(node, ['small_tests'], 'run_irt_core_tls_test') |
OLD | NEW |