diff options
Diffstat (limited to '')
-rw-r--r-- | third_party/libwebrtc/build/config/clang/BUILD.gn | 59 | ||||
-rw-r--r-- | third_party/libwebrtc/build/config/clang/clang.gni | 18 |
2 files changed, 77 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" ] + } + } +} diff --git a/third_party/libwebrtc/build/config/clang/clang.gni b/third_party/libwebrtc/build/config/clang/clang.gni new file mode 100644 index 0000000000..588864586d --- /dev/null +++ b/third_party/libwebrtc/build/config/clang/clang.gni @@ -0,0 +1,18 @@ +# Copyright 2014 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("//build/toolchain/toolchain.gni") + +default_clang_base_path = "//third_party/llvm-build/Release+Asserts" + +declare_args() { + # Indicates if the build should use the Chrome-specific plugins for enforcing + # coding guidelines, etc. Only used when compiling with Chrome's Clang, not + # Chrome OS's. + clang_use_chrome_plugins = + is_clang && !is_nacl && !use_xcode_clang && + default_toolchain != "//build/toolchain/cros:target" + + clang_base_path = default_clang_base_path +} |