# Copyright 2019 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("vm_cc_proto") {
  visibility = [ "//src/virtualization/*" ]

  sources = [
    "common.proto",
    "container_guest.proto",
    "container_host.proto",
    "tremplin.proto",
    "vm_crash.proto",
    "vm_guest.proto",
    "vm_host.proto",
  ]

  generate_python = false
  cc_generator_options = "lite"
  generator_plugin_suffix = ".grpc.pb"
  generator_plugin_label = "//third_party/grpc:grpc_cpp_plugin"
  import_protobuf_full = true

  deps = [
    "//third_party/grpc:grpc++",
    "//third_party/protobuf:protobuf_full",
  ]
}

proto_library("vsh_cc_proto") {
  sources = [ "vsh.proto" ]

  generate_python = false
  cc_generator_options = "lite"
  import_protobuf_full = true

  deps = [ "//third_party/protobuf:protobuf_full" ]
}
