Process Alt-Svc headers.
[chromium-blink-merge.git] / ppapi / native_client / src / untrusted / pnacl_irt_shim / pnacl_irt_shim.gyp
blob946437d9619f2f2c5bdd242f9b7af181c003965e
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       # We keep the target names in this file short to avoid having really long
13       # path names on Windows.
14       # https://code.google.com/p/nativeclient/issues/detail?id=3846
15       'target_name': 'aot',
16       'type': 'none',
17       'variables': {
18         'nlib_target': 'libpnacl_irt_shim.a',
19         'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/>(nlib_target)',
20         'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/>(nlib_target)',
21         'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/>(nlib_target)',
22         'out_pnacl_newlib_mips': '>(tc_lib_dir_pnacl_translate)/lib-mips32/>(nlib_target)',
23         # TODO(hidehiko): When crrev.com/524573002 is submitted and NaCl
24         # repository is rolled out with the CL, then we can simply remove this
25         # variable, as it is no longer used.
26         'out_pnacl_newlib_x86_32_nonsfi': '>(tc_lib_dir_pnacl_translate)/lib-x86-32-nonsfi/>(nlib_target)',
27         'out_newlib32_nonsfi': '>(tc_lib_dir_pnacl_translate)/lib-x86-32-nonsfi/>(nlib_target)',
28         'out_pnacl_newlib_arm_nonsfi': '>(tc_lib_dir_pnacl_translate)/lib-arm-nonsfi/>(nlib_target)',
29         'out_newlib_arm_nonsfi': '>(tc_lib_dir_pnacl_translate)/lib-arm-nonsfi/>(nlib_target)',
30         'build_glibc': 0,
31         'build_newlib': 0,
32         'build_pnacl_newlib': 1,
33         'pnacl_native_biased': 1,
34         'enable_x86_32': 1,
35         'enable_x86_64': 1,
36         'enable_arm': 1,
37         'enable_mips': 1,
38         'enable_x86_32_nonsfi': 1,
39         'enable_arm_nonsfi': 1,
40         'sources': [
41           'irt_shim_ppapi.c',
42           'pnacl_shim.c',
43           'shim_entry.c',
44           'shim_ppapi.c',
45         ],
46         'extra_args': [
47           '--strip-debug',
48         ],
49         # Indicate that shim should not depend on unstable IRT hook interface.
50         'compile_flags': [
51           '-DPNACL_SHIM_AOT',
52         ],
53       },
54     },
55     # Smaller shim library for PNaCl in-browser translation.
56     # Uses an unstable IRT hook interface to get the shim from the IRT itself.
57     # If we ever change that hook interface or change the in-IRT shim's ABI,
58     # we would need to clear the translation cache to match the new IRT.
59     {
60       'target_name': 'browser',
61       'type': 'none',
62       'variables': {
63         # Same output file name as shim_aot, so that we don't need to change
64         # the linker commandlines, but output to the "for_browser" directory,
65         # and have the pnacl_support_extension copy from that directory.
66         'nlib_target': 'libpnacl_irt_shim.a',
67         'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/browser/>(nlib_target)',
68         'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/browser/>(nlib_target)',
69         'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/browser/>(nlib_target)',
70         'out_pnacl_newlib_mips': '>(tc_lib_dir_pnacl_translate)/lib-mips32/browser/>(nlib_target)',
71         'build_glibc': 0,
72         'build_newlib': 0,
73         'build_pnacl_newlib': 1,
74         'pnacl_native_biased': 1,
75         'enable_x86_32': 1,
76         'enable_x86_64': 1,
77         'enable_arm': 1,
78         'enable_mips': 1,
79         'sources': [
80           'shim_entry.c',
81           'shim_ppapi.c',
82         ],
83         'extra_args': [
84           '--strip-debug',
85         ],
86       },
87     },
88     {
89       # Second half of shim library for PNaCl in-browser translation.
90       # This half goes into the IRT and is returned by the unstable
91       # IRT hook interface.
92       'target_name': 'irt',
93       'type': 'none',
94       'variables': {
95         'nlib_target': 'libpnacl_irt_shim_for_irt.a',
96         'build_glibc': 0,
97         'build_newlib': 0,
98         # Unlike the above, build this the way the IRT is built so that the
99         # output library directories match the IRT linking search paths.
100         'build_irt': 1,
101         'sources': [
102           'irt_shim_ppapi.c',
103           'pnacl_shim.c',
104         ],
105       },
106     },
107   ],