Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(978)

Side by Side Diff: remoting/remoting_host_win.gypi

Issue 139283010: Break some parts of remoting.gyp into separate .gypi files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move remoting_locales back into remoting.gyp Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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.
4
5 {
6 'variables': {
7 'remoting_host_installer_win_roots': [
8 'host/installer/win/',
9 ],
10 'remoting_host_installer_win_files': [
11 'host/installer/win/chromoting.wxs',
12 'host/installer/win/parameters.json',
13 ],
14 },
15
16 'conditions': [
17 ['OS=="win"', {
18 'targets': [
19 {
20 'target_name': 'remoting_breakpad_tester',
21 'type': 'executable',
22 'variables': { 'enable_wexit_time_destructors': 1, },
23 'dependencies': [
24 '../base/base.gyp:base',
25 'remoting_host',
26 ],
27 'sources': [
28 'tools/breakpad_tester_win.cc',
29 ],
30 }, # end of target 'remoting_breakpad_tester'
31 {
32 'target_name': 'remoting_lib_idl',
33 'type': 'static_library',
34 'sources': [
35 'host/win/chromoting_lib_idl.templ',
36 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.h',
37 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
38 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib_i.c',
39 ],
40 # This target exports a hard dependency because dependent targets may
41 # include chromoting_lib.h, a generated header.
42 'hard_dependency': 1,
43 'msvs_settings': {
44 'VCMIDLTool': {
45 'OutputDirectory': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
46 },
47 },
48 'direct_dependent_settings': {
49 'include_dirs': [
50 '<(SHARED_INTERMEDIATE_DIR)',
51 ],
52 },
53 'rules': [
54 {
55 'rule_name': 'generate_idl',
56 'extension': 'templ',
57 'outputs': [
58 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
59 ],
60 'action': [
61 'python', '<(version_py_path)',
62 '-e', "DAEMON_CONTROLLER_CLSID='<(daemon_controller_clsid)'",
63 '-e', "RDP_DESKTOP_SESSION_CLSID='<(rdp_desktop_session_clsid)'" ,
64 '<(RULE_INPUT_PATH)',
65 '<@(_outputs)',
66 ],
67 'process_outputs_as_sources': 1,
68 'message': 'Generating <@(_outputs)',
69 },
70 ],
71 }, # end of target 'remoting_lib_idl'
72
73 # remoting_lib_ps builds the proxy/stub code generated by MIDL (see
74 # remoting_lib_idl).
75 {
76 'target_name': 'remoting_lib_ps',
77 'type': 'static_library',
78 'defines': [
79 # Prepend 'Ps' to the MIDL-generated routines. This includes
80 # DllGetClassObject, DllCanUnloadNow, DllRegisterServer,
81 # DllUnregisterServer, and DllMain.
82 'ENTRY_PREFIX=Ps',
83 'REGISTER_PROXY_DLL',
84 ],
85 'dependencies': [
86 'remoting_lib_idl',
87 ],
88 'sources': [
89 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.dlldata.c',
90 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib_p.c',
91 ],
92 }, # end of target 'remoting_lib_ps'
93
94 # Regenerates 'chromoting_lib.rc' (used to embed 'chromoting_lib.tlb'
95 # into remoting_core.dll's resources) every time
96 # 'chromoting_lib_idl.templ' changes. Making remoting_core depend on
97 # both this and 'remoting_lib_idl' targets ensures that the resorces
98 # are rebuilt every time the type library is updated. GYP alone is
99 # not smart enough to figure out this dependency on its own.
100 {
101 'target_name': 'remoting_lib_rc',
102 'type': 'none',
103 'sources': [
104 'host/win/chromoting_lib_idl.templ',
105 ],
106 'hard_dependency': 1,
107 'direct_dependent_settings': {
108 'include_dirs': [
109 '<(SHARED_INTERMEDIATE_DIR)',
110 ],
111 },
112 'rules': [
113 {
114 'rule_name': 'generate_rc',
115 'extension': 'templ',
116 'outputs': [
117 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
118 ],
119 'action': [
120 'echo 1 typelib "remoting/host/chromoting_lib.tlb" > <@(_outputs )',
121 ],
122 'message': 'Generating <@(_outputs)',
123 },
124 ],
125 }, # end of target 'remoting_lib_rc'
126 # The only difference between |remoting_console.exe| and
127 # |remoting_host.exe| is that the former is a console application.
128 # |remoting_console.exe| is used for debugging purposes.
129 {
130 'target_name': 'remoting_console',
131 'type': 'executable',
132 'variables': { 'enable_wexit_time_destructors': 1, },
133 'defines': [
134 'BINARY=BINARY_HOST_ME2ME',
135 ],
136 'dependencies': [
137 'remoting_core',
138 'remoting_windows_resources',
139 ],
140 'sources': [
141 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
142 'host/win/entry_point.cc',
143 ],
144 'msvs_settings': {
145 'VCManifestTool': {
146 'AdditionalManifestFiles': [
147 'host/win/dpi_aware.manifest',
148 ],
149 },
150 'VCLinkerTool': {
151 'EntryPointSymbol': 'HostEntryPoint',
152 'IgnoreAllDefaultLibraries': 'true',
153 'SubSystem': '1', # /SUBSYSTEM:CONSOLE
154 },
155 },
156 }, # end of target 'remoting_console'
157 {
158 'target_name': 'remoting_core',
159 'type': 'shared_library',
160 'variables': { 'enable_wexit_time_destructors': 1, },
161 'defines' : [
162 '_ATL_APARTMENT_THREADED',
163 '_ATL_CSTRING_EXPLICIT_CONSTRUCTORS',
164 '_ATL_NO_AUTOMATIC_NAMESPACE',
165 '_ATL_NO_EXCEPTIONS',
166 'BINARY=BINARY_CORE',
167 'DAEMON_CONTROLLER_CLSID="{<(daemon_controller_clsid)}"',
168 'RDP_DESKTOP_SESSION_CLSID="{<(rdp_desktop_session_clsid)}"',
169 'HOST_IMPLEMENTATION',
170 'ISOLATION_AWARE_ENABLED=1',
171 'STRICT',
172 'VERSION=<(version_full)',
173 ],
174 'dependencies': [
175 '../base/base.gyp:base',
176 '../base/base.gyp:base_static',
177 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn amic_annotations',
178 '../ipc/ipc.gyp:ipc',
179 '../net/net.gyp:net',
180 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
181 'remoting_base',
182 'remoting_breakpad',
183 'remoting_host',
184 'remoting_host_setup_base',
185 'remoting_lib_idl',
186 'remoting_lib_ps',
187 'remoting_lib_rc',
188 'remoting_me2me_host_static',
189 'remoting_native_messaging_base',
190 'remoting_protocol',
191 'remoting_windows_resources',
192 ],
193 'sources': [
194 '<(SHARED_INTERMEDIATE_DIR)/remoting/core.rc',
195 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
196 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.rc' ,
197 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
198 'host/desktop_process_main.cc',
199 'host/host_main.cc',
200 'host/host_main.h',
201 'host/ipc_constants.cc',
202 'host/ipc_constants.h',
203 'host/remoting_me2me_host.cc',
204 'host/sas_injector.h',
205 'host/sas_injector_win.cc',
206 'host/setup/me2me_native_messaging_host_main.cc',
207 'host/verify_config_window_win.cc',
208 'host/verify_config_window_win.h',
209 'host/win/chromoting_module.cc',
210 'host/win/chromoting_module.h',
211 'host/win/core.cc',
212 'host/win/core_resource.h',
213 'host/win/elevated_controller.cc',
214 'host/win/elevated_controller.h',
215 'host/win/host_service.cc',
216 'host/win/host_service.h',
217 'host/win/omaha.cc',
218 'host/win/omaha.h',
219 'host/win/rdp_desktop_session.cc',
220 'host/win/rdp_desktop_session.h',
221 'host/win/unprivileged_process_delegate.cc',
222 'host/win/unprivileged_process_delegate.h',
223 'host/win/worker_process_launcher.cc',
224 'host/win/worker_process_launcher.h',
225 'host/win/wts_session_process_delegate.cc',
226 'host/win/wts_session_process_delegate.h',
227 'host/worker_process_ipc_delegate.h',
228 ],
229 'msvs_settings': {
230 'VCManifestTool': {
231 'EmbedManifest': 'true',
232 'AdditionalManifestFiles': [
233 'host/win/common-controls.manifest',
234 ],
235 },
236 'VCLinkerTool': {
237 'AdditionalDependencies': [
238 'comctl32.lib',
239 'rpcns4.lib',
240 'rpcrt4.lib',
241 'uuid.lib',
242 'wtsapi32.lib',
243 ],
244 'AdditionalOptions': [
245 # Export the proxy/stub entry points. Note that the generated
246 # routines have 'Ps' prefix to avoid conflicts with our own
247 # DllMain().
248 '/EXPORT:DllGetClassObject=PsDllGetClassObject,PRIVATE',
249 '/EXPORT:DllCanUnloadNow=PsDllCanUnloadNow,PRIVATE',
250 '/EXPORT:DllRegisterServer=PsDllRegisterServer,PRIVATE',
251 '/EXPORT:DllUnregisterServer=PsDllUnregisterServer,PRIVATE',
252 ],
253 },
254 },
255 }, # end of target 'remoting_core'
256 {
257 'target_name': 'remoting_desktop',
258 'type': 'executable',
259 'variables': { 'enable_wexit_time_destructors': 1, },
260 'defines': [
261 'BINARY=BINARY_DESKTOP',
262 ],
263 'dependencies': [
264 'remoting_core',
265 'remoting_windows_resources',
266 ],
267 'sources': [
268 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
269 'host/win/entry_point.cc',
270 ],
271 'msvs_settings': {
272 'VCManifestTool': {
273 'AdditionalManifestFiles': [
274 'host/win/dpi_aware.manifest',
275 ],
276 },
277 'VCLinkerTool': {
278 'EnableUAC': 'true',
279 # Add 'level="requireAdministrator" uiAccess="true"' to
280 # the manifest only for the official builds because it requires
281 # the binary to be signed to work.
282 'conditions': [
283 ['buildtype == "Official"', {
284 'UACExecutionLevel': 2,
285 'UACUIAccess': 'true',
286 }],
287 ],
288 'EntryPointSymbol': 'HostEntryPoint',
289 'IgnoreAllDefaultLibraries': 'true',
290 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
291 },
292 },
293 }, # end of target 'remoting_desktop'
294 {
295 'target_name': 'remoting_host_exe',
296 'product_name': 'remoting_host',
297 'type': 'executable',
298 'variables': { 'enable_wexit_time_destructors': 1, },
299 'defines': [
300 'BINARY=BINARY_HOST_ME2ME',
301 ],
302 'dependencies': [
303 'remoting_core',
304 'remoting_windows_resources',
305 ],
306 'sources': [
307 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
308 'host/win/entry_point.cc',
309 ],
310 'msvs_settings': {
311 'VCManifestTool': {
312 'AdditionalManifestFiles': [
313 'host/win/dpi_aware.manifest',
314 ],
315 },
316 'VCLinkerTool': {
317 'EntryPointSymbol': 'HostEntryPoint',
318 'IgnoreAllDefaultLibraries': 'true',
319 'ImportLibrary': '$(OutDir)\\lib\\remoting_host_exe.lib',
320 'OutputFile': '$(OutDir)\\remoting_host.exe',
321 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
322 },
323 },
324 }, # end of target 'remoting_host_exe'
325 {
326 'target_name': 'remoting_host_messages',
327 'type': 'none',
328 'dependencies': [
329 'remoting_resources',
330 ],
331 'hard_dependency': 1,
332 'direct_dependent_settings': {
333 'include_dirs': [
334 '<(SHARED_INTERMEDIATE_DIR)',
335 ],
336 },
337 'sources': [
338 'host/win/host_messages.mc.jinja2'
339 ],
340 'rules': [
341 {
342 'rule_name': 'localize',
343 'extension': 'jinja2',
344 'outputs': [
345 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages .mc',
346 ],
347 'action': [
348 'python', '<(remoting_localize_path)',
349 '--locale_dir', '<(webapp_locale_dir)',
350 '--template', '<(RULE_INPUT_PATH)',
351 '--output', '<@(_outputs)',
352 '--encoding', 'utf-16',
353 '<@(remoting_locales)',
354 ],
355 'message': 'Localizing the event log messages'
356 },
357 ],
358 }, # end of target 'remoting_host_messages'
359
360 # Generates localized resources for the Windows binaries.
361 # The substitution strings are taken from:
362 # - build/util/LASTCHANGE - the last source code revision.
363 # - chrome/VERSION - the major, build & patch versions.
364 # - remoting/VERSION - the chromoting patch version (and overrides
365 # for chrome/VERSION).
366 # - translated webapp strings
367 {
368 'target_name': 'remoting_windows_resources',
369 'type': 'none',
370 'dependencies': [
371 'remoting_resources',
372 ],
373 'hard_dependency': 1,
374 'direct_dependent_settings': {
375 'include_dirs': [
376 '<(SHARED_INTERMEDIATE_DIR)',
377 ],
378 },
379 'sources': [
380 'host/win/core.rc.jinja2',
381 'host/win/version.rc.jinja2',
382 ],
383 'rules': [
384 {
385 'rule_name': 'version',
386 'extension': 'jinja2',
387 'variables': {
388 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
389 },
390 'inputs': [
391 '<(chrome_version_path)',
392 '<(lastchange_path)',
393 '<(remoting_version_path)',
394 '<(RULE_INPUT_PATH)',
Nico 2014/03/17 17:47:57 Here too (and maybe elsewhere, like in the _mac ve
395 ],
396 'outputs': [
397 '<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)',
398 ],
399 'action': [
400 'python', '<(remoting_localize_path)',
401 '--variables', '<(chrome_version_path)',
402 # |remoting_version_path| must be after |chrome_version_path|
403 # because it can contain overrides for the version numbers.
404 '--variables', '<(remoting_version_path)',
405 '--variables', '<(lastchange_path)',
406 '--locale_dir', '<(webapp_locale_dir)',
407 '--template', '<(RULE_INPUT_PATH)',
408 '--output', '<@(_outputs)',
409 '--encoding', 'utf-16',
410 '<@(remoting_locales)',
411 ],
412 'message': 'Localizing the version information'
413 },
414 ],
415 }, # end of target 'remoting_windows_resources'
416 ], # end of 'targets'
417 }], # 'OS=="win"'
418
419 # The host installation is generated only if WiX is available. If
420 # component build is used the produced installation will not work due to
421 # missing DLLs. We build it anyway to make sure the GYP scripts are executed
422 # by the bots.
423 ['OS == "win" and wix_exists == "True" and sas_dll_exists == "True"', {
424 'targets': [
425 {
426 'target_name': 'remoting_host_installation',
427 'type': 'none',
428 'dependencies': [
429 'remoting_me2me_host_archive',
430 ],
431 'sources': [
432 '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
433 ],
434 'outputs': [
435 '<(PRODUCT_DIR)/chromoting.msi',
436 ],
437 'rules': [
438 {
439 'rule_name': 'zip2msi',
440 'extension': 'zip',
441 'inputs': [
442 'tools/zip2msi.py',
443 ],
444 'outputs': [
445 '<(PRODUCT_DIR)/chromoting.msi',
446 ],
447 'action': [
448 'python', 'tools/zip2msi.py',
449 '--wix_path', '<(wix_path)',
450 '--intermediate_dir', '<(INTERMEDIATE_DIR)/installation',
451 '<(RULE_INPUT_PATH)',
452 '<@(_outputs)',
453 ],
454 'message': 'Generating <@(_outputs)',
455 },
456 ],
457 }, # end of target 'remoting_host_installation'
458
459 {
460 'target_name': 'remoting_me2me_host_archive',
461 'type': 'none',
462 'dependencies': [
463 '<(icu_gyp_path):icudata',
464 'remoting_core',
465 'remoting_desktop',
466 'remoting_host_exe',
467 'remoting_native_messaging_manifests',
468 ],
469 'compiled_inputs': [
470 '<(PRODUCT_DIR)/remoting_core.dll',
471 '<(PRODUCT_DIR)/remoting_desktop.exe',
472 '<(PRODUCT_DIR)/remoting_host.exe',
473 ],
474 'compiled_inputs_dst': [
475 'files/remoting_core.dll',
476 'files/remoting_desktop.exe',
477 'files/remoting_host.exe',
478 ],
479 'conditions': [
480 ['buildtype == "Official"', {
481 'defs': [
482 'OFFICIAL_BUILD=1',
483 ],
484 }, { # else buildtype != "Official"
485 'defs': [
486 'OFFICIAL_BUILD=0',
487 ],
488 }],
489 ],
490 'defs': [
491 'BRANDING=<(branding)',
492 'DAEMON_CONTROLLER_CLSID={<(daemon_controller_clsid)}',
493 'RDP_DESKTOP_SESSION_CLSID={<(rdp_desktop_session_clsid)}',
494 'VERSION=<(version_full)',
495 ],
496 'generated_files': [
497 '<@(_compiled_inputs)',
498 '<(sas_dll_path)/sas.dll',
499 '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
500 'resources/chromoting.ico',
501 '<(PRODUCT_DIR)/icudtl.dat',
502 ],
503 'generated_files_dst': [
504 '<@(_compiled_inputs_dst)',
505 'files/sas.dll',
506 'files/com.google.chrome.remote_desktop.json',
507 'files/chromoting.ico',
508 'files/icudtl.dat',
509 ],
510 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
511 'outputs': [
512 '<(_zip_path)',
513 ],
514 'actions': [
515 {
516 'action_name': 'Zip installer files for signing',
517 'temp_dir': '<(INTERMEDIATE_DIR)/installation',
518 'source_files': [
519 '<@(remoting_host_installer_win_files)',
520 ],
521 'inputs': [
522 '<@(_compiled_inputs)',
523 '<(sas_dll_path)/sas.dll',
524 '<@(_source_files)',
525 'host/installer/build-installer-archive.py',
526 'resources/chromoting.ico',
527 ],
528 'outputs': [
529 '<(_zip_path)',
530 ],
531 'action': [
532 'python', 'host/installer/build-installer-archive.py',
533 '<(_temp_dir)',
534 '<(_zip_path)',
535 '--source-file-roots', '<@(remoting_host_installer_win_roots)',
536 '--source-files', '<@(_source_files)',
537 '--generated-files', '<@(_generated_files)',
538 '--generated-files-dst', '<@(_generated_files_dst)',
539 '--defs', '<@(_defs)',
540 ],
541 },
542 ], # actions
543 }, # end of target 'remoting_me2me_host_archive'
544 ], # end of 'targets'
545 }], # '<(wix_path) != ""'
546
547 ], # end of 'conditions'
548 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698