OLD | NEW |
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/buildflag_header.gni") | 5 import("//build/buildflag_header.gni") |
6 import("//build/config/chrome_build.gni") | 6 import("//build/config/chrome_build.gni") |
7 import("//build/config/compiler/compiler.gni") | 7 import("//build/config/compiler/compiler.gni") |
8 import("//build/config/features.gni") | 8 import("//build/config/features.gni") |
9 import("//build/config/locales.gni") | 9 import("//build/config/locales.gni") |
10 import("//build/config/sanitizers/sanitizers.gni") | 10 import("//build/config/sanitizers/sanitizers.gni") |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 "//third_party/widevine/cdm:widevinecdmadapter", | 224 "//third_party/widevine/cdm:widevinecdmadapter", |
225 ] | 225 ] |
226 | 226 |
227 if (is_multi_dll_chrome) { | 227 if (is_multi_dll_chrome) { |
228 defines += [ "CHROME_MULTIPLE_DLL" ] | 228 defines += [ "CHROME_MULTIPLE_DLL" ] |
229 data_deps += [ ":chrome_child" ] | 229 data_deps += [ ":chrome_child" ] |
230 } | 230 } |
231 } | 231 } |
232 } # !is_android && !is_mac | 232 } # !is_android && !is_mac |
233 | 233 |
234 if (is_mac) { | |
235 if (is_component_build) { | |
236 # On Mac component builds, this target is the bundle, and the main dll is | |
237 # just another shared library. This speeds up incremental builds by | |
238 # not requiring re-doing the bundle every time main_dll changes. | |
239 # See https://codereview.chromium.org/11420019 | |
240 | |
241 # TODO(GYP) chrome_dll for Mac component build. | |
242 assert(false) | |
243 } else { | |
244 # On Mac non-component builds, this is a no-op forwarding target. | |
245 group("chrome_dll") { | |
246 public_deps = [ | |
247 ":chrome_framework", | |
248 ] | |
249 } | |
250 } | |
251 } | |
252 | |
253 if (is_win) { | 234 if (is_win) { |
254 # This target is a forwarding target to compile the necessary DLLs used | 235 # This target is a forwarding target to compile the necessary DLLs used |
255 # by Chrome. | 236 # by Chrome. |
256 group("chrome_dll") { | 237 group("chrome_dll") { |
257 # TODO(GYP) support incremental_chrome_dll on Windows for faster links in | 238 # TODO(GYP) support incremental_chrome_dll on Windows for faster links in |
258 # developer component builds. When that's supported, this target will need | 239 # developer component builds. When that's supported, this target will need |
259 # to become more complicated. | 240 # to become more complicated. |
260 data_deps = [ | 241 data_deps = [ |
261 ":main_dll", | 242 ":main_dll", |
262 ] | 243 ] |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 deps += [ "//pdf" ] | 376 deps += [ "//pdf" ] |
396 } | 377 } |
397 } | 378 } |
398 } | 379 } |
399 } else if (is_mac) { | 380 } else if (is_mac) { |
400 chrome_helper_name = chrome_product_full_name + " Helper" | 381 chrome_helper_name = chrome_product_full_name + " Helper" |
401 chrome_framework_name = chrome_product_full_name + " Framework" | 382 chrome_framework_name = chrome_product_full_name + " Framework" |
402 | 383 |
403 group("chrome") { | 384 group("chrome") { |
404 deps = [ | 385 deps = [ |
405 ":chrome_initial", | |
406 ] | |
407 } | |
408 | |
409 group("chrome_initial") { | |
410 deps = [ | |
411 ":chrome_app", | 386 ":chrome_app", |
412 ] | 387 ] |
413 } | 388 } |
414 | 389 |
415 tweak_info_plist("chrome_app_plist") { | 390 tweak_info_plist("chrome_app_plist") { |
416 info_plist = "app/app-Info.plist" | 391 info_plist = "app/app-Info.plist" |
417 args = [ | 392 args = [ |
418 "--breakpad=0", | 393 "--breakpad=0", |
419 | 394 |
420 #"--keystone=???", # TODO(rsesek): Keystone. | 395 #"--keystone=???", # TODO(rsesek): Keystone. |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 | 539 |
565 sources = [ | 540 sources = [ |
566 "app/chrome_exe_main_mac.c", | 541 "app/chrome_exe_main_mac.c", |
567 ] | 542 ] |
568 | 543 |
569 defines = [ "HELPER_EXECUTABLE" ] | 544 defines = [ "HELPER_EXECUTABLE" ] |
570 | 545 |
571 deps = [ | 546 deps = [ |
572 "//chrome/common:version_header", | 547 "//chrome/common:version_header", |
573 ] | 548 ] |
| 549 |
| 550 ldflags = [ |
| 551 # The helper is in Chromium.app/Contents/Versions/X/Chromium Helper.app/Co
nents/MacOS/ |
| 552 # so set rpath up to the base. |
| 553 "-rpath", |
| 554 "@loader_path/../../../../../../..", |
| 555 ] |
574 } | 556 } |
575 | 557 |
576 bundle_data("chrome_framework_locales") { | 558 bundle_data("chrome_framework_locales") { |
577 sources = [] | 559 sources = [] |
578 public_deps = [ | 560 public_deps = [ |
579 ":repack_locales_pack", | 561 ":repack_locales_pack", |
580 ] | 562 ] |
581 | 563 |
582 foreach(locale, locales_as_mac_outputs) { | 564 foreach(locale, locales_as_mac_outputs) { |
583 sources += [ "$root_gen_dir/repack/locales/$locale.pak" ] | 565 sources += [ "$root_gen_dir/repack/locales/$locale.pak" ] |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 | 640 |
659 #"--breakpad_uploads=???", # TODO(rsesek): Breakpad uploads. | 641 #"--breakpad_uploads=???", # TODO(rsesek): Breakpad uploads. |
660 | 642 |
661 "--keystone=0", | 643 "--keystone=0", |
662 "--scm=1", | 644 "--scm=1", |
663 "--branding", | 645 "--branding", |
664 chrome_product_short_name, | 646 chrome_product_short_name, |
665 ] | 647 ] |
666 } | 648 } |
667 | 649 |
668 mac_framework_bundle("chrome_framework") { | 650 # On Mac, speed up the component build by not re-bundling the framework |
669 output_name = chrome_framework_name | 651 # every time it changes. Instead, place all the sources and their deps in |
670 | 652 # a library that the bundled framework links (and re-exports). That way |
671 configs += [ "//build/config/compiler:wexit_time_destructors" ] | 653 # only the library needs to be re-linked when it changes. |
| 654 if (is_component_build) { |
| 655 _dll_target_type = "shared_library" |
| 656 } else { |
| 657 _dll_target_type = "source_set" |
| 658 } |
| 659 target(_dll_target_type, "chrome_dll") { |
| 660 visibility = [ |
| 661 ":chrome_framework", |
| 662 ":chrome_framework_shared_library", |
| 663 ] |
672 | 664 |
673 sources = [ | 665 sources = [ |
674 "app/chrome_command_ids.h", | 666 "app/chrome_command_ids.h", |
675 "app/chrome_crash_reporter_client.cc", | 667 "app/chrome_crash_reporter_client.cc", |
676 "app/chrome_crash_reporter_client.h", | 668 "app/chrome_crash_reporter_client.h", |
677 "app/chrome_crash_reporter_client_mac.mm", | 669 "app/chrome_crash_reporter_client_mac.mm", |
678 "app/chrome_dll_resource.h", | 670 "app/chrome_dll_resource.h", |
679 "app/chrome_main.cc", | 671 "app/chrome_main.cc", |
680 "app/chrome_main_delegate.cc", | 672 "app/chrome_main_delegate.cc", |
681 "app/chrome_main_delegate.h", | 673 "app/chrome_main_delegate.h", |
682 "app/chrome_main_mac.h", | 674 "app/chrome_main_mac.h", |
683 "app/chrome_main_mac.mm", | 675 "app/chrome_main_mac.mm", |
684 ] | 676 ] |
685 | 677 |
686 info_plist_target = ":chrome_framework_plist" | |
687 extra_substitutions = [ | |
688 "CHROMIUM_BUNDLE_ID=$chrome_mac_bundle_id", | |
689 "CHROMIUM_SHORT_NAME=$chrome_product_short_name", | |
690 ] | |
691 | |
692 deps = [ | 678 deps = [ |
693 ":browser_dependencies", | 679 ":browser_dependencies", |
694 ":child_dependencies", | 680 ":child_dependencies", |
695 ":chrome_framework_helpers", | |
696 ":chrome_framework_locales", | |
697 ":chrome_framework_resources", | |
698 "//build/config/sanitizers:deps", | |
699 "//chrome/app/nibs:chrome_xibs", | |
700 "//chrome/common:features", | 681 "//chrome/common:features", |
701 "//components/crash/content/app", | 682 "//components/crash/content/app", |
702 "//components/policy", | 683 "//components/policy", |
703 "//content/public/app:both", | 684 "//content/public/app:both", |
704 "//third_party/cld_2", | 685 "//third_party/cld_2", |
705 ] | 686 ] |
706 | 687 |
| 688 if (is_component_build) { |
| 689 libs = [ "Carbon.framework" ] |
| 690 } |
| 691 |
707 ldflags = [ | 692 ldflags = [ |
708 "-Wl,-order_file", | 693 "-Wl,-order_file", |
709 "-Wl," + rebase_path("app/framework.order", root_build_dir), | 694 "-Wl," + rebase_path("app/framework.order", root_build_dir), |
710 "-install_name", | 695 "-ObjC", |
711 "@executable_path/../Versions/$chrome_version_full/$chrome_framework_name.
framework/$chrome_framework_name", | |
712 "-compatibility_version", | |
713 chrome_dylib_version, | |
714 "-current_version", | |
715 chrome_dylib_version, | |
716 ] | 696 ] |
717 | 697 |
718 if (enable_plugins && enable_pdf) { | 698 if (enable_plugins && enable_pdf) { |
719 deps += [ "//pdf" ] | 699 deps += [ "//pdf" ] |
720 } | 700 } |
721 | 701 |
722 if (enable_package_mash_services) { | 702 if (enable_package_mash_services) { |
723 deps += [ "//chrome/app/mash" ] | 703 deps += [ "//chrome/app/mash" ] |
724 } | 704 } |
725 } | 705 } |
| 706 |
| 707 mac_framework_bundle("chrome_framework") { |
| 708 output_name = chrome_framework_name |
| 709 |
| 710 configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| 711 |
| 712 info_plist_target = ":chrome_framework_plist" |
| 713 extra_substitutions = [ |
| 714 "CHROMIUM_BUNDLE_ID=$chrome_mac_bundle_id", |
| 715 "CHROMIUM_SHORT_NAME=$chrome_product_short_name", |
| 716 ] |
| 717 |
| 718 public_deps = [ |
| 719 ":chrome_dll", |
| 720 ] |
| 721 |
| 722 deps = [ |
| 723 ":chrome_framework_helpers", |
| 724 ":chrome_framework_locales", |
| 725 ":chrome_framework_resources", |
| 726 "//build/config/sanitizers:deps", |
| 727 "//chrome/app/nibs:chrome_xibs", |
| 728 ] |
| 729 |
| 730 ldflags = [ |
| 731 "-Wl,-install_name,@executable_path/../Versions/$chrome_version_full/$chro
me_framework_name.framework/$chrome_framework_name", |
| 732 "-compatibility_version", |
| 733 chrome_dylib_version, |
| 734 "-current_version", |
| 735 chrome_dylib_version, |
| 736 ] |
| 737 |
| 738 if (is_component_build) { |
| 739 ldflags += [ |
| 740 "-rpath", |
| 741 "@loader_path/../../../../..", |
| 742 "-Wl,-reexport_library,libchrome_dll.dylib", |
| 743 ] |
| 744 } |
| 745 } |
726 } | 746 } |
727 | 747 |
728 # GYP version: chromium_browser_dependencies variable in chrome.gyp | 748 # GYP version: chromium_browser_dependencies variable in chrome.gyp |
729 group("browser_dependencies") { | 749 group("browser_dependencies") { |
730 public_deps = [ | 750 public_deps = [ |
731 "//chrome/browser", | 751 "//chrome/browser", |
732 "//chrome/common", | 752 "//chrome/common", |
733 "//sync", | 753 "//sync", |
734 ] | 754 ] |
735 if (enable_plugins) { | 755 if (enable_plugins) { |
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1368 "//chrome/app/theme/$branding_path_component/product_logo_48.png", | 1388 "//chrome/app/theme/$branding_path_component/product_logo_48.png", |
1369 "//chrome/tools/build/linux/chrome-wrapper", | 1389 "//chrome/tools/build/linux/chrome-wrapper", |
1370 "//third_party/xdg-utils/scripts/xdg-mime", | 1390 "//third_party/xdg-utils/scripts/xdg-mime", |
1371 "//third_party/xdg-utils/scripts/xdg-settings", | 1391 "//third_party/xdg-utils/scripts/xdg-settings", |
1372 ] | 1392 ] |
1373 outputs = [ | 1393 outputs = [ |
1374 "$root_out_dir/{{source_file_part}}", | 1394 "$root_out_dir/{{source_file_part}}", |
1375 ] | 1395 ] |
1376 } | 1396 } |
1377 } | 1397 } |
OLD | NEW |