Re-land: C++ readability review
[chromium-blink-merge.git] / remoting / remoting.gyp
blob6d783c2ae6028827fbc85f67e63f19442d1af7a1
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       'target_name': 'remoting_breakpad',
88       'type': 'static_library',
89       'variables': { 'enable_wexit_time_destructors': 1, },
90       'dependencies': [
91         '../base/base.gyp:base',
92       ],
93       'sources': [
94         'base/breakpad.h',
95         'base/breakpad_linux.cc',
96         'base/breakpad_mac.mm',
97         'base/breakpad_win.cc',
98       ],
99       'conditions': [
100         ['OS=="mac"', {
101           'dependencies': [
102             '../breakpad/breakpad.gyp:breakpad',
103           ],
104         }],
105         ['OS=="win"', {
106           'dependencies': [
107             '../breakpad/breakpad.gyp:breakpad_handler',
108           ],
109         }],
110       ],
111     },  # end of target 'remoting_breakpad'
113     {
114       # GN version: //remoting/resources
115       'target_name': 'remoting_resources',
116       'type': 'none',
117       'dependencies': [
118         'remoting_webapp_html',
119       ],
120       'variables': {
121         'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)',
122         'sources': [
123           'base/resources_unittest.cc',
124           'host/continue_window_mac.mm',
125           'host/disconnect_window_mac.mm',
126           'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
127           'host/it2me/it2me_confirmation_dialog_chromeos.cc',
128           'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
129           'host/win/core.rc.jinja2',
130           'host/win/host_messages.mc.jinja2',
131           'host/win/version.rc.jinja2',
132           'resources/play_store_resources.cc',
133           '<@(desktop_remoting_webapp_localizable_files)',
134           '<@(app_remoting_webapp_localizable_files)',
135         ],
136       },
137       'actions': [
138         {
139           # GN version: //remoting/resources:verify_resources
140           'action_name': 'verify_resources',
141           'inputs': [
142             'resources/remoting_strings.grd',
143             'tools/verify_resources.py',
144             '<@(sources)'
145           ],
146           'outputs': [
147             '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
148           ],
149           'action': [
150             'python',
151             'tools/verify_resources.py',
152             '-t', '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
153             '-r', 'resources/remoting_strings.grd',
154             '<@(sources)',
155          ],
156         },
157         {
158           # GN version: //remoting/resources:strings
159           'action_name': 'remoting_strings',
160           'variables': {
161             'grit_grd_file': 'resources/remoting_strings.grd',
162           },
163           'includes': [ '../build/grit_action.gypi' ],
164         },
165         {
166           # GN version: //remoting/resources:copy_locales
167           'action_name': 'copy_locales',
168           'variables': {
169             'copy_output_dir%': '<(PRODUCT_DIR)',
170           },
171           'inputs': [
172             'tools/build/remoting_copy_locales.py',
173             '<!@pymod_do_main(remoting_copy_locales -i -p <(OS) -g <(grit_out_dir) <(remoting_locales))'
174           ],
175           'outputs': [
176             '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(copy_output_dir) <(remoting_locales))'
177           ],
178           'action': [
179             'python', 'tools/build/remoting_copy_locales.py',
180             '-p', '<(OS)',
181             '-g', '<(grit_out_dir)',
182             '-x', '<(copy_output_dir)/.',
183             '<@(remoting_locales)',
184           ],
185         }
186       ],
187       'includes': [ '../build/grit_target.gypi' ],
188     },  # end of target 'remoting_resources'
190     {
191       # GN version: //remoting/base and //remoting/codec
192       'target_name': 'remoting_base',
193       'type': 'static_library',
194       'variables': { 'enable_wexit_time_destructors': 1, },
195       'dependencies': [
196         '../base/base.gyp:base',
197         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
198         '../media/media.gyp:media',
199         '../media/media.gyp:shared_memory_support',
200         '../net/net.gyp:net',
201         '../third_party/libvpx/libvpx.gyp:libvpx',
202         '../third_party/libyuv/libyuv.gyp:libyuv',
203         '../third_party/opus/opus.gyp:opus',
204         '../third_party/protobuf/protobuf.gyp:protobuf_lite',
205         '../third_party/webrtc/modules/modules.gyp:desktop_capture',
206         '../ui/base/ui_base.gyp:ui_base',
207         '../ui/gfx/gfx.gyp:gfx',
208         '../ui/gfx/gfx.gyp:gfx_geometry',
209         'proto/chromotocol.gyp:chromotocol_proto_lib',
210         'remoting_resources',
211       ],
212       'export_dependent_settings': [
213         '../base/base.gyp:base',
214         '../net/net.gyp:net',
215         '../third_party/protobuf/protobuf.gyp:protobuf_lite',
216         'proto/chromotocol.gyp:chromotocol_proto_lib',
217       ],
218       # This target needs a hard dependency because dependent targets
219       # depend on chromotocol_proto_lib for headers.
220       'hard_dependency': 1,
221       'sources': [
222         '<@(remoting_base_sources)',
223         '<@(remoting_codec_sources)',
224       ],
225     },  # end of target 'remoting_base'
227     {
228       # GN version: //remoting/protocol
229       'target_name': 'remoting_protocol',
230       'type': 'static_library',
231       'variables': { 'enable_wexit_time_destructors': 1, },
232       'dependencies': [
233         '../base/base.gyp:base',
234         '../crypto/crypto.gyp:crypto',
235         '../jingle/jingle.gyp:jingle_glue',
236         '../jingle/jingle.gyp:notifier',
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       ],
248     },  # end of target 'remoting_protocol'
249   ],  # end of targets