Only enable ASAN annotations when passing ASAN compile flags.
Made vars.gni on par with chrome side. Added config to allow
to disable asan instrumentation. Used config when building
container_annotations.h. contatiner_annotations.h disables ASAN
anootations when use_sanitizer_configs_without_instrumentation=true.
Bug: 947547
Change-Id: I93968a59e56ea62f2456116d6e351073ebe5bbb3
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index a5d6bd8..7aa6d02 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -14,6 +14,17 @@
import("perfetto.gni")
import("proto_library.gni")
+if (perfetto_build_standalone || perfetto_build_with_android) {
+ import("//gn/standalone/sanitizers/vars.gni")
+} else {
+ import("//build/config/sanitizers/sanitizers.gni")
+}
+
+config("asan_instrumentation") {
+ if (use_sanitizer_configs_without_instrumentation) {
+ defines = [ "ADDRESS_SANITIZER_WITHOUT_INSTRUMENTATION" ]
+ }
+}
# Used by base/gtest_prod_util.h for the FRIEND_TEST_* macros. Note that other
# production targets (i.e. testonly == false) should use base/gtest_prod_util.h