Roll usrcstplib -> r9048.
[chromium-blink-merge.git] / remoting / remoting_nacl.gyp
blobb9000ba1e90cd74c56aad238cfa39d0262d31caa
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/libwebm/libwebm_nacl.gyp:libwebm_nacl',
110         '../third_party/libyuv/libyuv_nacl.gyp:libyuv_nacl',
111         '../third_party/boringssl/boringssl_nacl.gyp:boringssl_nacl',
112         '../third_party/opus/opus_nacl.gyp:opus_nacl',
113         'remoting_proto_nacl',
114         'remoting_webrtc_nacl',
115       ],
116       'sources': [
117         '../ui/events/keycodes/dom4/keycode_converter.cc',
118         '<@(remoting_base_sources)',
119         '<@(remoting_client_plugin_sources)',
120         '<@(remoting_client_sources)',
121         '<@(remoting_protocol_sources)',
122       ],
123       'sources!': [
124         'base/url_request_context_getter.cc',
125         'protocol/chromium_socket_factory.cc',
126       ],
128       # Include normalizing_input_filter_mac.cc excluded by the filename
129       # exclusion rules. Must be in target_conditions to make sure it's
130       # evaluated after the filename rules.
131       'target_conditions': [
132         ['1==1', {
133           'sources/': [
134             [ 'include', 'client/plugin/normalizing_input_filter_mac.cc' ],
135           ],
136         }],
137       ],
138     },  # end of target 'remoting_client_plugin_lib_nacl'
140     {
141       'target_name': 'remoting_client_plugin_nacl',
142       'type': 'none',
143       'variables': {
144         'nacl_untrusted_build': 1,
145         'nexe_target': 'remoting_client_plugin',
146         'build_glibc': 0,
147         'build_newlib': 0,
148         'build_pnacl_newlib': 1,
149         'extra_deps_pnacl_newlib': [
150           '>(tc_lib_dir_pnacl_newlib)/libbase_i18n_nacl.a',
151           '>(tc_lib_dir_pnacl_newlib)/libbase_nacl.a',
152           '>(tc_lib_dir_pnacl_newlib)/libexpat_nacl.a',
153           '>(tc_lib_dir_pnacl_newlib)/libicudata_nacl.a',
154           '>(tc_lib_dir_pnacl_newlib)/libcrypto_nacl.a',
155           '>(tc_lib_dir_pnacl_newlib)/libicui18n_nacl.a',
156           '>(tc_lib_dir_pnacl_newlib)/libicuuc_nacl.a',
157           '>(tc_lib_dir_pnacl_newlib)/libjingle_nacl.a',
158           '>(tc_lib_dir_pnacl_newlib)/libjingle_p2p_constants_nacl.a',
159           '>(tc_lib_dir_pnacl_newlib)/libmedia_yuv_nacl.a',
160           '>(tc_lib_dir_pnacl_newlib)/libmodp_b64_nacl.a',
161           '>(tc_lib_dir_pnacl_newlib)/libboringssl_nacl.a',
162           '>(tc_lib_dir_pnacl_newlib)/libopus_nacl.a',
163           '>(tc_lib_dir_pnacl_newlib)/libppapi.a',
164           '>(tc_lib_dir_pnacl_newlib)/libppapi_cpp.a',
165           '>(tc_lib_dir_pnacl_newlib)/libprotobuf_lite_nacl.a',
166           '>(tc_lib_dir_pnacl_newlib)/libjingle_glue_nacl.a',
167           '>(tc_lib_dir_pnacl_newlib)/libnet_nacl.a',
168           '>(tc_lib_dir_pnacl_newlib)/libremoting_client_plugin_lib_nacl.a',
169           '>(tc_lib_dir_pnacl_newlib)/libremoting_proto_nacl.a',
170           '>(tc_lib_dir_pnacl_newlib)/libremoting_webrtc_nacl.a',
171           '>(tc_lib_dir_pnacl_newlib)/liburl_nacl.a',
172           '>(tc_lib_dir_pnacl_newlib)/libvpx_nacl.a',
173           '>(tc_lib_dir_pnacl_newlib)/libwebm_nacl.a',
174           '>(tc_lib_dir_pnacl_newlib)/libyuv_nacl.a',
175         ],
176       },
177       'dependencies': [
178         '../base/base_nacl.gyp:base_i18n_nacl',
179         '../base/base_nacl.gyp:base_nacl',
180         '../crypto/crypto_nacl.gyp:crypto_nacl',
181         '../jingle/jingle_nacl.gyp:jingle_glue_nacl',
182         '../media/media_nacl.gyp:media_yuv_nacl',
183         '../native_client/tools.gyp:prep_toolchain',
184         '../native_client_sdk/native_client_sdk_untrusted.gyp:nacl_io_untrusted',
185         '../net/net_nacl.gyp:net_nacl',
186         '../ppapi/native_client/native_client.gyp:nacl_irt',
187         '../ppapi/native_client/native_client.gyp:ppapi_lib',
188         '../ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
189         '../third_party/expat/expat_nacl.gyp:expat_nacl',
190         '../third_party/icu/icu_nacl.gyp:icudata_nacl',
191         '../third_party/icu/icu_nacl.gyp:icui18n_nacl',
192         '../third_party/icu/icu_nacl.gyp:icuuc_nacl',
193         '../third_party/libjingle/libjingle_nacl.gyp:libjingle_nacl',
194         '../third_party/libwebm/libwebm_nacl.gyp:libwebm_nacl',
195         '../third_party/libyuv/libyuv_nacl.gyp:libyuv_nacl',
196         '../third_party/modp_b64/modp_b64_nacl.gyp:modp_b64_nacl',
197         '../third_party/boringssl/boringssl_nacl.gyp:boringssl_nacl',
198         '../url/url_nacl.gyp:url_nacl',
199         'remoting_client_plugin_lib_nacl',
200         'remoting_proto_nacl',
201         'remoting_webrtc_nacl',
202       ],
203       'link_flags': [
204         '-lppapi_stub',
206         # Plugin code.
207         '-lremoting_client_plugin_lib_nacl',
208         '-lremoting_proto_nacl',
210         # Chromium libraries.
211         '-ljingle_glue_nacl',
212         '-lmedia_yuv_nacl',
213         '-lnet_nacl',
214         '-lcrypto_nacl',
215         '-lbase_i18n_nacl',
216         '-lbase_nacl',
217         '-lurl_nacl',
219         # Third-party libraries.
220         '-lremoting_webrtc_nacl',
221         '-lyuv_nacl',
222         '-lvpx_nacl',
223         '-ljingle_p2p_constants_nacl',
224         '-ljingle_nacl',
225         '-lexpat_nacl',
226         '-lmodp_b64_nacl',
227         '-lopus_nacl',
228         '-lboringssl_nacl',
229         '-licui18n_nacl',
230         '-licuuc_nacl',
231         '-licudata_nacl',
232         '-lprotobuf_lite_nacl',
233         '-lwebm_nacl',
235         # Base NaCl libraries.
236         '-lppapi_cpp',
237         '-lpthread',
238         '-lnacl_io',
239       ],
240       'sources': [
241         'client/plugin/pepper_module.cc',
242       ],
243     },  # end of target 'remoting_client_plugin_nacl'
244   ]