Adds first PPAPI test for non-SFI mode.
[chromium-blink-merge.git] / ppapi / native_client / src / untrusted / pnacl_irt_shim / pnacl_irt_shim.gyp
blob1dae48745de45897cb976617b7e4c7a5e71cc380
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
3 # found in the LICENSE file.
6   'includes': [
7     '../../../../../native_client/build/untrusted.gypi',
8   ],
9   'targets': [
10     {
11       # The full library, which PNaCl uses for offline .pexe -> .nexe.
12       'target_name': 'pnacl_irt_shim_aot',
13       'type': 'none',
14       'variables': {
15         'nlib_target': 'libpnacl_irt_shim.a',
16         'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/>(nlib_target)',
17         'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/>(nlib_target)',
18         'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/>(nlib_target)',
19         'out_pnacl_newlib_mips': '>(tc_lib_dir_pnacl_translate)/lib-mips32/>(nlib_target)',
20         'out_pnacl_newlib_x86_32_nonsfi': '>(tc_lib_dir_pnacl_translate)/lib-x86-32-nonsfi/>(nlib_target)',
21         'build_glibc': 0,
22         'build_newlib': 0,
23         'build_pnacl_newlib': 1,
24         'pnacl_native_biased': 1,
25         'enable_x86_32': 1,
26         'enable_x86_64': 1,
27         'enable_arm': 1,
28         'enable_mips': 1,
29         'enable_x86_32_nonsfi': 1,
30         'sources': [
31           'irt_shim_ppapi.c',
32           'pnacl_shim.c',
33           'shim_entry.c',
34           'shim_ppapi.c',
35         ],
36         'extra_args': [
37           '--strip-debug',
38         ],
39         # Indicate that shim should not depend on unstable IRT hook interface.
40         'compile_flags': [
41           '-DPNACL_SHIM_AOT',
42         ],
43       },
44       'dependencies': [
45         '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
46       ],
47     },
48     # Smaller shim library for PNaCl in-browser translation.
49     # Uses an unstable IRT hook interface to get the shim from the IRT itself.
50     # If we ever change that hook interface or change the in-IRT shim's ABI,
51     # we would need to clear the translation cache to match the new IRT.
52     {
53       'target_name': 'pnacl_irt_shim_browser',
54       'type': 'none',
55       'variables': {
56         # Same name as pnacl_irt_shim_aot, so that we don't need to change
57         # the linker commandlines, but output to the "for_browser" directory,
58         # and have the pnacl_support_extension copy from that directory.
59         'nlib_target': 'libpnacl_irt_shim.a',
60         'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/for_browser/>(nlib_target)',
61         'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/for_browser/>(nlib_target)',
62         'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/for_browser/>(nlib_target)',
63         'out_pnacl_newlib_mips': '>(tc_lib_dir_pnacl_translate)/lib-mips32/for_browser/>(nlib_target)',
64         'build_glibc': 0,
65         'build_newlib': 0,
66         'build_pnacl_newlib': 1,
67         'pnacl_native_biased': 1,
68         'enable_x86_32': 1,
69         'enable_x86_64': 1,
70         'enable_arm': 1,
71         'enable_mips': 1,
72         'sources': [
73           'shim_entry.c',
74           'shim_ppapi.c',
75         ],
76         'extra_args': [
77           '--strip-debug',
78         ],
79       },
80       'dependencies': [
81         '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
82       ],
83     },
84     {
85       # Second half of shim library for PNaCl in-browser translation.
86       # This half goes into the IRT and is returned by the unstable
87       # IRT hook interface.
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           'irt_shim_ppapi.c',
99           'pnacl_shim.c',
100         ],
101       },
102       'dependencies': [
103         '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
104       ],
105     },
106   ],