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