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

Side by Side Diff: chrome/BUILD.gn

Issue 2188473002: [Mac/GN] Configure ASan for bundled targets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 | « build/toolchain/mac/linker_driver.py ('k') | content/shell/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/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 499 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 510
511 extra_configs = [ "//build/config/compiler:wexit_time_destructors" ] 511 extra_configs = [ "//build/config/compiler:wexit_time_destructors" ]
512 512
513 deps = [ 513 deps = [
514 ":chrome_app_strings_bundle_data", 514 ":chrome_app_strings_bundle_data",
515 ":chrome_resources", 515 ":chrome_resources",
516 ":chrome_versioned_bundle_data", 516 ":chrome_versioned_bundle_data",
517 "//chrome/common:version_header", 517 "//chrome/common:version_header",
518 ] 518 ]
519 519
520 ldflags = []
521
520 # Remove the default strip configuration (which strips all symbols) so that 522 # Remove the default strip configuration (which strips all symbols) so that
521 # a saves file can be specified. 523 # a saves file can be specified.
522 if (enable_stripping) { 524 if (enable_stripping) {
523 remove_configs = [ "//build/config/mac:strip_all" ] 525 remove_configs = [ "//build/config/mac:strip_all" ]
524 526
525 ldflags = 527 ldflags +=
526 [ "-Wcrl,strip,-s," + rebase_path("app/app.saves", root_build_dir) ] 528 [ "-Wcrl,strip,-s," + rebase_path("app/app.saves", root_build_dir) ]
527 } 529 }
530
531 if (using_sanitizer) {
532 ldflags += [ "-Wcrl,installname,@executable_path/$asan_runtime_basename,@e xecutable_path/../Versions/$chrome_version_full/$chrome_framework_name.framework /Helpers/$asan_runtime_basename" ]
533 }
528 } 534 }
529 535
530 compiled_action("chrome_app_strings") { 536 compiled_action("chrome_app_strings") {
531 tool = "//chrome/tools/mac_helpers:infoplist_strings_tool" 537 tool = "//chrome/tools/mac_helpers:infoplist_strings_tool"
532 538
533 inputs = [ 539 inputs = [
534 chrome_version_file, 540 chrome_version_file,
535 ] 541 ]
536 542
537 outputs = [] 543 outputs = []
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 ] 693 ]
688 694
689 # Remove the default strip configuration (which strips all symbols) so that 695 # Remove the default strip configuration (which strips all symbols) so that
690 # a saves file can be specified. 696 # a saves file can be specified.
691 if (enable_stripping) { 697 if (enable_stripping) {
692 remove_configs = [ "//build/config/mac:strip_all" ] 698 remove_configs = [ "//build/config/mac:strip_all" ]
693 699
694 ldflags += 700 ldflags +=
695 [ "-Wcrl,strip,-s," + rebase_path("app/app.saves", root_build_dir) ] 701 [ "-Wcrl,strip,-s," + rebase_path("app/app.saves", root_build_dir) ]
696 } 702 }
703
704 if (using_sanitizer) {
705 ldflags += [ "-Wcrl,installname,@executable_path/$asan_runtime_basename,@e xecutable_path/../../../$chrome_framework_name.framework/Helpers/$asan_runtime_b asename" ]
706 }
697 } 707 }
698 708
699 bundle_data("chrome_framework_locales") { 709 bundle_data("chrome_framework_locales") {
700 sources = [] 710 sources = []
701 public_deps = [ 711 public_deps = [
702 ":repack_locales_pack", 712 ":repack_locales_pack",
703 ] 713 ]
704 714
705 foreach(locale, locales_as_mac_outputs) { 715 foreach(locale, locales_as_mac_outputs) {
706 sources += [ "$root_gen_dir/repack/locales/$locale.pak" ] 716 sources += [ "$root_gen_dir/repack/locales/$locale.pak" ]
707 } 717 }
708 718
709 outputs = [ 719 outputs = [
710 "{{bundle_resources_dir}}/{{source_name_part}}.lproj/locale.pak", 720 "{{bundle_resources_dir}}/{{source_name_part}}.lproj/locale.pak",
711 ] 721 ]
712 } 722 }
713 723
714 bundle_data("chrome_framework_helpers") { 724 bundle_data("chrome_framework_helpers") {
715 sources = [ 725 sources = [
716 "$root_out_dir/crashpad_handler", 726 "$root_out_dir/crashpad_handler",
717 ] 727 ]
718 728
719 outputs = [ 729 outputs = [
720 "{{bundle_root_dir}}/Helpers/{{source_file_part}}", 730 "{{bundle_root_dir}}/Helpers/{{source_file_part}}",
721 ] 731 ]
722 732
723 public_deps = [ 733 public_deps = [
724 "//third_party/crashpad/crashpad/handler:crashpad_handler", 734 "//third_party/crashpad/crashpad/handler:crashpad_handler",
725 ] 735 ]
736
737 if (using_sanitizer) {
738 sources += [ "$root_out_dir/$asan_runtime_basename" ]
739 public_deps += [ "//build/config/sanitizers:copy_asan_runtime" ]
740 }
726 } 741 }
727 742
728 bundle_data("chrome_framework_resources") { 743 bundle_data("chrome_framework_resources") {
729 sources = [ 744 sources = [
730 # This image is used to badge the lock icon in the 745 # This image is used to badge the lock icon in the
731 # authentication dialogs, such as those used for installation 746 # authentication dialogs, such as those used for installation
732 # from disk image and Keystone promotion (if so enabled). It 747 # from disk image and Keystone promotion (if so enabled). It
733 # needs to exist as a file on disk and not just something in a 748 # needs to exist as a file on disk and not just something in a
734 # resource bundle because that's the interface that 749 # resource bundle because that's the interface that
735 # Authorization Services uses. Also, Authorization Services 750 # Authorization Services uses. Also, Authorization Services
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
1036 ldflags += [ 1051 ldflags += [
1037 "-rpath", 1052 "-rpath",
1038 "@loader_path/../../../../..", 1053 "@loader_path/../../../../..",
1039 "-Wl,-reexport_library,libchrome_dll.dylib", 1054 "-Wl,-reexport_library,libchrome_dll.dylib",
1040 ] 1055 ]
1041 1056
1042 data_deps = [ 1057 data_deps = [
1043 ":chrome_dll", 1058 ":chrome_dll",
1044 ] 1059 ]
1045 } 1060 }
1061
1062 if (using_sanitizer) {
1063 ldflags += [ "-Wcrl,installname,@executable_path/$asan_runtime_basename,@l oader_path/Helpers/$asan_runtime_basename" ]
1064 }
1046 } 1065 }
1047 1066
1048 if (!is_asan && !is_component_build) { 1067 if (!is_asan && !is_component_build) {
1049 action("verify_chrome_framework_order") { 1068 action("verify_chrome_framework_order") {
1050 script = "//chrome/tools/build/mac/run_verify_order.py" 1069 script = "//chrome/tools/build/mac/run_verify_order.py"
1051 stamp_file = "$target_out_dir/run_$target_name.stamp" 1070 stamp_file = "$target_out_dir/run_$target_name.stamp"
1052 inputs = [ 1071 inputs = [
1053 script, 1072 script,
1054 "//chrome/tools/build/mac/verify_order", 1073 "//chrome/tools/build/mac/verify_order",
1055 ] 1074 ]
(...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after
1828 "//chrome/app/theme/$branding_path_component/product_logo_48.png", 1847 "//chrome/app/theme/$branding_path_component/product_logo_48.png",
1829 "//chrome/tools/build/linux/chrome-wrapper", 1848 "//chrome/tools/build/linux/chrome-wrapper",
1830 "//third_party/xdg-utils/scripts/xdg-mime", 1849 "//third_party/xdg-utils/scripts/xdg-mime",
1831 "//third_party/xdg-utils/scripts/xdg-settings", 1850 "//third_party/xdg-utils/scripts/xdg-settings",
1832 ] 1851 ]
1833 outputs = [ 1852 outputs = [
1834 "$root_out_dir/{{source_file_part}}", 1853 "$root_out_dir/{{source_file_part}}",
1835 ] 1854 ]
1836 } 1855 }
1837 } 1856 }
OLDNEW
« no previous file with comments | « build/toolchain/mac/linker_driver.py ('k') | content/shell/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698