Index: build/config/clang/BUILD.gn |
diff --git a/build/config/clang/BUILD.gn b/build/config/clang/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dbff398e1f6d06231396b432f7167d00bfc50e38 |
--- /dev/null |
+++ b/build/config/clang/BUILD.gn |
@@ -0,0 +1,74 @@ |
+# Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import("clang.gni") |
+import("//build/config/chromecast_build.gni") |
+ |
+config("find_bad_constructs") { |
+ if (clang_use_chrome_plugins) { |
+ cflags = [] |
+ |
+ # On Windows, the plugin is built directly into clang, so there's |
+ # no need to load it dynamically. |
+ |
+ if (is_mac || is_ios) { |
+ cflags += [ |
+ "-Xclang", |
+ "-load", |
+ "-Xclang", |
+ rebase_path( |
+ "//third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib", |
+ root_build_dir), |
+ ] |
+ } else if (is_linux || is_android) { |
+ cflags += [ |
+ "-Xclang", |
+ "-load", |
+ "-Xclang", |
+ rebase_path( |
+ "//third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so", |
+ root_build_dir), |
+ ] |
+ } |
+ |
+ cflags += [ |
+ "-Xclang", |
+ "-add-plugin", |
+ "-Xclang", |
+ "find-bad-constructs", |
+ "-Xclang", |
+ "-plugin-arg-find-bad-constructs", |
+ "-Xclang", |
+ "check-templates", |
+ "-Xclang", |
+ "-plugin-arg-find-bad-constructs", |
+ "-Xclang", |
+ "follow-macro-expansion", |
+ "-Xclang", |
+ "-plugin-arg-find-bad-constructs", |
+ "-Xclang", |
+ "check-implicit-copy-ctors", |
+ ] |
+ |
+ if ((is_linux || is_android) && !is_chromecast) { |
+ cflags += [ |
+ "-Xclang", |
+ "-plugin-arg-find-bad-constructs", |
+ "-Xclang", |
+ "check-ipc", |
+ ] |
+ } |
+ } |
+} |
+ |
+# Enables some extra Clang-specific warnings. Some third-party code won't |
+# compile with these so may want to remove this config. |
+config("extra_warnings") { |
+ cflags = [ |
+ "-Wheader-hygiene", |
+ |
+ # Warns when a const char[] is converted to bool. |
+ "-Wstring-conversion", |
+ ] |
+} |