# Copyright 2018 The Fuchsia 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("//third_party/protobuf/proto_library.gni")

proto_library("clearcut_proto") {
  sources = [
    "clearcut.proto",
  ]
  import_dirs = [ "//third_party/protobuf/src" ]
  generate_python = false
  cc_generator_options = "lite"
}

static_library("clearcut") {
  sources = [
    "http_client.h",
    "uploader.cc",
    "uploader.h",
  ]
  configs += [ "//third_party/cobalt:cobalt_config" ]
  public_deps = [
    ":clearcut_proto",
    "//third_party/abseil-cpp",
    "//third_party/cobalt/third_party/tensorflow_statusor:statusor",
  ]
}
