Adds "tts" permission for Input Tools & XKB extension.
[chromium-blink-merge.git] / remoting / remoting.gyp
blob1027fc9f024d57ff7f2711d949eb0f94232df15a
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   'variables': {
7     'chromium_code': 1,
9     # Set this to run the jscompile checks after building the webapp.
10     'run_jscompile%': 1,
12     # Set this to enable cast mode on the android client.
13     'enable_cast%': 0,
15     'variables': {
16       'conditions': [
17         # Enable the multi-process host on Windows by default.
18         ['OS=="win"', {
19           'remoting_multi_process%': 1,
20         }, {
21           'remoting_multi_process%': 0,
22         }],
23       ],
24     },
26     'remoting_multi_process%': '<(remoting_multi_process)',
27     'remoting_rdp_session%': 1,
29     'branding_path': '../remoting/branding_<(branding)',
31     'conditions': [
32       ['OS=="mac"', {
33         'mac_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_BUNDLE_ID@")',
34         'mac_creator': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_CREATOR@")',
35       }],
36       ['OS=="win"', {
37         # Each CLSID is a hash of the current version string salted with an
38         # arbitrary GUID. This ensures that the newly installed COM classes will
39         # be used during/after upgrade even if there are old instances running
40         # already.
41         # The IDs are not random to avoid rebuilding host when it's not
42         # necessary.
43         'daemon_controller_clsid':
44             '<!(python -c "import uuid; print uuid.uuid5(uuid.UUID(\'655bd819-c08c-4b04-80c2-f160739ff6ef\'), \'<(version_full)\')")',
45         'rdp_desktop_session_clsid':
46             '<!(python -c "import uuid; print uuid.uuid5(uuid.UUID(\'6a7699f0-ee43-43e7-aa30-a6738f9bd470\'), \'<(version_full)\')")',
48         # Java is not available on Windows bots, so we need to disable
49         # JScompile checks.
50         'run_jscompile': 0,
52       }],
53     ],
54   },
56   'includes': [
57     '../chrome/js_unittest_vars.gypi',
58     'remoting_android.gypi',
59     'remoting_client.gypi',
60     'remoting_host.gypi',
61     'remoting_host_srcs.gypi',
62     'remoting_locales.gypi',
63     'remoting_srcs.gypi',
64     'remoting_test.gypi',
65     'remoting_version.gypi',
66     'remoting_webapp_files.gypi',
67     'app_remoting_webapp_files.gypi',
68   ],
70   'target_defaults': {
71     'defines': [
72       'BINARY_CORE=1',
73       'BINARY_DESKTOP=2',
74       'BINARY_HOST_ME2ME=3',
75       'BINARY_NATIVE_MESSAGING_HOST=4',
76       'BINARY_REMOTE_ASSISTANCE_HOST=5',
77     ],
78     'include_dirs': [
79       '..',  # Root of Chrome checkout
80     ],
81     'variables': {
82       'win_debug_RuntimeChecks': '0',
83     },
84     'conditions': [
85       ['OS=="mac" and mac_breakpad==1', {
86         'defines': [
87           'REMOTING_ENABLE_BREAKPAD'
88         ],
89       }],
90       ['OS=="win" and buildtype == "Official"', {
91         'defines': [
92           'REMOTING_ENABLE_BREAKPAD'
93         ],
94       }],
95       ['OS=="win" and remoting_multi_process != 0 and \
96           remoting_rdp_session != 0', {
97         'defines': [
98           'REMOTING_RDP_SESSION',
99         ],
100       }],
101       ['remoting_multi_process != 0', {
102         'defines': [
103           'REMOTING_MULTI_PROCESS',
104         ],
105       }],
106     ],
107   },
109   'targets': [
110     {
111       'target_name': 'remoting_breakpad',
112       'type': 'static_library',
113       'variables': { 'enable_wexit_time_destructors': 1, },
114       'dependencies': [
115         '../base/base.gyp:base',
116       ],
117       'sources': [
118         'base/breakpad.h',
119         'base/breakpad_linux.cc',
120         'base/breakpad_mac.mm',
121         'base/breakpad_win.cc',
122       ],
123       'conditions': [
124         ['OS=="mac"', {
125           'dependencies': [
126             '../breakpad/breakpad.gyp:breakpad',
127           ],
128         }],
129         ['OS=="win"', {
130           'dependencies': [
131             '../breakpad/breakpad.gyp:breakpad_handler',
132           ],
133         }],
134       ],
135     },  # end of target 'remoting_breakpad'
137     {
138       # GN version: //remoting/resources
139       'target_name': 'remoting_resources',
140       'type': 'none',
141       'dependencies': [
142         'remoting_webapp_html',
143       ],
144       'variables': {
145         'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)',
146         'sources': [
147           'base/resources_unittest.cc',
148           'host/continue_window_mac.mm',
149           'host/disconnect_window_mac.mm',
150           'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
151           'host/it2me/it2me_confirmation_dialog_chromeos.cc',
152           'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
153           'host/win/core.rc.jinja2',
154           'host/win/host_messages.mc.jinja2',
155           'host/win/version.rc.jinja2',
156           'resources/play_store_resources.cc',
157           '<@(desktop_remoting_webapp_localizable_files)',
158           '<@(app_remoting_webapp_localizable_files)',
159         ],
160       },
161       'actions': [
162         {
163           # GN version: //remoting/resources:verify_resources
164           'action_name': 'verify_resources',
165           'inputs': [
166             'resources/remoting_strings.grd',
167             'tools/verify_resources.py',
168             '<@(sources)'
169           ],
170           'outputs': [
171             '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
172           ],
173           'action': [
174             'python',
175             'tools/verify_resources.py',
176             '-t', '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
177             '-r', 'resources/remoting_strings.grd',
178             '<@(sources)',
179          ],
180         },
181         {
182           # GN version: //remoting/resources:strings
183           'action_name': 'remoting_strings',
184           'variables': {
185             'grit_grd_file': 'resources/remoting_strings.grd',
186           },
187           'includes': [ '../build/grit_action.gypi' ],
188         },
189         {
190           # GN version: //remoting/resources:copy_locales
191           'action_name': 'copy_locales',
192           'variables': {
193             'copy_output_dir%': '<(PRODUCT_DIR)',
194           },
195           'inputs': [
196             'tools/build/remoting_copy_locales.py',
197             '<!@pymod_do_main(remoting_copy_locales -i -p <(OS) -g <(grit_out_dir) <(remoting_locales))'
198           ],
199           'outputs': [
200             '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(copy_output_dir) <(remoting_locales))'
201           ],
202           'action': [
203             'python', 'tools/build/remoting_copy_locales.py',
204             '-p', '<(OS)',
205             '-g', '<(grit_out_dir)',
206             '-x', '<(copy_output_dir)/.',
207             '<@(remoting_locales)',
208           ],
209         }
210       ],
211       'includes': [ '../build/grit_target.gypi' ],
212     },  # end of target 'remoting_resources'
214     {
215       # GN version: //remoting/base
216       'target_name': 'remoting_base',
217       'type': 'static_library',
218       'variables': { 'enable_wexit_time_destructors': 1, },
219       'dependencies': [
220         '../base/base.gyp:base',
221         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
222         '../media/media.gyp:media',
223         '../media/media.gyp:shared_memory_support',
224         '../net/net.gyp:net',
225         '../third_party/libvpx/libvpx.gyp:libvpx',
226         '../third_party/libyuv/libyuv.gyp:libyuv',
227         '../third_party/opus/opus.gyp:opus',
228         '../third_party/protobuf/protobuf.gyp:protobuf_lite',
229         '../third_party/webrtc/modules/modules.gyp:desktop_capture',
230         '../ui/base/ui_base.gyp:ui_base',
231         '../ui/gfx/gfx.gyp:gfx',
232         '../ui/gfx/gfx.gyp:gfx_geometry',
233         'proto/chromotocol.gyp:chromotocol_proto_lib',
234         'remoting_resources',
235       ],
236       'export_dependent_settings': [
237         '../base/base.gyp:base',
238         '../net/net.gyp:net',
239         '../third_party/protobuf/protobuf.gyp:protobuf_lite',
240         'proto/chromotocol.gyp:chromotocol_proto_lib',
241       ],
242       # This target needs a hard dependency because dependent targets
243       # depend on chromotocol_proto_lib for headers.
244       'hard_dependency': 1,
245       'sources': [
246         '<@(remoting_base_sources)',
247       ],
248     },  # end of target 'remoting_base'
250     {
251       # GN version: //remoting/protocol
252       'target_name': 'remoting_protocol',
253       'type': 'static_library',
254       'variables': { 'enable_wexit_time_destructors': 1, },
255       'dependencies': [
256         '../base/base.gyp:base',
257         '../crypto/crypto.gyp:crypto',
258         '../jingle/jingle.gyp:jingle_glue',
259         '../jingle/jingle.gyp:notifier',
260         '../net/net.gyp:net',
261         '../third_party/libjingle/libjingle.gyp:libjingle',
262         'remoting_base',
263       ],
264       'export_dependent_settings': [
265         '../third_party/libjingle/libjingle.gyp:libjingle',
266       ],
267       'sources': [
268         '<@(remoting_protocol_sources)',
269       ],
270     },  # end of target 'remoting_protocol'
271   ],  # end of targets