# 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/config/features.gni")
import("//media/media_options.gni")

executable("service_discovery_sniffer") {
  testonly = true
  sources = [
    "service_discovery_sniffer.cc",
    "service_discovery_sniffer.h",
  ]

  deps = [
    "//base",
    "//base/test:test_support",
    "//build/config/sanitizers:deps",
    "//chrome/browser",
    "//net",
  ]

  if (enable_webrtc) {
    deps += [ "//third_party/libjingle/webrtc:libjingle_webrtc" ]
  }
}
