# Copyright 2016 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("//components/nacl/features.gni")
import("//remoting/remoting_enable.gni")

static_library("ipc_message_lib") {
  testonly = true
  configs += [ "//tools/ipc_fuzzer:ipc_fuzzer_tool_config" ]
  public_deps = [
    "//base",
    "//chrome/common",
    "//chrome/common/safe_browsing:proto",
    "//components/guest_view/common",
    "//components/nacl/common:buildflags",
    "//components/safe_browsing/core/common",
    "//components/spellcheck/common",
    "//components/subresource_filter/content/common",
    "//content/child",
    "//content/public/child",
    "//gpu/ipc/common",
    "//ipc",
    "//media/cast:net",
    "//media/gpu/ipc/common",
    "//ppapi/proxy:ipc",
    "//skia",
    "//third_party/blink/public:blink",
    "//third_party/blink/public:blink_headers",
    "//third_party/webrtc_overrides:webrtc_component",
    "//ui/accessibility:ax_enums_mojo",
  ]
  if (is_win) {
    public_deps += [ "//chrome/chrome_elf:test_stubs" ]
  }
  sources = [
    "all_messages.h",
    "message_cracker.h",
    "message_file.h",
    "message_file_format.h",
    "message_file_reader.cc",
    "message_file_writer.cc",
    "message_names.cc",
    "message_names.h",
  ]
  if (enable_nacl) {
    public_deps += [ "//components/nacl/common" ]
  }
  if (enable_remoting) {
    public_deps += [ "//remoting/host" ]
  }
}
