blob: 3bfe9e8f4cfb1a5aade5ae8fde426040c28e595c [file] [log] [blame]
Primiano Tuccie73ac932017-11-08 18:11:17 +00001# Copyright (C) 2017 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
Primiano Tucci9ebb8822017-11-09 18:36:25 +000015import("//build/proto_library.gni")
Primiano Tucci91cc11d2017-11-14 18:34:24 +000016import("ipc_library.gni")
Primiano Tucci9ebb8822017-11-09 18:36:25 +000017
Primiano Tuccic85d9332017-11-09 18:47:42 +000018config("config") {
19 include_dirs = [ "include" ]
20}
21
Primiano Tuccie73ac932017-11-08 18:11:17 +000022source_set("ipc") {
Primiano Tuccic85d9332017-11-09 18:47:42 +000023 public_configs = [ ":config" ]
Primiano Tucci9ebb8822017-11-09 18:36:25 +000024 deps += [
25 ":wire_protocol",
26 "//base",
27 ]
Primiano Tuccie73ac932017-11-08 18:11:17 +000028 sources = [
Primiano Tuccic85d9332017-11-09 18:47:42 +000029 "include/ipc/async_result.h",
30 "include/ipc/basic_types.h",
Primiano Tuccic2025af2017-11-20 12:47:49 +000031 "include/ipc/client.h",
32 "include/ipc/client_info.h",
33 "include/ipc/codegen_helpers.h",
Primiano Tuccic85d9332017-11-09 18:47:42 +000034 "include/ipc/deferred.h",
Primiano Tucci420e47e2017-11-14 11:31:49 +000035 "include/ipc/host.h",
Primiano Tuccic2025af2017-11-20 12:47:49 +000036 "include/ipc/service.h",
37 "include/ipc/service_descriptor.h",
38 "include/ipc/service_proxy.h",
Primiano Tucci9ebb8822017-11-09 18:36:25 +000039 "src/buffered_frame_deserializer.cc",
Primiano Tuccied0ce252017-11-09 19:35:10 +000040 "src/client_impl.cc",
Primiano Tuccic85d9332017-11-09 18:47:42 +000041 "src/deferred.cc",
Primiano Tucci420e47e2017-11-14 11:31:49 +000042 "src/host_impl.cc",
43 "src/host_impl.h",
Primiano Tuccied0ce252017-11-09 19:35:10 +000044 "src/service_proxy.cc",
Primiano Tuccie73ac932017-11-08 18:11:17 +000045 "src/unix_socket.cc",
Primiano Tuccic2025af2017-11-20 12:47:49 +000046 "src/unix_socket.h",
Primiano Tuccie73ac932017-11-08 18:11:17 +000047 ]
48}
49
50executable("ipc_unittests") {
51 testonly = true
52 deps += [
53 ":ipc",
Primiano Tuccic85d9332017-11-09 18:47:42 +000054 ":test_messages",
Primiano Tucci9ebb8822017-11-09 18:36:25 +000055 ":wire_protocol",
Primiano Tuccie73ac932017-11-08 18:11:17 +000056 "//base",
57 "//base:test_support",
58 "//buildtools:gmock",
59 "//buildtools:gtest",
60 "//buildtools:gtest_main",
61 ]
62 sources = [
Primiano Tucci9ebb8822017-11-09 18:36:25 +000063 "src/buffered_frame_deserializer_unittest.cc",
Primiano Tuccied0ce252017-11-09 19:35:10 +000064 "src/client_impl_unittest.cc",
Primiano Tuccic85d9332017-11-09 18:47:42 +000065 "src/deferred_unittest.cc",
Primiano Tucci420e47e2017-11-14 11:31:49 +000066 "src/host_impl_unittest.cc",
Primiano Tucci91cc11d2017-11-14 18:34:24 +000067 "src/test/ipc_integrationtest.cc",
Primiano Tuccie73ac932017-11-08 18:11:17 +000068 "src/unix_socket_unittest.cc",
69 ]
70}
Primiano Tucci9ebb8822017-11-09 18:36:25 +000071
72proto_library("wire_protocol") {
73 sources = [
74 "src/wire_protocol.proto",
75 ]
76 include_dirs = [ "include" ]
Primiano Tucci782374f2017-11-27 16:25:20 +000077 proto_out_dir = "protos_lite"
Primiano Tucci9ebb8822017-11-09 18:36:25 +000078}
Primiano Tuccic85d9332017-11-09 18:47:42 +000079
Primiano Tucci91cc11d2017-11-14 18:34:24 +000080ipc_library("test_messages") {
Primiano Tuccic85d9332017-11-09 18:47:42 +000081 sources = [
Primiano Tuccied0ce252017-11-09 19:35:10 +000082 "src/test/client_unittest_messages.proto",
Primiano Tuccic85d9332017-11-09 18:47:42 +000083 "src/test/deferred_unittest_messages.proto",
Primiano Tuccied0ce252017-11-09 19:35:10 +000084 "src/test/greeter_service.proto",
Primiano Tuccic85d9332017-11-09 18:47:42 +000085 ]
86 include_dirs = [ "include" ]
Primiano Tuccic85d9332017-11-09 18:47:42 +000087}