blob: 0772175936ae74d13cea51c5f930ec698cee0d4e [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",
31 "include/ipc/deferred.h",
Primiano Tucci420e47e2017-11-14 11:31:49 +000032 "include/ipc/host.h",
Primiano Tucci9ebb8822017-11-09 18:36:25 +000033 "src/buffered_frame_deserializer.cc",
Primiano Tuccied0ce252017-11-09 19:35:10 +000034 "src/client_impl.cc",
Primiano Tuccic85d9332017-11-09 18:47:42 +000035 "src/deferred.cc",
Primiano Tucci420e47e2017-11-14 11:31:49 +000036 "src/host_impl.cc",
37 "src/host_impl.h",
Primiano Tuccied0ce252017-11-09 19:35:10 +000038 "src/service_proxy.cc",
Primiano Tuccie73ac932017-11-08 18:11:17 +000039 "src/unix_socket.cc",
40 ]
41}
42
43executable("ipc_unittests") {
44 testonly = true
45 deps += [
46 ":ipc",
Primiano Tuccic85d9332017-11-09 18:47:42 +000047 ":test_messages",
Primiano Tucci9ebb8822017-11-09 18:36:25 +000048 ":wire_protocol",
Primiano Tuccie73ac932017-11-08 18:11:17 +000049 "//base",
50 "//base:test_support",
51 "//buildtools:gmock",
52 "//buildtools:gtest",
53 "//buildtools:gtest_main",
54 ]
55 sources = [
Primiano Tucci9ebb8822017-11-09 18:36:25 +000056 "src/buffered_frame_deserializer_unittest.cc",
Primiano Tuccied0ce252017-11-09 19:35:10 +000057 "src/client_impl_unittest.cc",
Primiano Tuccic85d9332017-11-09 18:47:42 +000058 "src/deferred_unittest.cc",
Primiano Tucci420e47e2017-11-14 11:31:49 +000059 "src/host_impl_unittest.cc",
Primiano Tucci91cc11d2017-11-14 18:34:24 +000060 "src/test/ipc_integrationtest.cc",
Primiano Tuccie73ac932017-11-08 18:11:17 +000061 "src/unix_socket_unittest.cc",
62 ]
63}
Primiano Tucci9ebb8822017-11-09 18:36:25 +000064
65proto_library("wire_protocol") {
66 sources = [
67 "src/wire_protocol.proto",
68 ]
69 include_dirs = [ "include" ]
70 proto_in_dir = "src/"
71}
Primiano Tuccic85d9332017-11-09 18:47:42 +000072
Primiano Tucci91cc11d2017-11-14 18:34:24 +000073ipc_library("test_messages") {
Primiano Tuccic85d9332017-11-09 18:47:42 +000074 sources = [
Primiano Tuccied0ce252017-11-09 19:35:10 +000075 "src/test/client_unittest_messages.proto",
Primiano Tuccic85d9332017-11-09 18:47:42 +000076 "src/test/deferred_unittest_messages.proto",
Primiano Tuccied0ce252017-11-09 19:35:10 +000077 "src/test/greeter_service.proto",
Primiano Tuccic85d9332017-11-09 18:47:42 +000078 ]
79 include_dirs = [ "include" ]
80 proto_in_dir = "src/test"
81}