blob: 9048a5a04163e07e366c3c19df166017c3733da8 [file] [log] [blame]
# Copyright 2018 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 = [
":libsystem_api",
":system_api-anomaly_detector-protos",
":system_api-attestation-goprotos",
":system_api-attestation-protos",
":system_api-authpolicy-protos",
":system_api-biod-protos",
":system_api-bootlockbox-goprotos",
":system_api-bootlockbox-protos",
":system_api-chaps-protos",
":system_api-chunneld-protos",
":system_api-cryptohome-goprotos",
":system_api-cryptohome-protos",
":system_api-dlcservice-protos",
":system_api-kerberos-goprotos",
":system_api-kerberos-protos",
":system_api-login_manager-goprotos",
":system_api-login_manager-protos",
":system_api-lorgnette-goprotos",
":system_api-lorgnette-protos",
":system_api-metrics_event-goprotos",
":system_api-metrics_event-protos",
":system_api-oobe_config-protos",
":system_api-patchpanel-goprotos",
":system_api-patchpanel-protos",
":system_api-plugin_vm_service-goprotos",
":system_api-plugin_vm_service-protos",
":system_api-power_manager-goprotos",
":system_api-power_manager-protos",
":system_api-protos",
":system_api-runtime_probe-goprotos",
":system_api-runtime_probe-protos",
":system_api-seneschal-goprotos",
":system_api-seneschal-protos",
":system_api-smbprovider-protos",
":system_api-system_proxy-protos",
":system_api-tpm_manager-protos",
":system_api-u2f-protos",
":system_api-update_engine-protos",
":system_api-vm_applications-protos",
":system_api-vm_cicerone-goprotos",
":system_api-vm_cicerone-protos",
":system_api-vm_concierge-goprotos",
":system_api-vm_concierge-protos",
":system_api-vm_permission_service-protos",
":system_api-vm_plugin_dispatcher-goprotos",
":system_api-vm_plugin_dispatcher-protos",
]
}
shared_library("libsystem_api") {
deps = [
":system_api-attestation-protos",
":system_api-chaps-protos",
":system_api-patchpanel-protos",
":system_api-tpm_manager-protos",
]
if (use.fuzzer) {
pkg_deps = [ "protobuf" ]
} else {
pkg_deps = [ "protobuf-lite" ]
}
}
proto_library("system_api-protos") {
proto_in_dir = "dbus"
proto_out_dir = "include/system_api/proto_bindings"
sources = [
"${proto_in_dir}/field_trial_list.proto",
"${proto_in_dir}/mtp_file_entry.proto",
"${proto_in_dir}/mtp_storage_info.proto",
]
standalone = true
}
proto_library("system_api-power_manager-protos") {
proto_in_dir = "dbus/power_manager"
proto_out_dir = "include/power_manager/proto_bindings"
sources = [
"${proto_in_dir}/backlight.proto",
"${proto_in_dir}/idle.proto",
"${proto_in_dir}/input_event.proto",
"${proto_in_dir}/peripheral_battery_status.proto",
"${proto_in_dir}/policy.proto",
"${proto_in_dir}/power_supply_properties.proto",
"${proto_in_dir}/suspend.proto",
"${proto_in_dir}/switch_states.proto",
"${proto_in_dir}/thermal.proto",
]
standalone = true
}
goproto_library("system_api-power_manager-goprotos") {
proto_in_dir = "dbus/power_manager"
proto_out_dir = "go/src/chromiumos/system_api/power_manager_proto"
sources = [
"${proto_in_dir}/backlight.proto",
"${proto_in_dir}/idle.proto",
"${proto_in_dir}/input_event.proto",
"${proto_in_dir}/peripheral_battery_status.proto",
"${proto_in_dir}/policy.proto",
"${proto_in_dir}/power_supply_properties.proto",
"${proto_in_dir}/suspend.proto",
"${proto_in_dir}/switch_states.proto",
"${proto_in_dir}/thermal.proto",
]
}
proto_library("system_api-cryptohome-protos") {
proto_in_dir = "dbus/cryptohome"
proto_out_dir = "include/cryptohome/proto_bindings"
sources = [
"${proto_in_dir}/UserDataAuth.proto",
"${proto_in_dir}/fido.proto",
"${proto_in_dir}/key.proto",
"${proto_in_dir}/rpc.proto",
"${proto_in_dir}/signed_secret.proto",
]
standalone = true
}
goproto_library("system_api-cryptohome-goprotos") {
proto_in_dir = "dbus/cryptohome"
proto_out_dir = "go/src/chromiumos/system_api/cryptohome_proto"
sources = [
"${proto_in_dir}/fido.proto",
"${proto_in_dir}/key.proto",
"${proto_in_dir}/rpc.proto",
]
}
proto_library("system_api-authpolicy-protos") {
proto_in_dir = "dbus/authpolicy"
proto_out_dir = "include/authpolicy/proto_bindings"
sources = [ "${proto_in_dir}/active_directory_info.proto" ]
standalone = true
}
proto_library("system_api-biod-protos") {
proto_in_dir = "dbus/biod"
proto_out_dir = "include/biod/proto_bindings"
sources = [
"${proto_in_dir}/constants.proto",
"${proto_in_dir}/messages.proto",
]
standalone = true
}
proto_library("system_api-kerberos-protos") {
proto_in_dir = "dbus/kerberos"
proto_out_dir = "include/kerberos/proto_bindings"
sources = [ "${proto_in_dir}/kerberos_service.proto" ]
standalone = true
}
goproto_library("system_api-kerberos-goprotos") {
proto_in_dir = "dbus/kerberos"
proto_out_dir = "go/src/chromiumos/system_api/kerberos_proto"
sources = [ "${proto_in_dir}/kerberos_service.proto" ]
}
proto_library("system_api-login_manager-protos") {
proto_in_dir = "dbus/login_manager"
proto_out_dir = "include/login_manager/proto_bindings"
sources = [
"${proto_in_dir}/arc.proto",
"${proto_in_dir}/login_screen_storage.proto",
"${proto_in_dir}/policy_descriptor.proto",
]
standalone = true
# Override optimize_for option in proto file.
# Needed for fuzz targets using libprotobuf-mutator.
if (use.fuzzer) {
gen_cpp_mode = "speed"
}
}
goproto_library("system_api-login_manager-goprotos") {
proto_in_dir = "dbus/login_manager"
proto_out_dir = "go/src/chromiumos/system_api/login_manager_proto"
sources = [ "${proto_in_dir}/policy_descriptor.proto" ]
}
proto_library("system_api-lorgnette-protos") {
proto_in_dir = "dbus/lorgnette"
proto_out_dir = "include/lorgnette/proto_bindings"
sources = [ "${proto_in_dir}/lorgnette_service.proto" ]
standalone = true
}
goproto_library("system_api-lorgnette-goprotos") {
proto_in_dir = "dbus/lorgnette"
proto_out_dir = "go/src/chromiumos/system_api/lorgnette_proto"
sources = [ "${proto_in_dir}/lorgnette_service.proto" ]
}
proto_library("system_api-chaps-protos") {
proto_in_dir = "dbus/chaps"
proto_out_dir = "include/chaps/proto_bindings"
sources = [
"${proto_in_dir}/ck_structs.proto",
"${proto_in_dir}/key_permissions.proto",
]
standalone = true
# system_api-chaps-protos" is used by a shared_library
# object, so we need to build it with "-fPIC" instead of "-fPIE".
use_pic = true
}
proto_library("system_api-attestation-protos") {
proto_in_dir = "dbus/attestation"
proto_out_dir = "include/attestation/proto_bindings"
sources = [
"${proto_in_dir}/attestation_ca.proto",
"${proto_in_dir}/google_key.proto",
"${proto_in_dir}/interface.proto",
"${proto_in_dir}/keystore.proto",
"${proto_in_dir}/pca_agent.proto",
]
standalone = true
# system_api-attestation-protos" is used by a shared_library
# object, so we need to build it with "-fPIC" instead of "-fPIE".
use_pic = true
}
goproto_library("system_api-attestation-goprotos") {
proto_in_dir = "dbus/attestation"
proto_out_dir = "go/src/chromiumos/system_api/attestation_proto"
sources = [
"${proto_in_dir}/attestation_ca.proto",
"${proto_in_dir}/interface.proto",
"${proto_in_dir}/keystore.proto",
]
}
proto_library("system_api-tpm_manager-protos") {
proto_in_dir = "dbus/tpm_manager"
proto_out_dir = "include/tpm_manager/proto_bindings"
sources = [ "${proto_in_dir}/tpm_manager.proto" ]
standalone = true
# system_api-tpm_manager-protos is used by a shared_library
# object, so we need to build it with "-fPIC" instead of "-fPIE".
use_pic = true
}
proto_library("system_api-metrics_event-protos") {
proto_in_dir = "dbus/metrics_event"
proto_out_dir = "include/metrics_event/proto_bindings"
sources = [ "${proto_in_dir}/metrics_event.proto" ]
standalone = true
}
goproto_library("system_api-metrics_event-goprotos") {
proto_in_dir = "dbus/metrics_event"
proto_out_dir = "go/src/chromiumos/system_api/metrics_event_proto"
sources = [ "${proto_in_dir}/metrics_event.proto" ]
}
proto_library("system_api-plugin_vm_service-protos") {
proto_in_dir = "dbus/plugin_vm_service"
proto_out_dir = "include/plugin_vm_service/proto_bindings"
sources = [ "${proto_in_dir}/plugin_vm_service.proto" ]
standalone = true
}
goproto_library("system_api-plugin_vm_service-goprotos") {
proto_in_dir = "dbus/plugin_vm_service"
proto_out_dir = "go/src/chromiumos/system_api/plugin_vm_service_proto"
sources = [ "${proto_in_dir}/plugin_vm_service.proto" ]
}
proto_library("system_api-smbprovider-protos") {
proto_in_dir = "dbus/smbprovider"
proto_out_dir = "include/smbprovider/proto_bindings"
sources = [ "${proto_in_dir}/directory_entry.proto" ]
standalone = true
}
proto_library("system_api-vm_cicerone-protos") {
proto_in_dir = "dbus/vm_cicerone"
proto_out_dir = "include/vm_cicerone/proto_bindings"
sources = [ "${proto_in_dir}/cicerone_service.proto" ]
standalone = true
}
goproto_library("system_api-vm_cicerone-goprotos") {
proto_in_dir = "dbus/vm_cicerone"
proto_out_dir = "go/src/chromiumos/system_api/vm_cicerone_proto"
sources = [ "${proto_in_dir}/cicerone_service.proto" ]
}
proto_library("system_api-vm_concierge-protos") {
proto_in_dir = "dbus/vm_concierge"
proto_out_dir = "include/vm_concierge/proto_bindings"
sources = [ "${proto_in_dir}/concierge_service.proto" ]
standalone = true
}
goproto_library("system_api-vm_concierge-goprotos") {
proto_in_dir = "dbus/vm_concierge"
proto_out_dir = "go/src/chromiumos/system_api/vm_concierge_proto"
sources = [ "${proto_in_dir}/concierge_service.proto" ]
}
proto_library("system_api-vm_applications-protos") {
proto_in_dir = "dbus/vm_applications"
proto_out_dir = "include/vm_applications/proto_bindings"
sources = [ "${proto_in_dir}/apps.proto" ]
standalone = true
}
proto_library("system_api-seneschal-protos") {
proto_in_dir = "dbus/seneschal"
proto_out_dir = "include/seneschal/proto_bindings"
sources = [ "${proto_in_dir}/seneschal_service.proto" ]
standalone = true
}
goproto_library("system_api-seneschal-goprotos") {
proto_in_dir = "dbus/seneschal"
proto_out_dir = "go/src/chromiumos/system_api/seneschal_proto"
sources = [ "${proto_in_dir}/seneschal_service.proto" ]
}
proto_library("system_api-oobe_config-protos") {
proto_in_dir = "dbus/oobe_config"
proto_out_dir = "include/oobe_config/proto_bindings"
sources = [ "${proto_in_dir}/oobe_config.proto" ]
standalone = true
}
proto_library("system_api-runtime_probe-protos") {
proto_in_dir = "dbus/runtime_probe"
proto_out_dir = "include/runtime_probe/proto_bindings"
sources = [ "${proto_in_dir}/runtime_probe.proto" ]
standalone = true
}
goproto_library("system_api-runtime_probe-goprotos") {
proto_in_dir = "dbus/runtime_probe"
proto_out_dir = "go/src/chromiumos/system_api/runtime_probe_proto"
sources = [ "${proto_in_dir}/runtime_probe.proto" ]
}
proto_library("system_api-bootlockbox-protos") {
proto_in_dir = "dbus/bootlockbox"
proto_out_dir = "include/bootlockbox/proto_bindings"
sources = [ "${proto_in_dir}/boot_lockbox_rpc.proto" ]
standalone = true
}
goproto_library("system_api-bootlockbox-goprotos") {
proto_in_dir = "dbus/bootlockbox"
proto_out_dir = "go/src/chromiumos/system_api/bootlockbox_proto"
sources = [ "${proto_in_dir}/boot_lockbox_rpc.proto" ]
}
proto_library("system_api-dlcservice-protos") {
proto_in_dir = "dbus/dlcservice"
proto_out_dir = "include/dlcservice/proto_bindings"
sources = [ "${proto_in_dir}/dlcservice.proto" ]
standalone = true
}
proto_library("system_api-update_engine-protos") {
proto_in_dir = "dbus/update_engine"
proto_out_dir = "include/update_engine/proto_bindings"
sources = [ "${proto_in_dir}/update_engine.proto" ]
standalone = true
}
proto_library("system_api-vm_plugin_dispatcher-protos") {
proto_in_dir = "dbus/vm_plugin_dispatcher"
proto_out_dir = "include/vm_plugin_dispatcher/proto_bindings"
sources = [ "${proto_in_dir}/vm_plugin_dispatcher.proto" ]
standalone = true
}
goproto_library("system_api-vm_plugin_dispatcher-goprotos") {
proto_in_dir = "dbus/vm_plugin_dispatcher"
proto_out_dir = "go/src/chromiumos/system_api/vm_plugin_dispatcher_proto"
sources = [ "${proto_in_dir}/vm_plugin_dispatcher.proto" ]
}
proto_library("system_api-u2f-protos") {
proto_in_dir = "dbus/u2f"
proto_out_dir = "include/u2f/proto_bindings"
sources = [ "${proto_in_dir}/u2f_interface.proto" ]
standalone = true
}
proto_library("system_api-chunneld-protos") {
proto_in_dir = "dbus/chunneld"
proto_out_dir = "include/chunneld/proto_bindings"
sources = [ "${proto_in_dir}/chunneld_service.proto" ]
standalone = true
}
proto_library("system_api-patchpanel-protos") {
proto_in_dir = "dbus/patchpanel"
proto_out_dir = "include/patchpanel/proto_bindings"
sources = [ "${proto_in_dir}/patchpanel_service.proto" ]
standalone = true
use_pic = true
}
goproto_library("system_api-patchpanel-goprotos") {
proto_in_dir = "dbus/patchpanel"
proto_out_dir = "go/src/chromiumos/system_api/patchpanel_proto"
sources = [ "${proto_in_dir}/patchpanel_service.proto" ]
}
proto_library("system_api-anomaly_detector-protos") {
proto_in_dir = "dbus/anomaly_detector"
proto_out_dir = "include/anomaly_detector/proto_bindings"
sources = [ "${proto_in_dir}/anomaly_detector.proto" ]
standalone = true
}
proto_library("system_api-system_proxy-protos") {
proto_in_dir = "dbus/system_proxy"
proto_out_dir = "include/system_proxy/proto_bindings"
sources = [ "${proto_in_dir}/system_proxy_service.proto" ]
standalone = true
}
proto_library("system_api-vm_permission_service-protos") {
proto_in_dir = "dbus/vm_permission_service"
proto_out_dir = "include/vm_permission_service/proto_bindings"
sources = [ "${proto_in_dir}/vm_permission_service.proto" ]
standalone = true
}