blob: 0c209edd29cf2ee285d70acc49a72c46c29803ee [file] [log] [blame]
Ryan Savitskia76b3cc2019-11-20 16:25:24 +00001# Copyright (C) 2019 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15import("../../../gn/fuzzer.gni")
16import("../../../gn/perfetto.gni")
17import("../../../gn/test.gni")
18
19assert(enable_perfetto_traced_perf)
20
21executable("traced_perf") {
22 deps = [
23 ":traced_perf_main",
24 "../../../gn:default_deps",
25 ]
Primiano Tucci2925e9d2020-01-27 10:15:58 +000026 sources = [ "main.cc" ]
Ryan Savitskia76b3cc2019-11-20 16:25:24 +000027}
28
29source_set("traced_perf_main") {
30 deps = [
Ryan Savitskic46d4dc2020-02-04 15:03:38 +000031 ":proc_descriptors",
Ryan Savitskia76b3cc2019-11-20 16:25:24 +000032 ":producer",
33 "../../../gn:default_deps",
34 "../../../src/base",
Primiano Tuccic4c063b2020-01-27 09:34:46 +000035 "../../../src/tracing/ipc/producer",
Ryan Savitskia76b3cc2019-11-20 16:25:24 +000036 ]
37 sources = [
38 "traced_perf.cc",
39 "traced_perf.h",
40 ]
41}
42
43source_set("producer") {
Ryan Savitski56bc0c62020-01-27 13:50:02 +000044 public_deps = [
Ryan Savitskic46d4dc2020-02-04 15:03:38 +000045 ":regs_parsing",
Ryan Savitski56bc0c62020-01-27 13:50:02 +000046 "../../../include/perfetto/tracing/core",
47 ]
48 deps = [
Ryan Savitskic46d4dc2020-02-04 15:03:38 +000049 ":proc_descriptors",
Ryan Savitskia76b3cc2019-11-20 16:25:24 +000050 "../../../gn:default_deps",
51 "../../../protos/perfetto/config:cpp",
52 "../../../protos/perfetto/config/profiling:zero",
53 "../../../protos/perfetto/trace:zero",
54 "../../../src/base",
55 "../../../src/base:unix_socket",
Primiano Tuccic4c063b2020-01-27 09:34:46 +000056 "../../../src/tracing/ipc/producer",
Ryan Savitskia76b3cc2019-11-20 16:25:24 +000057 ]
Ryan Savitskia76b3cc2019-11-20 16:25:24 +000058 sources = [
59 "event_config.h",
60 "event_reader.cc",
61 "event_reader.h",
62 "perf_producer.cc",
63 "perf_producer.h",
64 ]
65}
66
Ryan Savitskic46d4dc2020-02-04 15:03:38 +000067source_set("regs_parsing") {
Ryan Savitski56bc0c62020-01-27 13:50:02 +000068 public_deps = [ "../../../gn:libunwindstack" ]
Ryan Savitski703bcab2019-12-18 14:38:14 +000069 deps = [
Ryan Savitski56bc0c62020-01-27 13:50:02 +000070 "../../../gn:bionic_kernel_uapi_headers",
Ryan Savitski703bcab2019-12-18 14:38:14 +000071 "../../../gn:default_deps",
Ryan Savitski703bcab2019-12-18 14:38:14 +000072 "../../../src/base",
73 ]
74 sources = [
Ryan Savitskic46d4dc2020-02-04 15:03:38 +000075 "regs_parsing.cc",
76 "regs_parsing.h",
Ryan Savitski703bcab2019-12-18 14:38:14 +000077 ]
78}
Ryan Savitskic46d4dc2020-02-04 15:03:38 +000079
80source_set("proc_descriptors") {
81 deps = [
82 "../../../gn:default_deps",
83 "../../../src/base",
84 ]
85 sources = [
86 "proc_descriptors.cc",
87 "proc_descriptors.h",
88 ]
89}
90
Ryan Savitskia76b3cc2019-11-20 16:25:24 +000091source_set("producer_unittests") {
92 testonly = true
93 deps = [
94 ":producer",
95 "../../../gn:default_deps",
96 "../../../gn:gtest_and_gmock",
97 "../../../protos/perfetto/config:cpp",
98 "../../../protos/perfetto/config:zero",
99 "../../../protos/perfetto/config/profiling:zero",
100 "../../../protos/perfetto/trace:zero",
101 "../../../src/protozero",
102 "../../base",
103 ]
Primiano Tucci2925e9d2020-01-27 10:15:58 +0000104 sources = [ "event_config_unittest.cc" ]
Ryan Savitskia76b3cc2019-11-20 16:25:24 +0000105}