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

Side by Side Diff: content/shell/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 | « chrome/BUILD.gn ('k') | tools/mb/mb_config.pyl » ('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/sanitizers/sanitizers.gni") 6 import("//build/config/sanitizers/sanitizers.gni")
7 import("//build/config/ui.gni") 7 import("//build/config/ui.gni")
8 import("//build/config/win/console_app.gni") 8 import("//build/config/win/console_app.gni")
9 import("//build/config/win/manifest.gni") 9 import("//build/config/win/manifest.gni")
10 import("//media/media_options.gni") 10 import("//media/media_options.gni")
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 "//components/test_runner:resources", 475 "//components/test_runner:resources",
476 ] 476 ]
477 ldflags = [ 477 ldflags = [
478 # The main app is at Content Shell.app/Contents/MacOS/Content Shell 478 # The main app is at Content Shell.app/Contents/MacOS/Content Shell
479 # so set the rpath up to Contents/ so that the loader can find 479 # so set the rpath up to Contents/ so that the loader can find
480 # Framworks/. 480 # Framworks/.
481 "-rpath", 481 "-rpath",
482 "@executable_path/../", 482 "@executable_path/../",
483 ] 483 ]
484 info_plist_target = ":content_shell_plist" 484 info_plist_target = ":content_shell_plist"
485
486 if (using_sanitizer) {
487 ldflags += [ "-Wcrl,installname,@executable_path/$asan_runtime_basename,@r path/$asan_runtime_basename" ]
488 }
485 } 489 }
486 } else { 490 } else {
487 # TODO(brettw) when GYP is no longer necessary, delete 491 # TODO(brettw) when GYP is no longer necessary, delete
488 # content/shell/app/shell.exe.manifest. This file is not used in GN. 492 # content/shell/app/shell.exe.manifest. This file is not used in GN.
489 executable("content_shell") { 493 executable("content_shell") {
490 testonly = true 494 testonly = true
491 495
492 # TODO(GYP) mac resource bundle stuff for this target. 496 # TODO(GYP) mac resource bundle stuff for this target.
493 sources = [ 497 sources = [
494 "app/shell_main.cc", 498 "app/shell_main.cc",
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 # Set up the rpath for the framework so that it can find dylibs in the 678 # Set up the rpath for the framework so that it can find dylibs in the
675 # root output directory. The framework is at 679 # root output directory. The framework is at
676 # Content Shell.app/Contents/Frameworks/Content Shell Framework.framework/ Content Shell Framework 680 # Content Shell.app/Contents/Frameworks/Content Shell Framework.framework/ Content Shell Framework
677 # so use loader_path to go back to the root output directory. 681 # so use loader_path to go back to the root output directory.
678 ldflags += [ 682 ldflags += [
679 "-rpath", 683 "-rpath",
680 "@loader_path/../../../..", 684 "@loader_path/../../../..",
681 ] 685 ]
682 } 686 }
683 687
688 if (using_sanitizer) {
689 ldflags += [ "-Wcrl,installname,@executable_path/$asan_runtime_basename,@r path/$asan_runtime_basename" ]
690 }
691
684 info_plist_target = ":content_shell_framework_plist" 692 info_plist_target = ":content_shell_framework_plist"
685 } 693 }
686 694
687 tweak_info_plist("content_shell_helper_plist") { 695 tweak_info_plist("content_shell_helper_plist") {
688 testonly = true 696 testonly = true
689 info_plist = "app/helper-Info.plist" 697 info_plist = "app/helper-Info.plist"
690 args = [ 698 args = [
691 "--breakpad=0", 699 "--breakpad=0",
692 "--keystone=0", 700 "--keystone=0",
693 "--scm=0", 701 "--scm=0",
(...skipping 11 matching lines...) Expand all
705 deps = [ 713 deps = [
706 ":content_shell_framework+link", 714 ":content_shell_framework+link",
707 ] 715 ]
708 ldflags = [ 716 ldflags = [
709 # The helper is in Content Shell.app/Contents/Frameworks/Content Shell Hel per.app/Contents/MacOS/ 717 # The helper is in Content Shell.app/Contents/Frameworks/Content Shell Hel per.app/Contents/MacOS/
710 # so set rpath up to Contents/ so that the loader can find Frameworks/. 718 # so set rpath up to Contents/ so that the loader can find Frameworks/.
711 "-rpath", 719 "-rpath",
712 "@executable_path/../../../..", 720 "@executable_path/../../../..",
713 ] 721 ]
714 info_plist_target = ":content_shell_helper_plist" 722 info_plist_target = ":content_shell_helper_plist"
723
724 if (using_sanitizer) {
725 ldflags += [ "-Wcrl,installname,@executable_path/$asan_runtime_basename,@r path/$asan_runtime_basename" ]
726 }
715 } 727 }
716 728
717 bundle_data("content_shell_framework_bundle_data") { 729 bundle_data("content_shell_framework_bundle_data") {
718 testonly = true 730 testonly = true
719 sources = [ 731 sources = [
720 "$root_out_dir/$content_shell_framework_name.framework", 732 "$root_out_dir/$content_shell_framework_name.framework",
721 "$root_out_dir/$content_shell_helper_name.app", 733 "$root_out_dir/$content_shell_helper_name.app",
722 ] 734 ]
723 outputs = [ 735 outputs = [
724 "{{bundle_root_dir}}/Frameworks/{{source_file_part}}", 736 "{{bundle_root_dir}}/Frameworks/{{source_file_part}}",
725 ] 737 ]
726 public_deps = [ 738 public_deps = [
727 ":content_shell_framework+link", 739 ":content_shell_framework+link",
728 ":content_shell_helper_app", 740 ":content_shell_helper_app",
729 ] 741 ]
742
743 if (using_sanitizer) {
744 sources += [ "$root_out_dir/$asan_runtime_basename" ]
745 public_deps += [ "//build/config/sanitizers:copy_asan_runtime" ]
746 }
730 } 747 }
731 748
732 bundle_data("content_shell_resources_bundle_data") { 749 bundle_data("content_shell_resources_bundle_data") {
733 testonly = true 750 testonly = true
734 sources = [ 751 sources = [
735 "app/app.icns", 752 "app/app.icns",
736 ] 753 ]
737 outputs = [ 754 outputs = [
738 "{{bundle_resources_dir}}/{{source_file_part}}", 755 "{{bundle_resources_dir}}/{{source_file_part}}",
739 ] 756 ]
740 } 757 }
741 } 758 }
742 759
743 mojom("mojo_bindings") { 760 mojom("mojo_bindings") {
744 sources = [ 761 sources = [
745 "common/layout_test/layout_test_bluetooth_fake_adapter_setter.mojom", 762 "common/layout_test/layout_test_bluetooth_fake_adapter_setter.mojom",
746 ] 763 ]
747 764
748 use_new_wrapper_types = false 765 use_new_wrapper_types = false
749 } 766 }
OLDNEW
« no previous file with comments | « chrome/BUILD.gn ('k') | tools/mb/mb_config.pyl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698