Roll ANGLE edd84e41482..cd1db9e6c937.
[chromium-blink-merge.git] / remoting / remoting_nacl.gyp
blobe83bffed1fc519d26e1ec634326e3008f56a5a7a
1 # Copyright 2014 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     'remoting_srcs.gypi',
9   ],
11   'variables': {
12     'protoc': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)',
13     'proto_out_base': '<(SHARED_INTERMEDIATE_DIR)/protoc_out',
14     'proto_out_dir': '<(proto_out_base)/remoting/proto',
15     'use_nss': 0,
16     'nacl_untrusted_build': 1,
17     'chromium_code': 1,
18   },
20   'targets': [
21     {
22       'target_name': 'remoting_webrtc_nacl',
23       'type': 'none',
24       'variables': {
25         'nacl_untrusted_build': 1,
26         'nlib_target': 'libremoting_webrtc_nacl.a',
27         'build_glibc': 0,
28         'build_newlib': 0,
29         'build_pnacl_newlib': 1,
30       },
31       'include_dirs': [
32         '../third_party',
33         '../third_party/webrtc',
34       ],
35       'sources': [
36         '../third_party/webrtc/modules/desktop_capture/desktop_frame.cc',
37         '../third_party/webrtc/modules/desktop_capture/desktop_frame.h',
38         '../third_party/webrtc/modules/desktop_capture/desktop_geometry.cc',
39         '../third_party/webrtc/modules/desktop_capture/desktop_geometry.h',
40         '../third_party/webrtc/modules/desktop_capture/desktop_region.cc',
41         '../third_party/webrtc/modules/desktop_capture/desktop_region.h',
42         '../third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc',
43         '../third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h',
44       ],
45       'direct_dependent_settings': {
46         'include_dirs': [
47           '../third_party',
48           '../third_party/webrtc',
49         ],
50       }
51     },  # end of target 'remoting_webrtc_nacl'
53     {
54       'target_name': 'remoting_proto_nacl',
55       'type': 'none',
56       'variables': {
57         'nacl_untrusted_build': 1,
58         'nlib_target': 'libremoting_proto_nacl.a',
59         'build_glibc': 0,
60         'build_newlib': 0,
61         'build_pnacl_newlib': 1,
62         'files_list': [
63           '<(proto_out_dir)/audio.pb.cc',
64           '<(proto_out_dir)/control.pb.cc',
65           '<(proto_out_dir)/event.pb.cc',
66           '<(proto_out_dir)/internal.pb.cc',
67           '<(proto_out_dir)/video.pb.cc',
68           '<(proto_out_dir)/mux.pb.cc',
69         ],
70         'extra_deps': [ '<@(files_list)' ],
71         'extra_args': [ '<@(files_list)' ],
72       },
73       'defines': [
74         'GOOGLE_PROTOBUF_HOST_ARCH_64_BIT=1'
75       ],
76       'dependencies': [
77         '../native_client/tools.gyp:prep_toolchain',
78         '../third_party/protobuf/protobuf_nacl.gyp:protobuf_lite_nacl',
79         'proto/chromotocol.gyp:chromotocol_proto_lib',
80       ],
81       'export_dependent_settings': [
82         '../third_party/protobuf/protobuf_nacl.gyp:protobuf_lite_nacl',
83       ],
84       'direct_dependent_settings': {
85         'include_dirs': [
86           '<(proto_out_base)',
87         ],
88       },
89     },  # end of target 'remoting_proto_nacl'
91     {
92       'target_name': 'remoting_client_plugin_lib_nacl',
93       'type': 'none',
94       'variables': {
95         'nacl_untrusted_build': 1,
96         'nlib_target': 'libremoting_client_plugin_lib_nacl.a',
97         'build_glibc': 0,
98         'build_newlib': 0,
99         'build_pnacl_newlib': 1,
100       },
101       'dependencies': [
102         '../base/base_nacl.gyp:base_nacl',
103         '../jingle/jingle_nacl.gyp:jingle_glue_nacl',
104         '../native_client/tools.gyp:prep_toolchain',
105         '../native_client_sdk/native_client_sdk_untrusted.gyp:nacl_io_untrusted',
106         '../net/net_nacl.gyp:net_nacl',
107         '../third_party/libjingle/libjingle_nacl.gyp:libjingle_nacl',
108         '../third_party/libvpx/libvpx_nacl.gyp:libvpx_nacl',
109         '../third_party/libyuv/libyuv_nacl.gyp:libyuv_nacl',
110         '../third_party/boringssl/boringssl_nacl.gyp:boringssl_nacl',
111         '../third_party/opus/opus_nacl.gyp:opus_nacl',
112         'remoting_proto_nacl',
113         'remoting_webrtc_nacl',
114       ],
115       'sources': [
116         '../ui/events/keycodes/dom4/keycode_converter.cc',
117         '<@(remoting_base_sources)',
118         '<@(remoting_client_plugin_sources)',
119         '<@(remoting_client_sources)',
120         '<@(remoting_protocol_sources)',
121       ],
122       'sources!': [
123         'base/url_request_context_getter.cc',
124         'protocol/chromium_socket_factory.cc',
125       ],
127       # Include normalizing_input_filter_mac.cc excluded by the filename
128       # exclusion rules. Must be in target_conditions to make sure it's
129       # evaluated after the filename rules.
130       'target_conditions': [
131         ['1==1', {
132           'sources/': [
133             [ 'include', 'client/plugin/normalizing_input_filter_mac.cc' ],
134           ],
135         }],
136       ],
137     },  # end of target 'remoting_client_plugin_lib_nacl'
139     {
140       'target_name': 'remoting_client_plugin_nacl',
141       'type': 'none',
142       'variables': {
143         'nacl_untrusted_build': 1,
144         'nexe_target': 'remoting_client_plugin',
145         'build_glibc': 0,
146         'build_newlib': 0,
147         'build_pnacl_newlib': 1,
148         'extra_deps_pnacl_newlib': [
149           '>(tc_lib_dir_pnacl_newlib)/libbase_i18n_nacl.a',
150           '>(tc_lib_dir_pnacl_newlib)/libbase_nacl.a',
151           '>(tc_lib_dir_pnacl_newlib)/libexpat_nacl.a',
152           '>(tc_lib_dir_pnacl_newlib)/libicudata_nacl.a',
153           '>(tc_lib_dir_pnacl_newlib)/libcrypto_nacl.a',
154           '>(tc_lib_dir_pnacl_newlib)/libicui18n_nacl.a',
155           '>(tc_lib_dir_pnacl_newlib)/libicuuc_nacl.a',
156           '>(tc_lib_dir_pnacl_newlib)/libjingle_nacl.a',
157           '>(tc_lib_dir_pnacl_newlib)/libjingle_p2p_constants_nacl.a',
158           '>(tc_lib_dir_pnacl_newlib)/libmedia_yuv_nacl.a',
159           '>(tc_lib_dir_pnacl_newlib)/libmodp_b64_nacl.a',
160           '>(tc_lib_dir_pnacl_newlib)/libboringssl_nacl.a',
161           '>(tc_lib_dir_pnacl_newlib)/libopus_nacl.a',
162           '>(tc_lib_dir_pnacl_newlib)/libppapi.a',
163           '>(tc_lib_dir_pnacl_newlib)/libppapi_cpp.a',
164           '>(tc_lib_dir_pnacl_newlib)/libprotobuf_lite_nacl.a',
165           '>(tc_lib_dir_pnacl_newlib)/libjingle_glue_nacl.a',
166           '>(tc_lib_dir_pnacl_newlib)/libnet_nacl.a',
167           '>(tc_lib_dir_pnacl_newlib)/libremoting_client_plugin_lib_nacl.a',
168           '>(tc_lib_dir_pnacl_newlib)/libremoting_proto_nacl.a',
169           '>(tc_lib_dir_pnacl_newlib)/libremoting_webrtc_nacl.a',
170           '>(tc_lib_dir_pnacl_newlib)/liburl_nacl.a',
171           '>(tc_lib_dir_pnacl_newlib)/libvpx_nacl.a',
172           '>(tc_lib_dir_pnacl_newlib)/libyuv_nacl.a',
173         ],
174       },
175       'dependencies': [
176         '../base/base_nacl.gyp:base_i18n_nacl',
177         '../base/base_nacl.gyp:base_nacl',
178         '../crypto/crypto_nacl.gyp:crypto_nacl',
179         '../jingle/jingle_nacl.gyp:jingle_glue_nacl',
180         '../media/media_nacl.gyp:media_yuv_nacl',
181         '../native_client/tools.gyp:prep_toolchain',
182         '../native_client_sdk/native_client_sdk_untrusted.gyp:nacl_io_untrusted',
183         '../net/net_nacl.gyp:net_nacl',
184         '../ppapi/native_client/native_client.gyp:nacl_irt',
185         '../ppapi/native_client/native_client.gyp:ppapi_lib',
186         '../ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
187         '../third_party/expat/expat_nacl.gyp:expat_nacl',
188         '../third_party/icu/icu_nacl.gyp:icudata_nacl',
189         '../third_party/icu/icu_nacl.gyp:icui18n_nacl',
190         '../third_party/icu/icu_nacl.gyp:icuuc_nacl',
191         '../third_party/libjingle/libjingle_nacl.gyp:libjingle_nacl',
192         '../third_party/libyuv/libyuv_nacl.gyp:libyuv_nacl',
193         '../third_party/modp_b64/modp_b64_nacl.gyp:modp_b64_nacl',
194         '../third_party/boringssl/boringssl_nacl.gyp:boringssl_nacl',
195         '../url/url_nacl.gyp:url_nacl',
196         'remoting_client_plugin_lib_nacl',
197         'remoting_proto_nacl',
198         'remoting_webrtc_nacl',
199       ],
200       'link_flags': [
201         '-lppapi_stub',
203         # Plugin code.
204         '-lremoting_client_plugin_lib_nacl',
205         '-lremoting_proto_nacl',
207         # Chromium libraries.
208         '-ljingle_glue_nacl',
209         '-lmedia_yuv_nacl',
210         '-lnet_nacl',
211         '-lcrypto_nacl',
212         '-lbase_i18n_nacl',
213         '-lbase_nacl',
214         '-lurl_nacl',
216         # Third-party libraries.
217         '-lremoting_webrtc_nacl',
218         '-lyuv_nacl',
219         '-lvpx_nacl',
220         '-ljingle_p2p_constants_nacl',
221         '-ljingle_nacl',
222         '-lexpat_nacl',
223         '-lmodp_b64_nacl',
224         '-lopus_nacl',
225         '-lboringssl_nacl',
226         '-licui18n_nacl',
227         '-licuuc_nacl',
228         '-licudata_nacl',
229         '-lprotobuf_lite_nacl',
231         # Base NaCl libraries.
232         '-lppapi_cpp',
233         '-lpthread',
234         '-lnacl_io',
235       ],
236       'sources': [
237         'client/plugin/pepper_module.cc',
238       ],
239     },  # end of target 'remoting_client_plugin_nacl'
240   ]