# 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",
  ]
}
