blob: e8e32a07a84074c9229b1dd91cea2c4358e2caa8 [file] [log] [blame]
# Copyright 2019 The Chromium OS 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("//common-mk/proto_library.gni")
group("all") {
deps = [
":common-protos",
":container-rpcs",
":fuzzer-protos",
":tremplin-gorpcs",
":tremplin-rpcs",
":vm-crash-gorpcs",
":vm-crash-rpcs",
":vm-gorpcs",
":vm-rpcs",
":vsh-protos",
]
}
proto_library("common-protos") {
proto_in_dir = "./"
proto_out_dir = "include/vm_protos/proto_bindings"
gen_grpc = true
sources = [ "${proto_in_dir}/common.proto" ]
standalone = true
}
proto_library("container-rpcs") {
proto_in_dir = "./"
proto_out_dir = "include/vm_protos/proto_bindings"
gen_grpc = true
sources = [
"${proto_in_dir}/container_guest.proto",
"${proto_in_dir}/container_host.proto",
]
deps = [ ":common-protos" ]
all_dependent_pkg_deps = [
"grpc++",
"protobuf",
]
standalone = true
}
proto_library("vm-crash-rpcs") {
proto_in_dir = "./"
proto_out_dir = "include/vm_protos/proto_bindings"
gen_grpc = true
sources = [ "${proto_in_dir}/vm_crash.proto" ]
deps = [ ":common-protos" ]
all_dependent_pkg_deps = [
"grpc++",
"protobuf",
]
standalone = true
}
goproto_library("vm-crash-gorpcs") {
proto_in_dir = "./"
proto_out_dir = "go/src/chromiumos/vm_tools/vm_crash"
gen_grpc = true
sources = [
"${proto_in_dir}/common.proto",
"${proto_in_dir}/vm_crash.proto",
]
}
proto_library("fuzzer-protos") {
proto_in_dir = "./"
proto_out_dir = "include/vm_protos/proto_bindings"
gen_grpc = true
deps = [
":container-rpcs",
":tremplin-rpcs",
]
sources = [ "${proto_in_dir}/fuzzer.proto" ]
standalone = true
}
proto_library("tremplin-rpcs") {
proto_in_dir = "./"
proto_out_dir = "include/vm_protos/proto_bindings"
gen_grpc = true
sources = [ "${proto_in_dir}/tremplin.proto" ]
all_dependent_pkg_deps = [
"grpc++",
"protobuf",
]
gen_grpc_gmock = true
standalone = true
}
goproto_library("tremplin-gorpcs") {
proto_in_dir = "./"
proto_out_dir = "go/src/chromiumos/vm_tools/tremplin_proto"
gen_grpc = true
sources = [ "${proto_in_dir}/tremplin.proto" ]
}
proto_library("vm-rpcs") {
proto_in_dir = "./"
proto_out_dir = "include/vm_protos/proto_bindings"
gen_grpc = true
sources = [
"${proto_in_dir}/vm_guest.proto",
"${proto_in_dir}/vm_host.proto",
]
deps = [ ":common-protos" ]
all_dependent_pkg_deps = [
"grpc++",
"protobuf",
]
standalone = true
}
goproto_library("vm-gorpcs") {
proto_in_dir = "./"
proto_out_dir = "go/src/chromiumos/vm_tools/vm_rpc"
gen_grpc = true
sources = [
"${proto_in_dir}/common.proto",
"${proto_in_dir}/vm_guest.proto",
"${proto_in_dir}/vm_host.proto",
]
}
proto_library("vsh-protos") {
proto_in_dir = "./"
proto_out_dir = "include/vm_protos/proto_bindings"
sources = [ "${proto_in_dir}/vsh.proto" ]
standalone = true
if (use.fuzzer) {
# Override optimize_for option in proto file.
gen_cpp_mode = "speed"
all_dependent_pkg_deps = [ "protobuf" ]
} else {
all_dependent_pkg_deps = [ "protobuf-lite" ]
}
}