# 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 = [] # On Windows, the plugin is built directly into clang, so there's # no need to load it dynamically. if (host_os == "mac") { cflags += [ "-Xclang", "-load", "-Xclang", rebase_path("${clang_base_path}/lib/libFindBadConstructs.dylib", root_build_dir), ] } else if (host_os == "linux") { cflags += [ "-Xclang", "-load", "-Xclang", rebase_path("${clang_base_path}/lib/libFindBadConstructs.so", root_build_dir), ] } cflags += [ "-Xclang", "-add-plugin", "-Xclang", "find-bad-constructs", ] cflags += [ "-Xclang", "-plugin-arg-find-bad-constructs", "-Xclang", "enforce-in-thirdparty-webkit", ] # TODO(dcheng): remove this once the plugin is updated and rolled again. cflags += [ "-Xclang", "-plugin-arg-find-bad-constructs", "-Xclang", "check-enum-max-value", ] if (is_linux || 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", ] }