chromium/tools/ipc_fuzzer/fuzzer/BUILD.gn

# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/chromeos/ui_mode.gni")
import("//build/config/sanitizers/sanitizers.gni")

executable("ipc_fuzzer") {
  testonly = true
  configs += [ "//tools/ipc_fuzzer:ipc_fuzzer_tool_config" ]
  sources = [
    "fuzzer.cc",
    "fuzzer.h",
    "fuzzer_main.cc",
    "generator.cc",
    "generator.h",
    "mutator.cc",
    "mutator.h",
    "rand_util.cc",
    "rand_util.h",
  ]
  deps = [
    "//base",
    "//components/viz/common",
    "//printing/mojom:mojom_shared_cpp_sources",
    "//services/device/public/mojom:mojom_headers",
    "//third_party/blink/public/mojom:mojom_platform_headers",
    "//tools/ipc_fuzzer/message_lib:ipc_message_lib",
  ]
  public_deps = [ "//ipc" ]
  if (is_asan && is_chromeos_ash) {
    # Compiling fuzzer.cc with ASan takes too long, see
    # http://crbug.com/360158.
    configs -= [ "//build/config/sanitizers:default_sanitizer_flags" ]
    configs += [ "//build/config/sanitizers:default_sanitizer_ldflags" ]
  }
}