OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'includes': [ | 6 'includes': [ |
7 '../../../build/common.gypi', | 7 '../../../build/common.gypi', |
8 ], | 8 ], |
9 'variables': { | 9 'variables': { |
10 'irt_sources': [ | 10 'irt_sources': [ |
(...skipping 25 matching lines...) Expand all Loading... |
36 'irt_random.c', | 36 'irt_random.c', |
37 'irt_pnacl_translator.c', | 37 'irt_pnacl_translator.c', |
38 # support_srcs | 38 # support_srcs |
39 # We also get nc_init_private.c, nc_thread.c and nc_tsd.c via | 39 # We also get nc_init_private.c, nc_thread.c and nc_tsd.c via |
40 # #includes of .c files. | 40 # #includes of .c files. |
41 '../pthread/nc_mutex.c', | 41 '../pthread/nc_mutex.c', |
42 '../pthread/nc_condvar.c', | 42 '../pthread/nc_condvar.c', |
43 '../nacl/sys_private.c', | 43 '../nacl/sys_private.c', |
44 '../valgrind/dynamic_annotations.c', | 44 '../valgrind/dynamic_annotations.c', |
45 ], | 45 ], |
46 # On x86-64 we build the IRT with sandbox base-address hiding. This means | |
47 # that all of its components must be built with LLVM's assembler. Currently | |
48 # the unwinder library is built with nacl-gcc and so does not use base | |
49 # address hiding. The IRT does not use exceptions, so we do not actually | |
50 # need the unwinder at all. To prevent it from being linked into the IRT, we | |
51 # provide stub implementations of its functions that are referenced from | |
52 # libc++abi (which is built with exception handling enabled) and from | |
53 # crtbegin.c. | |
54 'stub_sources': [ | |
55 '../../../pnacl/support/bitcode/unwind_stubs.c', | |
56 'frame_info_stubs.c', | |
57 ], | |
58 'irt_nonbrowser': [ | 46 'irt_nonbrowser': [ |
59 'irt_core_resource.c', | 47 'irt_core_resource.c', |
60 'irt_entry_core.c', | 48 'irt_entry_core.c', |
61 ], | 49 ], |
62 }, | 50 }, |
63 'targets': [ | 51 'targets': [ |
64 { | 52 { |
65 'target_name': 'irt_core_nexe', | 53 'target_name': 'irt_core_nexe', |
66 'type': 'none', | 54 'type': 'none', |
67 'variables': { | 55 'variables': { |
(...skipping 26 matching lines...) Expand all Loading... |
94 }, | 82 }, |
95 { | 83 { |
96 'target_name': 'irt_browser_lib', | 84 'target_name': 'irt_browser_lib', |
97 'type': 'none', | 85 'type': 'none', |
98 'variables': { | 86 'variables': { |
99 'nlib_target': 'libirt_browser.a', | 87 'nlib_target': 'libirt_browser.a', |
100 'build_glibc': 0, | 88 'build_glibc': 0, |
101 'build_newlib': 1, | 89 'build_newlib': 1, |
102 'build_irt': 1, | 90 'build_irt': 1, |
103 }, | 91 }, |
104 'sources': ['<@(irt_sources)', '<@(stub_sources)'], | 92 'sources': ['<@(irt_sources)'], |
105 'conditions': [ | |
106 # Disable stub sources on ARM | |
107 # TODO(dschuff): remove this when we switch to arm-nacl-clang | |
108 ['target_arch=="arm"', { | |
109 'variables': { | |
110 'stub_sources' : [] | |
111 } | |
112 }], | |
113 ], | |
114 'dependencies': [ | 93 'dependencies': [ |
115 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', | 94 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', |
116 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_lib_newlib', | 95 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_lib_newlib', |
117 ], | 96 ], |
118 }, | 97 }, |
119 ], | 98 ], |
120 } | 99 } |
OLD | NEW |