| # Copyright (C) 2018 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| import("../../gn/perfetto.gni") |
| |
| protoc_target = "../../gn:protoc($host_toolchain)" |
| |
| action_foreach("configs") { |
| testonly = true |
| script = "../../tools/protoc_helper.py" |
| |
| deps = [ |
| "../../protos/perfetto/config:merged_config", |
| "../../protos/perfetto/trace:merged_trace", |
| protoc_target, |
| ] |
| |
| sources = [ |
| "android_log.cfg", |
| "atrace.cfg", |
| "background.cfg", |
| "bad_config.cfg", |
| "camera.cfg", |
| "client_api.cfg", |
| "ftrace.cfg", |
| "ftrace_largebuffer.cfg", |
| "heapprofd.cfg", |
| "long_trace.cfg", |
| "scheduling.cfg", |
| "summary.cfg", |
| "sys_stats.cfg", |
| ] |
| |
| outputs = [ "$root_out_dir/{{source_file_part}}.protobuf" ] |
| |
| # Retrieves the path where protoc is built relative to the dir where commands |
| # are ran (root_build_dir == out/xxx). protoc_rel_dir ends up being "." for |
| # pure host build and "gcc_like_host" for android builds |
| protoc_out_dir = get_label_info(protoc_target, "root_out_dir") |
| protoc_rel_dir = rebase_path(protoc_out_dir, root_build_dir) |
| protoc_ext = "" |
| if (host_os == "win") { |
| protoc_ext = ".exe" |
| } |
| |
| args = [ |
| "encode", |
| "--protoc=$protoc_rel_dir/protoc${protoc_ext}", |
| "--input={{source}}", |
| "--output={{source_file_part}}.protobuf", |
| ] |
| } |