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

Side by Side Diff: remoting/host/BUILD.gn

Issue 1749053002: Move //remoting/remoting_host_win.gypi:* to GN (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update for component build of Windows Created 4 years, 9 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
« no previous file with comments | « remoting/BUILD.gn ('k') | remoting/host/it2me/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/features.gni") 5 import("//build/config/features.gni")
6 import("//build/config/ui.gni") 6 import("//build/config/ui.gni")
7 import("//build/util/version.gni") 7 import("//build/util/version.gni")
8 import("//remoting/remoting_host.gni") 8 import("//remoting/remoting_enable.gni")
9 import("//remoting/remoting_locales.gni") 9 import("//remoting/remoting_locales.gni")
10 import("//remoting/remoting_options.gni") 10 import("//remoting/remoting_options.gni")
11 import("//remoting/remoting_srcs.gni") 11 import("//remoting/remoting_srcs.gni")
12 import("//remoting/remoting_version.gni") 12 import("//remoting/remoting_version.gni")
13 import("//remoting/tools/build/remoting_localize.gni") 13 import("//remoting/tools/build/remoting_localize.gni")
14 14
15 # GYP version: remoting/remoting_host:remoting_host_credits 15 # GYP version: remoting/remoting_host:remoting_host_credits
16 action("credits") { 16 action("credits") {
17 # We put this in $root_build_dir/gen/remoting instead of 17 # We put this in $root_build_dir/gen/remoting instead of
18 # $root_build_dir/gen/remoting/host (target_gen_dir) for 18 # $root_build_dir/gen/remoting/host (target_gen_dir) for
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 ] 371 ]
372 } 372 }
373 373
374 midl("remoting_lib_idl") { 374 midl("remoting_lib_idl") {
375 sources = get_target_outputs(":generate_idl") 375 sources = get_target_outputs(":generate_idl")
376 deps = [ 376 deps = [
377 ":generate_idl", 377 ":generate_idl",
378 ] 378 ]
379 } 379 }
380 380
381 # GYP version: remoting/remoting_host_win.gypi:remoting_lib_ps
382 static_library("remoting_lib_ps") {
383 defines = [
384 "ENTRY_PREFIX=Ps",
385 "REGISTER_PROXY_DLL",
386 ]
387
388 deps = [
389 ":remoting_lib_idl",
390 ]
391
392 sources = [
393 "$root_gen_dir/remoting/host/chromoting_lib.dlldata.c",
394 "$root_gen_dir/remoting/host/chromoting_lib_p.c",
395 ]
396
397 if (is_clang) {
398 cflags = [
399 # MIDL generated code has a habit of omitting optional braces.
400 "-Wno-missing-braces",
401
402 # Source files generated by the MIDL compiler trigger warnings with
403 # -Wincompatible-pointer-types enabled.
404 "-Wno-incompatible-pointer-types",
405
406 # Generated code contains unused variables.
407 "-Wno-unused-variable",
408
409 # PROXYFILE_LIST_START is an extern with initializer.
410 "-Wno-extern-initializer",
411 ]
Nico 2016/03/21 22:55:25 This doesn't work. You need to put this into its o
412 }
413 }
414
381 # Makes the .mc file from the .mc.jinja file. 415 # Makes the .mc file from the .mc.jinja file.
382 remoting_localize("messages_localizing") { 416 remoting_localize("messages_localizing") {
383 sources = [ 417 sources = [
384 "win/host_messages.mc.jinja2", 418 "win/host_messages.mc.jinja2",
385 ] 419 ]
386 locales = remoting_locales 420 locales = remoting_locales
387 locale_dir = webapp_locale_dir 421 locale_dir = webapp_locale_dir
388 encoding = "utf-16" 422 encoding = "utf-16"
389 423
390 # This target is funny. It only produces one file and the output doesn't 424 # This target is funny. It only produces one file and the output doesn't
391 # match the input. We want to generate remoting_host_messages.mc from 425 # match the input. We want to generate remoting_host_messages.mc from
392 # host_messages.mg.jinja2. GN complains if it doesn't see a pattern in the 426 # host_messages.mg.jinja2. GN complains if it doesn't see a pattern in the
393 # output, so the following pattern produces the name we want with a templa te 427 # output, so the following pattern produces the name we want with a templa te
394 # based on the input. 428 # based on the input.
395 # 429 #
396 # TODO: This is for GYP compat. We should just make the names match instea d. 430 # TODO: This is for GYP compat. We should just make the names match instea d.
397 output = "$target_gen_dir/remoting_{{source_name_part}}" 431 output = "$target_gen_dir/remoting_{{source_name_part}}"
398 } 432 }
399 433
400 # Makes the .h/.rc files from the .mc file. 434 # Makes the .h/.rc files from the .mc file.
401 message_compiler("messages") { 435 message_compiler("messages") {
402 sources = get_target_outputs(":messages_localizing") 436 sources = get_target_outputs(":messages_localizing")
403 deps = [ 437 deps = [
404 ":messages_localizing", 438 ":messages_localizing",
405 ] 439 ]
406 } 440 }
407 441
442 # GYP version: remoting/remoting_host_win.gypi:remoting_console
443 executable("remoting_console") {
444 configs += [ "//build/config/compiler:wexit_time_destructors" ]
445
446 defines = [ "BINARY=BINARY_HOST_ME2ME" ]
447
448 deps = [
449 ":remoting_core",
450 ":remoting_windows_resources",
451 ]
452
453 sources = [
454 "$root_gen_dir/remoting/version.rc",
455 "win/entry_point.cc",
456 ]
457
458 ldflags = [
459 "/MANIFEST:EMBED",
460 "/MANIFESTINPUT:" +
461 rebase_path("win/dpi_aware.manifest", root_build_dir),
462 "/ENTRY:HostEntryPoint",
463
464 # "/NODEFAULTLIB",
465 ]
466 }
467
468 # GYP version: //remoting/remoting_host_win.gypi:remoting_core
469 shared_library("remoting_core") {
470 configs += [ "//build/config/compiler:wexit_time_destructors" ]
471
472 defines = [
473 "_ATL_APARTMENT_THREADED",
474 "_ATL_CSTRING_EXPLICIT_CONSTRUCTORS",
475 "_ATL_NO_AUTOMATIC_NAMESPACE",
476 "_ATL_NO_EXCEPTIONS",
477 "BINARY=BINARY_CORE",
478 "BINARY_CORE=1",
479 "BINARY_DESKTOP=2",
480 "BINARY_HOST_ME2ME=3",
481 "BINARY_NATIVE_MESSAGING_HOST=4",
482 "BINARY_REMOTE_ASSISTANCE_HOST=5",
483 "DAEMON_CONTROLLER_CLSID=\"$daemon_controller_clsid\"",
484 "RDP_DESKTOP_SESSION_CLSID=\"$rdp_desktop_session_clsid\"",
485 "HOST_IMPLEMENTATION",
486 "ISOLATION_AWARE_ENABLED=1",
487 "STRICT",
488 "VERSION=$chrome_version_full",
489 ]
490
491 if (remoting_multi_process != 0 && remoting_rdp_session != 0) {
492 defines += [ "REMOTING_RDP_SESSION" ]
493 }
494
495 if (remoting_multi_process != 0) {
496 defines += [ "REMOTING_MULTI_PROCESS" ]
497 }
498
499 deps = [
500 ":remoting_lib_idl",
501 ":remoting_lib_ps",
502 ":remoting_me2me_host_static",
503 ":remoting_windows_resources",
504 "//base",
505 "//base:base_static",
506 "//base/allocator",
507 "//base/third_party/dynamic_annotations",
508 "//ipc",
509 "//net",
510 "//remoting/base",
511 "//remoting/base:breakpad",
512 "//remoting/codec",
513 "//remoting/host",
514 "//remoting/host:messages",
515 "//remoting/host/it2me:common",
516 "//remoting/host/native_messaging",
517 "//remoting/host/setup",
518 "//remoting/protocol",
519 "//sandbox/win:sandbox", # Should always use Windows version
520 "//third_party/webrtc/modules/desktop_capture",
521 ]
522
523 sources = [
524 "desktop_process_main.cc",
525 "host_main.cc",
526 "host_main.h",
527 "it2me/it2me_native_messaging_host_main.cc",
528 "it2me/it2me_native_messaging_host_main.h",
529 "security_key/remote_security_key_main.cc",
530 "security_key/remote_security_key_main.h",
531 "setup/me2me_native_messaging_host_main.cc",
532 "setup/me2me_native_messaging_host_main.h",
533 "win/chromoting_lib.rc",
534 "win/chromoting_module.cc",
535 "win/chromoting_module.h",
536 "win/core.cc",
537 "win/core_resource.h",
538 "win/host_service.cc",
539 "win/host_service.h",
540 "win/omaha.cc",
541 "win/omaha.h",
542 "win/rdp_desktop_session.cc",
543 "win/rdp_desktop_session.h",
544 "win/unprivileged_process_delegate.cc",
545 "win/unprivileged_process_delegate.h",
546 "win/wts_session_process_delegate.cc",
547 "win/wts_session_process_delegate.h",
548 "worker_process_ipc_delegate.h",
549 ]
550
551 ldflags = [
552 "/MANIFEST:EMBED",
553 "/MANIFESTINPUT:" +
554 rebase_path("win/common-controls.manifest", root_build_dir),
555 "/EXPORT:DllGetClassObject=PsDllGetClassObject,PRIVATE",
556 "/EXPORT:DllCanUnloadNow=PsDllCanUnloadNow,PRIVATE",
557 "/EXPORT:DllRegisterServer=PsDllRegisterServer,PRIVATE",
558 "/EXPORT:DllUnregisterServer=PsDllUnregisterServer,PRIVATE",
559 ]
560
561 libs = [
562 "comctl32.lib",
563 "rpcns4.lib",
564 "rpcrt4.lib",
565 "uuid.lib",
566 "wtsapi32.lib",
567 ]
568
569 if (is_clang) {
570 cflags = [ "-Wno-header-hygiene" ]
571 }
572 }
573
574 # GYP version: //remoting/remoting_host_win.gypi:remoting_desktop
575 executable("remoting_desktop") {
576 configs += [
577 "//build/config/compiler:wexit_time_destructors",
578 "//build/config/win:windowed",
579 ]
580
581 defines = [ "BINARY=BINARY_DESKTOP" ]
582
583 deps = [
584 ":remoting_core",
585 ":remoting_windows_resources",
586 ]
587
588 sources = [
589 "$root_gen_dir/remoting/version.rc",
590 "win/entry_point.cc",
591 ]
592
593 ldflags = [
594 "/MANIFEST:EMBED",
595 "/MANIFESTINPUT:" +
596 rebase_path("win/dpi_aware.manifest", root_build_dir),
597 "/MANIFESTUAC",
598 "/ENTRY:HostEntryPoint",
599
600 # "/NODEFAULTLIB",
601 ]
602
603 if (is_official_build) {
604 ldflags += [
605 "/MANIFESTUAC:level=2",
606 "/MANIFESTUAC:uiAccess=true",
607 ]
608 }
609 }
610
611 # GYP version: //remoting/remoting_host_win.gypi:remote_security_key
612 executable("remote_security_key") {
613 configs += [ "//build/config/compiler:wexit_time_destructors" ]
614
615 defines = [ "BINARY=BINARY_REMOTE_SECURITY_KEY" ]
616
617 deps = [
618 ":remoting_core",
619 ":remoting_windows_resources",
620 ]
621
622 sources = [
623 "$root_gen_dir/remoting/version.rc",
624 "security_key/remote_security_key_entry_point.cc",
625 ]
626 }
627
628 # GYP version:
629 # //remoting/remoting_host_win.gypi:remoting_me2me_native_messaging_host
630 executable("remoting_me2me_native_messaging_host") {
631 configs += [ "//build/config/compiler:wexit_time_destructors" ]
632
633 deps = [
634 ":remoting_core",
635 ":remoting_windows_resources",
636 ]
637
638 sources = [
639 "$root_gen_dir/remoting/version.rc",
640 "setup/me2me_native_messaging_host_entry_point.cc",
641 ]
642 }
643
644 # GYP version: //remoting/remoting_host_win.gypi:remoting_windows_resources
645 remoting_localize("remoting_windows_resources") {
646 deps = [
647 "//remoting/resources",
648 ]
649
650 sources = [
651 "win/core.rc.jinja2",
652 "win/version.rc.jinja2",
653 ]
654
655 # TODO(zijiehe): Export lastchange_path from
656 # //chrome/version.gni:process_version
657 variables = [
658 rebase_path(chrome_version_file),
659 rebase_path(remoting_version_file),
660 rebase_path("//build/util/LASTCHANGE"),
661 ]
662
663 output = "$root_gen_dir/remoting/{{source_name_part}}"
664
665 locale_dir = webapp_locale_dir
666
667 encoding = "utf-16"
668
669 locales = remoting_locales
670 }
671
408 # TODO(GYP) More Windows remoting targets from remoting_host_win.gypi 672 # TODO(GYP) More Windows remoting targets from remoting_host_win.gypi
409 } 673 }
410 674
411 if (enable_remoting_host) { 675 if (enable_remoting_host) {
412 executable("remoting_start_host") { 676 executable("remoting_start_host") {
413 sources = [ 677 sources = [
414 "setup/host_starter.cc", 678 "setup/host_starter.cc",
415 "setup/host_starter.h", 679 "setup/host_starter.h",
416 "setup/start_host.cc", 680 "setup/start_host.cc",
417 ] 681 ]
418 682
419 deps = [ 683 deps = [
420 "//build/config/sanitizers:deps", 684 "//build/config/sanitizers:deps",
421 "//remoting/host/setup", 685 "//remoting/host/setup",
422 ] 686 ]
423 687
424 if (enable_webrtc) { 688 if (enable_webrtc) {
425 deps += [ "//third_party/libjingle:libjingle_webrtc" ] 689 deps += [ "//third_party/libjingle:libjingle_webrtc" ]
426 } 690 }
427 } 691 }
428 692
429 action_foreach("remoting_native_messaging_manifests") { 693 action_foreach("remoting_native_messaging_manifests") {
430 if (is_mac) { 694 if (is_mac) {
431 assert(false, "not implemented on mac yet") 695 assert(false, "not implemented on mac yet")
432 } else if (is_win) {
433 assert(false, "not implemented on win yet")
434 } else { 696 } else {
435 me2me_host_path = 697 me2me_host_path =
436 "/opt/google/chrome-remote-desktop/native-messaging-host" 698 "/opt/google/chrome-remote-desktop/native-messaging-host"
437 it2me_host_path = 699 it2me_host_path =
438 "/opt/google/chrome-remote-desktop/remote-assistance-host" 700 "/opt/google/chrome-remote-desktop/remote-assistance-host"
439 } 701 }
440 702
441 script = "../tools/build/remoting_localize.py" 703 script = "../tools/build/remoting_localize.py"
442 704
443 sources = [ 705 sources = [
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 deps += [ "//build/config/linux/gtk2" ] 769 deps += [ "//build/config/linux/gtk2" ]
508 } 770 }
509 if ((is_linux && !is_chromeos) || is_mac) { 771 if ((is_linux && !is_chromeos) || is_mac) {
510 libs = [ "pam" ] 772 libs = [ "pam" ]
511 } 773 }
512 774
513 if (is_mac && is_official_build) { 775 if (is_mac && is_official_build) {
514 sources += [ "internal/internal_mac-inl.h" ] 776 sources += [ "internal/internal_mac-inl.h" ]
515 defines += [ "USE_REMOTING_MACOSX_INTERNAL" ] 777 defines += [ "USE_REMOTING_MACOSX_INTERNAL" ]
516 } 778 }
779
780 if (is_win && remoting_multi_process != 0 && remoting_rdp_session != 0) {
781 defines += [ "REMOTING_RDP_SESSION" ]
782 }
783
784 if (remoting_multi_process != 0) {
785 defines += [ "REMOTING_MULTI_PROCESS" ]
786 }
517 } 787 }
518 788
519 if (!is_win) { 789 if (is_win) {
790 # GYP version: //remoting/remoting_host_win.gypi:remoting_me2me_host
791 executable("remoting_me2me_host") {
792 configs += [
793 "//build/config/compiler:wexit_time_destructors",
794 "//build/config/win:windowed",
795 ]
796
797 defines = [ "BINARY=BINARY_HOST_ME2ME" ]
798
799 deps = [
800 ":remoting_core",
801 ":remoting_windows_resources",
802 ]
803
804 sources = [
805 "$root_gen_dir/remoting/version.rc",
806 "win/entry_point.cc",
807 ]
808
809 output_name = "remoting_host"
810
811 ldflags = [
812 "/MANIFEST:EMBED",
813 "/MANIFESTINPUT:" +
814 rebase_path("win/dpi_aware.manifest", root_build_dir),
815 "/ENTRY:HostEntryPoint",
816
817 # "/NODEFAULTLIB",
818 ]
819 }
820 } else {
520 executable("remoting_me2me_host") { 821 executable("remoting_me2me_host") {
521 sources = [ 822 sources = [
522 "host_main.cc", 823 "host_main.cc",
523 "host_main.h", 824 "host_main.h",
524 ] 825 ]
525 826
827 if (is_mac && is_chrome_branded && is_official_build) {
828 defines = [ "REMOTING_ENABLE_BREAKPAD" ]
829 }
830
526 deps = [ 831 deps = [
527 ":credits", 832 ":credits",
528 ":remoting_me2me_host_static", 833 ":remoting_me2me_host_static",
529 "//build/config/sanitizers:deps", 834 "//build/config/sanitizers:deps",
530 ] 835 ]
531 } 836 }
532 837
533 executable("native_messaging_host") { 838 executable("native_messaging_host") {
534 sources = [ 839 sources = [
535 "setup/me2me_native_messaging_host_entry_point.cc", 840 "setup/me2me_native_messaging_host_entry_point.cc",
(...skipping 12 matching lines...) Expand all
548 853
549 configs += [ "//build/config/compiler:wexit_time_destructors" ] 854 configs += [ "//build/config/compiler:wexit_time_destructors" ]
550 855
551 # The |major|, |build| and |patch| versions are inherited from Chrome. 856 # The |major|, |build| and |patch| versions are inherited from Chrome.
552 # Since Chrome's |minor| version is always '0', we replace it with a 857 # Since Chrome's |minor| version is always '0', we replace it with a
553 # Chromoting-specific patch version. 858 # Chromoting-specific patch version.
554 defines = [ "VERSION=" + "$chrome_version_major" + "." + 859 defines = [ "VERSION=" + "$chrome_version_major" + "." +
555 "$remoting_version_patch" + "." + "$chrome_version_build" + 860 "$remoting_version_patch" + "." + "$chrome_version_build" +
556 "." + "$chrome_version_patch" ] 861 "." + "$chrome_version_patch" ]
557 862
558 if (is_mac || is_win) { 863 if (is_mac) {
559 assert(false, "not implemented on mac or win yet") 864 assert(false, "not implemented on mac yet")
560 } 865 }
561 } 866 }
562 } 867 }
563 868
564 if (is_chrome_branded && enable_me2me_host && !is_chromeos) { 869 if (is_chrome_branded && enable_me2me_host && !is_chromeos) {
565 # TODO(GYP): add support for archive_chromoting_tests variable? 870 # TODO(GYP): add support for archive_chromoting_tests variable?
566 871
567 import("//build/config/zip.gni") 872 import("//build/config/zip.gni")
568 873
569 build_deb_script = "installer/linux/build_deb.py" 874 build_deb_script = "installer/linux/build_deb.py"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
650 "//remoting/resources", 955 "//remoting/resources",
651 "//third_party/icu:icudata", 956 "//third_party/icu:icudata",
652 ] 957 ]
653 } 958 }
654 } else { 959 } else {
655 group("remoting_me2me_host_archive") { 960 group("remoting_me2me_host_archive") {
656 } 961 }
657 } 962 }
658 } 963 }
659 } 964 }
OLDNEW
« no previous file with comments | « remoting/BUILD.gn ('k') | remoting/host/it2me/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698