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 '../../../../../native_client/build/untrusted.gypi', | 7 '../../../../../native_client/build/untrusted.gypi', |
8 ], | 8 ], |
9 'targets': [ | 9 'targets': [ |
10 { | 10 { |
11 'target_name': 'pnacl_irt_shim', | 11 # The full library, which PNaCl uses for offline .pexe -> .nexe. |
| 12 'target_name': 'pnacl_irt_shim_aot', |
12 'type': 'none', | 13 'type': 'none', |
13 'variables': { | 14 'variables': { |
14 'nlib_target': 'libpnacl_irt_shim.a', | 15 'nlib_target': 'libpnacl_irt_shim.a', |
15 'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/>(nlib_ta
rget)', | 16 'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/>(nlib_ta
rget)', |
16 'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/>(n
lib_target)', | 17 'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/>(n
lib_target)', |
17 'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/>(n
lib_target)', | 18 'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/>(n
lib_target)', |
18 'out_pnacl_newlib_mips': '>(tc_lib_dir_pnacl_translate)/lib-mips32/>(nli
b_target)', | 19 'out_pnacl_newlib_mips': '>(tc_lib_dir_pnacl_translate)/lib-mips32/>(nli
b_target)', |
19 'build_glibc': 0, | 20 'build_glibc': 0, |
20 'build_newlib': 0, | 21 'build_newlib': 0, |
21 'build_pnacl_newlib': 1, | 22 'build_pnacl_newlib': 1, |
22 'pnacl_native_biased': 1, | 23 'pnacl_native_biased': 1, |
23 'enable_x86_32': 1, | 24 'enable_x86_32': 1, |
24 'enable_x86_64': 1, | 25 'enable_x86_64': 1, |
25 'enable_arm': 1, | 26 'enable_arm': 1, |
26 'enable_mips': 1, | 27 'enable_mips': 1, |
27 'sources': [ | 28 'sources': [ |
| 29 'irt_shim_ppapi.c', |
28 'pnacl_shim.c', | 30 'pnacl_shim.c', |
29 'shim_entry.c', | 31 'shim_entry.c', |
30 'shim_ppapi.c', | 32 'shim_ppapi.c', |
31 ], | 33 ], |
32 'extra_args': [ | 34 'extra_args': [ |
33 '--strip-debug', | 35 '--strip-debug', |
34 ], | 36 ], |
| 37 # Indicate that shim should not depend on unstable IRT hook interface. |
| 38 'compile_flags': [ |
| 39 '-DPNACL_SHIM_AOT', |
| 40 ], |
| 41 }, |
| 42 'dependencies': [ |
| 43 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', |
| 44 ], |
| 45 }, |
| 46 # Smaller shim library for PNaCl in-browser translation. |
| 47 # Uses an unstable IRT hook interface to get the shim from the IRT itself. |
| 48 # If we ever change that hook interface or change the in-IRT shim's ABI, |
| 49 # we would need to clear the translation cache to match the new IRT. |
| 50 { |
| 51 'target_name': 'pnacl_irt_shim_browser', |
| 52 'type': 'none', |
| 53 'variables': { |
| 54 # Same name as pnacl_irt_shim_aot, so that we don't need to change |
| 55 # the linker commandlines, but output to the "for_browser" directory, |
| 56 # and have the pnacl_support_extension copy from that directory. |
| 57 'nlib_target': 'libpnacl_irt_shim.a', |
| 58 'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/for_brows
er/>(nlib_target)', |
| 59 'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/for
_browser/>(nlib_target)', |
| 60 'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/for
_browser/>(nlib_target)', |
| 61 'out_pnacl_newlib_mips': '>(tc_lib_dir_pnacl_translate)/lib-mips32/for_b
rowser/>(nlib_target)', |
| 62 'build_glibc': 0, |
| 63 'build_newlib': 0, |
| 64 'build_pnacl_newlib': 1, |
| 65 'pnacl_native_biased': 1, |
| 66 'enable_x86_32': 1, |
| 67 'enable_x86_64': 1, |
| 68 'enable_arm': 1, |
| 69 'enable_mips': 1, |
| 70 'sources': [ |
| 71 'shim_entry.c', |
| 72 'shim_ppapi.c', |
| 73 ], |
| 74 'extra_args': [ |
| 75 '--strip-debug', |
| 76 ], |
35 }, | 77 }, |
36 'dependencies': [ | 78 'dependencies': [ |
37 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', | 79 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', |
| 80 ], |
| 81 }, |
| 82 { |
| 83 # Second half of shim library for PNaCl in-browser translation. |
| 84 # This half goes into the IRT and is returned by the unstable |
| 85 # IRT hook interface. |
| 86 'target_name': 'pnacl_irt_shim_for_irt', |
| 87 'type': 'none', |
| 88 'variables': { |
| 89 'nlib_target': 'libpnacl_irt_shim_for_irt.a', |
| 90 'build_glibc': 0, |
| 91 'build_newlib': 0, |
| 92 # Unlike the above, build this the way the IRT is built so that the |
| 93 # output library directories match the IRT linking search paths. |
| 94 'build_irt': 1, |
| 95 'sources': [ |
| 96 'irt_shim_ppapi.c', |
| 97 'pnacl_shim.c', |
| 98 ], |
| 99 }, |
| 100 'dependencies': [ |
| 101 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', |
38 ], | 102 ], |
39 }, | 103 }, |
40 ], | 104 ], |
41 } | 105 } |
OLD | NEW |