# Copyright 2015 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.

static_library("rlz") {
  sources = [
    "rlz_tracker.cc",
    "rlz_tracker.h",
    "rlz_tracker_chromeos.cc",
    "rlz_tracker_delegate.h",
    "rlz_tracker_ios.cc",
    "rlz_tracker_mac.cc",
    "rlz_tracker_win.cc",
  ]

  deps = [
    "//base",
    "//components/google/core/common",
    "//net",
    "//rlz:rlz_lib",
    "//services/network/public/cpp:cpp",
  ]

  if (is_ios) {
    deps += [ "//ui/base" ]
  }
}

source_set("unit_tests") {
  testonly = true
  sources = [ "rlz_tracker_unittest.cc" ]

  deps = [
    ":rlz",
    "//net:test_support",
    "//rlz:test_support",
    "//services/network/public/cpp:cpp",
    "//ui/base",
  ]

  if (is_chromeos) {
    deps += [ "//chromeos/system" ]
  }
}
