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 'build_glibc': 0, | 19 'build_glibc': 0, |
19 'build_newlib': 0, | 20 'build_newlib': 0, |
20 'build_pnacl_newlib': 1, | 21 'build_pnacl_newlib': 1, |
21 'pnacl_native_biased': 1, | 22 'pnacl_native_biased': 1, |
22 'enable_x86_32': 1, | 23 'enable_x86_32': 1, |
23 'enable_x86_64': 1, | 24 'enable_x86_64': 1, |
24 'enable_arm': 1, | 25 'enable_arm': 1, |
25 'sources': [ | 26 'sources': [ |
26 'pnacl_shim.c', | 27 'pnacl_shim.c', |
27 'shim_entry.c', | 28 'shim_entry.c', |
28 'shim_ppapi.c', | 29 'shim_ppapi.c', |
30 '../../../../proxy/irt_shim_ppapi.c', | |
jvoung (off chromium)
2014/02/14 23:11:54
Wasn't sure how common this sort of thing is done
| |
29 ], | 31 ], |
30 'include_dirs': [ | 32 'include_dirs': [ |
31 '../../../..', | 33 '../../../..', |
32 ], | 34 ], |
33 'extra_args': [ | 35 'extra_args': [ |
34 '--strip-debug', | 36 '--strip-debug', |
35 ], | 37 ], |
38 # Indicate that shim should not depend on unstable IRT hook interface. | |
39 'compile_flags': [ | |
40 '-DPNACL_SHIM_AOT=1', | |
41 ], | |
42 }, | |
43 'dependencies': [ | |
44 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', | |
45 ], | |
46 }, | |
47 # Smaller shim library for PNaCl in-browser translation. | |
48 # Uses an unstable IRT hook interface to get the shim from the IRT itself. | |
49 # If we ever change that hook interface or change the in-IRT shim's ABI, | |
50 # we would need to clear the translation cache to match the new IRT. | |
51 { | |
52 'target_name': 'pnacl_irt_shim_browser', | |
53 'type': 'none', | |
54 'variables': { | |
55 # Same name as pnacl_irt_shim_aot, so that we don't need to change | |
56 # the linker commandlines, but output to the "for_browser" directory, | |
57 # and have the pnacl_support_extension copy from that directory. | |
58 'nlib_target': 'libpnacl_irt_shim.a', | |
59 'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/for_brows er/>(nlib_target)', | |
60 'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/for _browser/>(nlib_target)', | |
61 'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/for _browser/>(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 'sources': [ | |
70 'shim_entry.c', | |
71 'shim_ppapi.c', | |
72 ], | |
73 'include_dirs': [ | |
74 '../../../..', | |
75 ], | |
76 'extra_args': [ | |
77 '--strip-debug', | |
78 ], | |
36 }, | 79 }, |
37 'dependencies': [ | 80 'dependencies': [ |
38 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', | 81 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', |
82 ], | |
83 }, | |
84 # Second half of shim library for PNaCl in-browser translation. | |
85 # This half goes into the IRT and is returned by the unstable | |
86 # IRT hook interface. | |
87 { | |
88 'target_name': 'pnacl_irt_shim_for_irt', | |
89 'type': 'none', | |
90 'variables': { | |
91 'nlib_target': 'libpnacl_irt_shim_for_irt.a', | |
92 'build_glibc': 0, | |
93 'build_newlib': 0, | |
94 # Unlike the above, build this the way the IRT is built so that the | |
95 # output library directories match the IRT linking search paths. | |
96 'build_irt': 1, | |
97 'sources': [ | |
98 'pnacl_shim.c', | |
99 ], | |
100 'include_dirs': [ | |
101 '../../../..', | |
102 ], | |
103 }, | |
104 'dependencies': [ | |
105 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', | |
39 ], | 106 ], |
40 }, | 107 }, |
41 ], | 108 ], |
42 } | 109 } |
OLD | NEW |