OLD | NEW |
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 '../../native_client/build/common.gypi', | 7 '../../native_client/build/common.gypi', |
8 ], | 8 ], |
9 'conditions': [ | 9 'conditions': [ |
10 ['disable_nacl==0 and disable_nacl_untrusted==0', { | 10 ['disable_nacl==0 and disable_nacl_untrusted==0', { |
(...skipping 11 matching lines...) Expand all Loading... |
22 'files': [ | 22 'files': [ |
23 '<(DEPTH)/native_client/src/untrusted/irt_stub/libppapi.a', | 23 '<(DEPTH)/native_client/src/untrusted/irt_stub/libppapi.a', |
24 ], | 24 ], |
25 }, | 25 }, |
26 { | 26 { |
27 'destination': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64', | 27 'destination': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64', |
28 'files': [ | 28 'files': [ |
29 '<(DEPTH)/native_client/src/untrusted/irt_stub/libppapi.a', | 29 '<(DEPTH)/native_client/src/untrusted/irt_stub/libppapi.a', |
30 ], | 30 ], |
31 }, | 31 }, |
| 32 { |
| 33 'destination': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm', |
| 34 'files': [ |
| 35 '<(DEPTH)/native_client/src/untrusted/irt_stub/libppapi.a', |
| 36 ], |
| 37 }, |
32 ], | 38 ], |
33 }, | 39 }, |
34 { | 40 { |
35 'target_name': 'nacl_irt', | 41 'target_name': 'nacl_irt', |
36 'type': 'none', | 42 'type': 'none', |
37 'variables': { | 43 'variables': { |
38 'nexe_target': 'nacl_irt', | 44 'nexe_target': 'nacl_irt', |
39 'out64': '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', | 45 'out64': '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', |
40 'out32': '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', | 46 'out32': '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', |
| 47 'out_arm': '<(PRODUCT_DIR)/nacl_irt_arm.nexe', |
41 'build_glibc': 0, | 48 'build_glibc': 0, |
42 'build_newlib': 1, | 49 'build_newlib': 1, |
43 'include_dirs': [ | 50 'include_dirs': [ |
44 'lib/gl/include', | 51 'lib/gl/include', |
45 '..', | 52 '..', |
46 ], | 53 ], |
47 # Link offsets taken from native_client/build/untrusted.gypi | |
48 'link_flags': [ | 54 'link_flags': [ |
| 55 '-Wl,--start-group', |
49 '-lirt_browser', | 56 '-lirt_browser', |
50 '-lppruntime', | 57 '-lppruntime', |
51 '-lsrpc', | 58 '-lsrpc', |
52 '-limc_syscalls', | 59 '-limc_syscalls', |
53 '-lplatform', | 60 '-lplatform', |
54 '-lgio', | 61 '-lgio', |
| 62 '-Wl,--end-group', |
55 '-lm', | 63 '-lm', |
56 '-Wl,--section-start,.rodata=<(NACL_IRT_DATA_START)', | 64 ], |
57 '-Wl,-Ttext-segment=<(NACL_IRT_TEXT_START)', | 65 # See http://code.google.com/p/nativeclient/issues/detail?id=2691. |
| 66 # The PNaCl linker (gold) does not implement the "-Ttext-segment" |
| 67 # option. However, with the linker for x86, the "-Ttext" option |
| 68 # does not affect the executable's base address. |
| 69 # TODO(olonho): simplify flags handling and avoid duplication |
| 70 # with NaCl logic. |
| 71 'conditions': [ |
| 72 ['target_arch!="arm"', |
| 73 { |
| 74 'link_flags': [ |
| 75 '-Wl,--section-start,.rodata=<(NACL_IRT_DATA_START)', |
| 76 '-Wl,-Ttext-segment=<(NACL_IRT_TEXT_START)', |
| 77 ] |
| 78 }, { # target_arch == "arm" |
| 79 'link_flags': [ |
| 80 '-Wl,--section-start,.rodata=<(NACL_IRT_DATA_START)', |
| 81 '-Wl,-Ttext=<(NACL_IRT_TEXT_START)', |
| 82 '--pnacl-allow-native', |
| 83 '-arch', 'arm', |
| 84 '-Wt,-mtls-use-call', |
| 85 ], |
| 86 }, |
| 87 ], |
58 ], | 88 ], |
59 'sources': [ | 89 'sources': [ |
60 ], | 90 ], |
61 'extra_args': [ | 91 'extra_args': [ |
62 '--strip-debug', | 92 '--strip-debug', |
63 ], | 93 ], |
64 'extra_deps64': [ | 94 'extra_deps64': [ |
65 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppruntime.a', | 95 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libppruntime.a', |
66 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libirt_browser.a', | 96 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libirt_browser.a', |
67 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libsrpc.a', | 97 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libsrpc.a', |
68 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libplatform.a', | 98 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libplatform.a', |
69 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libimc_syscalls.a', | 99 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libimc_syscalls.a', |
70 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libgio.a', | 100 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64/libgio.a', |
71 ], | 101 ], |
72 'extra_deps32': [ | 102 'extra_deps32': [ |
73 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppruntime.a', | 103 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libppruntime.a', |
74 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libirt_browser.a', | 104 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libirt_browser.a', |
75 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libsrpc.a', | 105 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libsrpc.a', |
76 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libplatform.a', | 106 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libplatform.a', |
77 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libimc_syscalls.a', | 107 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libimc_syscalls.a', |
78 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libgio.a', | 108 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libgio.a', |
79 ], | 109 ], |
| 110 'extra_deps_arm': [ |
| 111 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libppruntime.a', |
| 112 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libirt_browser.a', |
| 113 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libsrpc.a', |
| 114 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libplatform.a', |
| 115 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libimc_syscalls.a', |
| 116 '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libgio.a', |
| 117 ], |
80 }, | 118 }, |
81 'dependencies': [ | 119 'dependencies': [ |
82 'src/shared/ppapi_proxy/ppapi_proxy_untrusted.gyp:ppruntime_lib', | 120 'src/shared/ppapi_proxy/ppapi_proxy_untrusted.gyp:ppruntime_lib', |
83 '../../native_client/src/untrusted/irt/irt.gyp:irt_browser_lib', | 121 '../../native_client/src/untrusted/irt/irt.gyp:irt_browser_lib', |
84 '../../native_client/src/shared/srpc/srpc.gyp:srpc_lib', | 122 '../../native_client/src/shared/srpc/srpc.gyp:srpc_lib', |
85 '../../native_client/src/shared/platform/platform.gyp:platform_lib', | 123 '../../native_client/src/shared/platform/platform.gyp:platform_lib', |
86 '../../native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib', | 124 '../../native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib', |
87 '../../native_client/src/shared/gio/gio.gyp:gio_lib', | 125 '../../native_client/src/shared/gio/gio.gyp:gio_lib', |
88 ], | 126 ], |
89 }, | 127 }, |
90 ], | 128 ], |
91 }], | 129 }], |
92 ], | 130 ], |
93 } | 131 } |
OLD | NEW |