# Copyright (C) 2017 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") import("../../gn/fuzzer.gni") import("../../gn/ipc_library.gni") import("../../gn/proto_library.gni") # For use_libfuzzer. if (perfetto_build_standalone || perfetto_build_with_android) { import("//gn/standalone/sanitizers/vars.gni") } else { import("//build/config/sanitizers/sanitizers.gni") } # This build file should not be leaked into all embedders. Only select # projects should be depending on our IPC layer. assert(perfetto_build_with_ipc_layer) source_set("ipc") { public_configs = [ "../../gn:default_config" ] public_deps = [ "../../include/perfetto/ipc", "../base:unix_socket", ] deps = [ ":wire_protocol", "../../gn:default_deps", "../base", ] sources = [ "buffered_frame_deserializer.cc", "client_impl.cc", "deferred.cc", "host_impl.cc", "host_impl.h", "service_proxy.cc", "virtual_destructors.cc", ] } perfetto_fuzzer_test("buffered_frame_deserializer_fuzzer") { sources = [ "buffered_frame_deserializer_fuzzer.cc", ] deps = [ ":ipc", ":wire_protocol", "../../gn:default_deps", ] } source_set("unittests") { testonly = true deps = [ ":ipc", ":test_messages", ":wire_protocol", "../../gn:default_deps", "../../gn:gtest_deps", "../base", "../base:test_support", ] sources = [ "buffered_frame_deserializer_unittest.cc", "client_impl_unittest.cc", "deferred_unittest.cc", "host_impl_unittest.cc", "test/ipc_integrationtest.cc", ] } proto_library("wire_protocol") { generate_python = false sources = [ "wire_protocol.proto", ] proto_in_dir = perfetto_root_path proto_out_dir = perfetto_root_path } ipc_library("test_messages") { sources = [ "test/client_unittest_messages.proto", "test/deferred_unittest_messages.proto", "test/greeter_service.proto", ] proto_in_dir = perfetto_root_path proto_out_dir = perfetto_root_path }