blob: a52c7861871fde4ae074cad2e590a9b95b7b4282 [file] [log] [blame]
# Copyright 2020 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/pkg_config.gni")
import("//common-mk/proto_library.gni")
_event_output_dir = "${root_gen_dir}/include/metrics/structured"
_xml_file = "structured.xml"
proto_library("storage") {
proto_in_dir = "./proto"
proto_out_dir = "include/metrics/structured/proto"
sources = [
"${proto_in_dir}/storage.proto",
"${proto_in_dir}/structured_data.proto",
]
use_pic = true
}
action("gen_structured_events") {
script = "gen_events.py"
inputs = [
"gen_events.py",
"codegen.py",
"model.py",
"model_util.py",
"templates.py",
]
sources = [ _xml_file ]
outputs = [
_event_output_dir + "/structured_events.cc",
_event_output_dir + "/structured_events.h",
]
args = [
"--input",
rebase_path(_xml_file, root_build_dir),
"--output",
_event_output_dir,
]
}
shared_library("libstructuredmetrics") {
pkg_deps = [
"libbrillo",
"libchrome",
]
sources = [
"c_structured_metrics.cc",
"event_base.cc",
"event_base.h",
"key_data.cc",
"key_data.h",
"persistent_proto.cc",
"persistent_proto.h",
"recorder.cc",
"recorder.h",
]
# Also include the generated event files.
sources += get_target_outputs(":gen_structured_events")
deps = [
":gen_structured_events",
":storage",
]
}