xref: /aosp_15_r20/external/pigweed/pw_grpc/BUILD.gn (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2024 The Pigweed Authors
2*61c4878aSAndroid Build Coastguard Worker#
3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of
5*61c4878aSAndroid Build Coastguard Worker# the License at
6*61c4878aSAndroid Build Coastguard Worker#
7*61c4878aSAndroid Build Coastguard Worker#     https://www.apache.org/licenses/LICENSE-2.0
8*61c4878aSAndroid Build Coastguard Worker#
9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under
13*61c4878aSAndroid Build Coastguard Worker# the License.
14*61c4878aSAndroid Build Coastguard Worker
15*61c4878aSAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni")
16*61c4878aSAndroid Build Coastguard Worker
17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/error.gni")
18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni")
19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni")
20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni")
21*61c4878aSAndroid Build Coastguard Worker
22*61c4878aSAndroid Build Coastguard Workerconfig("public_include_path") {
23*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public" ]
24*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
25*61c4878aSAndroid Build Coastguard Worker}
26*61c4878aSAndroid Build Coastguard Worker
27*61c4878aSAndroid Build Coastguard Workerpw_source_set("connection") {
28*61c4878aSAndroid Build Coastguard Worker  sources = [ "connection.cc" ]
29*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
30*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_grpc/connection.h" ]
31*61c4878aSAndroid Build Coastguard Worker  deps = [
32*61c4878aSAndroid Build Coastguard Worker    ":hpack",
33*61c4878aSAndroid Build Coastguard Worker    ":send_queue",
34*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
35*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async:dispatcher",
36*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async_basic:dispatcher",
37*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_bytes",
38*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_function",
39*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
40*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_result",
41*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_span",
42*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_status",
43*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_stream",
44*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string",
45*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:inline_borrowable",
46*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread",
47*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread_core",
48*61c4878aSAndroid Build Coastguard Worker  ]
49*61c4878aSAndroid Build Coastguard Worker}
50*61c4878aSAndroid Build Coastguard Worker
51*61c4878aSAndroid Build Coastguard Workerpw_source_set("send_queue") {
52*61c4878aSAndroid Build Coastguard Worker  sources = [ "send_queue.cc" ]
53*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_grpc/send_queue.h" ]
54*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
55*61c4878aSAndroid Build Coastguard Worker  deps = [
56*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async:dispatcher",
57*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async_basic:dispatcher",
58*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_bytes",
59*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
60*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_function",
61*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
62*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_result",
63*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_span",
64*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_status",
65*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_stream",
66*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string",
67*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:lock_annotations",
68*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:mutex",
69*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread",
70*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread_core",
71*61c4878aSAndroid Build Coastguard Worker  ]
72*61c4878aSAndroid Build Coastguard Worker}
73*61c4878aSAndroid Build Coastguard Worker
74*61c4878aSAndroid Build Coastguard Workerpw_source_set("grpc_channel_output") {
75*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_grpc/grpc_channel_output.h" ]
76*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
77*61c4878aSAndroid Build Coastguard Worker  deps = [
78*61c4878aSAndroid Build Coastguard Worker    ":connection",
79*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_bytes",
80*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc",
81*61c4878aSAndroid Build Coastguard Worker  ]
82*61c4878aSAndroid Build Coastguard Worker}
83*61c4878aSAndroid Build Coastguard Worker
84*61c4878aSAndroid Build Coastguard Workerpw_source_set("pw_rpc_handler") {
85*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_grpc/pw_rpc_handler.h" ]
86*61c4878aSAndroid Build Coastguard Worker  sources = [ "pw_rpc_handler.cc" ]
87*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
88*61c4878aSAndroid Build Coastguard Worker  deps = [
89*61c4878aSAndroid Build Coastguard Worker    ":connection",
90*61c4878aSAndroid Build Coastguard Worker    ":grpc_channel_output",
91*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_bytes",
92*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
93*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc",
94*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc_transport:rpc_transport",
95*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string",
96*61c4878aSAndroid Build Coastguard Worker  ]
97*61c4878aSAndroid Build Coastguard Worker}
98*61c4878aSAndroid Build Coastguard Worker
99*61c4878aSAndroid Build Coastguard Workerpw_source_set("hpack") {
100*61c4878aSAndroid Build Coastguard Worker  sources = [
101*61c4878aSAndroid Build Coastguard Worker    "hpack.autogen.inc",
102*61c4878aSAndroid Build Coastguard Worker    "hpack.cc",
103*61c4878aSAndroid Build Coastguard Worker    "pw_grpc_private/hpack.h",
104*61c4878aSAndroid Build Coastguard Worker  ]
105*61c4878aSAndroid Build Coastguard Worker  deps = [
106*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
107*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_bytes",
108*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
109*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_result",
110*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_span",
111*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_status",
112*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string",
113*61c4878aSAndroid Build Coastguard Worker  ]
114*61c4878aSAndroid Build Coastguard Worker}
115*61c4878aSAndroid Build Coastguard Worker
116*61c4878aSAndroid Build Coastguard Workerpw_test("hpack_test") {
117*61c4878aSAndroid Build Coastguard Worker  sources = [ "hpack_test.cc" ]
118*61c4878aSAndroid Build Coastguard Worker  deps = [ ":hpack" ]
119*61c4878aSAndroid Build Coastguard Worker}
120*61c4878aSAndroid Build Coastguard Worker
121*61c4878aSAndroid Build Coastguard Workerpw_executable("test_pw_rpc_server") {
122*61c4878aSAndroid Build Coastguard Worker  sources = [ "test_pw_rpc_server.cc" ]
123*61c4878aSAndroid Build Coastguard Worker  deps = [
124*61c4878aSAndroid Build Coastguard Worker    ":connection",
125*61c4878aSAndroid Build Coastguard Worker    ":echo_cc.pwpb_rpc",
126*61c4878aSAndroid Build Coastguard Worker    ":grpc_channel_output",
127*61c4878aSAndroid Build Coastguard Worker    ":pw_rpc_handler",
128*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert_basic:pw_assert_basic_handler",
129*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert_log:assert_backend",
130*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert_log:check_backend",
131*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_bytes",
132*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
133*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_result",
134*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc",
135*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc_transport:service_registry",
136*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_span",
137*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_status",
138*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_stream",
139*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_stream:socket_stream",
140*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string",
141*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:test_thread_context",
142*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread",
143*61c4878aSAndroid Build Coastguard Worker  ]
144*61c4878aSAndroid Build Coastguard Worker}
145*61c4878aSAndroid Build Coastguard Worker
146*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") {
147*61c4878aSAndroid Build Coastguard Worker  sources = [ "docs.rst" ]
148*61c4878aSAndroid Build Coastguard Worker}
149*61c4878aSAndroid Build Coastguard Worker
150*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") {
151*61c4878aSAndroid Build Coastguard Worker  group_deps = []
152*61c4878aSAndroid Build Coastguard Worker}
153