summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/config/clang/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/build/config/clang/BUILD.gn')
-rw-r--r--third_party/libwebrtc/build/config/clang/BUILD.gn59
1 files changed, 59 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/config/clang/BUILD.gn b/third_party/libwebrtc/build/config/clang/BUILD.gn
new file mode 100644
index 0000000000..9512c66246
--- /dev/null
+++ b/third_party/libwebrtc/build/config/clang/BUILD.gn
@@ -0,0 +1,59 @@
+# 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")
+
+config("find_bad_constructs") {
+ if (clang_use_chrome_plugins) {
+ cflags = []
+
+ # The plugin is built directly into clang, so there's no need to load it
+ # dynamically.
+ cflags += [
+ "-Xclang",
+ "-add-plugin",
+ "-Xclang",
+ "find-bad-constructs",
+ "-Xclang",
+ "-plugin-arg-find-bad-constructs",
+ "-Xclang",
+ "raw-ptr-template-as-trivial-member",
+ ]
+
+ if (is_linux || is_chromeos || is_android || is_fuchsia) {
+ 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",
+
+ "-Wtautological-overlap-compare",
+ ]
+}
+
+group("llvm-symbolizer_data") {
+ if (is_win) {
+ data = [ "$clang_base_path/bin/llvm-symbolizer.exe" ]
+ } else {
+ data = [ "$clang_base_path/bin/llvm-symbolizer" ]
+
+ if (!is_apple) {
+ # llvm-symbolizer uses libstdc++ from the clang package.
+ data += [ "$clang_base_path/lib/libstdc++.so.6" ]
+ }
+ }
+}