blob: 8ccfb3346d1672e0c5634e58f70ee2f26529af2f [file] [log] [blame]
# Copyright 2020 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//third_party/perfetto/gn/proto_library.gni")
import("//third_party/protobuf/proto_library.gni")
import("//tools/grit/grit_rule.gni")
import("sources.gni")
# Generates only a proto descriptor. This must only have a single entry in
# `sources`, because `generate_descriptor` adds a `--dependency_out` argument to
# protoc. With multiple sources protoc fails with the error: "Can only process
# one input file when using --dependency_out=FILE."
proto_library("chrome_track_event") {
proto_in_dir = "//"
proto_out_dir = "base/tracing/protos"
sources = [
# Wrapper file importing all files in `chrome_track_event_sources`.
chrome_track_event_descriptor_source,
]
import_dirs = [ "//third_party/perfetto/" ]
generate_cc = false
generate_python = false
generate_descriptor = "chrome_track_event.descriptor"
deps = [
# To track build dependencies, this must depend on a proto library target
# listing `chrome_track_event_descriptor_source`'s imports as sources.
# Conveniently `chrome_track_event_zero` is just such a library.
":chrome_track_event_zero",
"//third_party/perfetto/protos/perfetto/trace/track_event:source_set",
]
}
protozero_library("chrome_track_event_zero") {
proto_in_dir = "//"
perfetto_root_path = "//third_party/perfetto/"
sources = chrome_track_event_sources
import_dirs = [ "//third_party/perfetto/" ]
generator_plugin_options = "wrapper_namespace=pbzero"
omit_protozero_dep = true
proto_deps =
[ "//third_party/perfetto/protos/perfetto/trace/track_event:source_set" ]
}
grit("chrome_track_event_resources") {
source = "resources.grd"
outputs = [
"grit/tracing_proto_resources.h",
"tracing_proto_resources.pak",
]
deps = [ ":chrome_track_event_gen" ]
}