1*61c4878aSAndroid Build Coastguard Worker// Copyright 2023 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 Workerpackage { 16*61c4878aSAndroid Build Coastguard Worker default_applicable_licenses: ["external_pigweed_license"], 17*61c4878aSAndroid Build Coastguard Worker} 18*61c4878aSAndroid Build Coastguard Worker 19*61c4878aSAndroid Build Coastguard Workercc_library_static { 20*61c4878aSAndroid Build Coastguard Worker name: "pw_rpc_transport.rpc_transport", 21*61c4878aSAndroid Build Coastguard Worker cpp_std: "c++20", 22*61c4878aSAndroid Build Coastguard Worker export_include_dirs: ["public"], 23*61c4878aSAndroid Build Coastguard Worker static_libs: [ 24*61c4878aSAndroid Build Coastguard Worker "pw_bytes", 25*61c4878aSAndroid Build Coastguard Worker "pw_function", 26*61c4878aSAndroid Build Coastguard Worker "pw_status", 27*61c4878aSAndroid Build Coastguard Worker ], 28*61c4878aSAndroid Build Coastguard Worker export_static_lib_headers: [ 29*61c4878aSAndroid Build Coastguard Worker "pw_bytes", 30*61c4878aSAndroid Build Coastguard Worker "pw_function", 31*61c4878aSAndroid Build Coastguard Worker "pw_status", 32*61c4878aSAndroid Build Coastguard Worker ], 33*61c4878aSAndroid Build Coastguard Worker host_supported: true, 34*61c4878aSAndroid Build Coastguard Worker vendor_available: true, 35*61c4878aSAndroid Build Coastguard Worker} 36*61c4878aSAndroid Build Coastguard Worker 37*61c4878aSAndroid Build Coastguard Workercc_library_static { 38*61c4878aSAndroid Build Coastguard Worker name: "pw_rpc_transport.local_rpc_egress", 39*61c4878aSAndroid Build Coastguard Worker cpp_std: "c++20", 40*61c4878aSAndroid Build Coastguard Worker vendor_available: true, 41*61c4878aSAndroid Build Coastguard Worker host_supported: true, 42*61c4878aSAndroid Build Coastguard Worker defaults: [ 43*61c4878aSAndroid Build Coastguard Worker "pw_android_common_backends", 44*61c4878aSAndroid Build Coastguard Worker ], 45*61c4878aSAndroid Build Coastguard Worker header_libs: [ 46*61c4878aSAndroid Build Coastguard Worker "pw_log", 47*61c4878aSAndroid Build Coastguard Worker ], 48*61c4878aSAndroid Build Coastguard Worker export_header_lib_headers: [ 49*61c4878aSAndroid Build Coastguard Worker "pw_log", 50*61c4878aSAndroid Build Coastguard Worker ], 51*61c4878aSAndroid Build Coastguard Worker static_libs: [ 52*61c4878aSAndroid Build Coastguard Worker "pw_containers", 53*61c4878aSAndroid Build Coastguard Worker "pw_polyfill", 54*61c4878aSAndroid Build Coastguard Worker "pw_preprocessor", 55*61c4878aSAndroid Build Coastguard Worker "pw_result", 56*61c4878aSAndroid Build Coastguard Worker "pw_rpc_transport.rpc_transport", 57*61c4878aSAndroid Build Coastguard Worker ], 58*61c4878aSAndroid Build Coastguard Worker export_static_lib_headers: [ 59*61c4878aSAndroid Build Coastguard Worker "pw_containers", 60*61c4878aSAndroid Build Coastguard Worker "pw_result", 61*61c4878aSAndroid Build Coastguard Worker "pw_rpc_transport.rpc_transport", 62*61c4878aSAndroid Build Coastguard Worker ], 63*61c4878aSAndroid Build Coastguard Worker srcs: [ 64*61c4878aSAndroid Build Coastguard Worker "local_rpc_egress.cc", 65*61c4878aSAndroid Build Coastguard Worker ], 66*61c4878aSAndroid Build Coastguard Worker} 67*61c4878aSAndroid Build Coastguard Worker 68*61c4878aSAndroid Build Coastguard Workercc_library_static { 69*61c4878aSAndroid Build Coastguard Worker name: "pw_rpc_transport.simple_framing", 70*61c4878aSAndroid Build Coastguard Worker cpp_std: "c++20", 71*61c4878aSAndroid Build Coastguard Worker vendor_available: true, 72*61c4878aSAndroid Build Coastguard Worker host_supported: true, 73*61c4878aSAndroid Build Coastguard Worker defaults: [ 74*61c4878aSAndroid Build Coastguard Worker "pw_android_common_backends", 75*61c4878aSAndroid Build Coastguard Worker ], 76*61c4878aSAndroid Build Coastguard Worker header_libs: [ 77*61c4878aSAndroid Build Coastguard Worker "pw_assert", 78*61c4878aSAndroid Build Coastguard Worker "pw_log", 79*61c4878aSAndroid Build Coastguard Worker ], 80*61c4878aSAndroid Build Coastguard Worker export_header_lib_headers: [ 81*61c4878aSAndroid Build Coastguard Worker "pw_assert", 82*61c4878aSAndroid Build Coastguard Worker "pw_log", 83*61c4878aSAndroid Build Coastguard Worker ], 84*61c4878aSAndroid Build Coastguard Worker static_libs: [ 85*61c4878aSAndroid Build Coastguard Worker "pw_polyfill", 86*61c4878aSAndroid Build Coastguard Worker "pw_preprocessor", 87*61c4878aSAndroid Build Coastguard Worker "pw_result", 88*61c4878aSAndroid Build Coastguard Worker "pw_rpc_transport.rpc_transport", 89*61c4878aSAndroid Build Coastguard Worker "pw_span", 90*61c4878aSAndroid Build Coastguard Worker ], 91*61c4878aSAndroid Build Coastguard Worker export_static_lib_headers: [ 92*61c4878aSAndroid Build Coastguard Worker "pw_result", 93*61c4878aSAndroid Build Coastguard Worker "pw_rpc_transport.rpc_transport", 94*61c4878aSAndroid Build Coastguard Worker "pw_span", 95*61c4878aSAndroid Build Coastguard Worker ], 96*61c4878aSAndroid Build Coastguard Worker srcs: [ 97*61c4878aSAndroid Build Coastguard Worker "simple_framing.cc", 98*61c4878aSAndroid Build Coastguard Worker ], 99*61c4878aSAndroid Build Coastguard Worker} 100*61c4878aSAndroid Build Coastguard Worker 101*61c4878aSAndroid Build Coastguard Workerfilegroup { 102*61c4878aSAndroid Build Coastguard Worker name: "pw_rpc_transport.egress_ingress_src_files", 103*61c4878aSAndroid Build Coastguard Worker srcs: [ 104*61c4878aSAndroid Build Coastguard Worker "egress_ingress.cc", 105*61c4878aSAndroid Build Coastguard Worker ], 106*61c4878aSAndroid Build Coastguard Worker} 107*61c4878aSAndroid Build Coastguard Worker 108*61c4878aSAndroid Build Coastguard Worker// This rule must be instantiated, e.g. 109*61c4878aSAndroid Build Coastguard Worker// 110*61c4878aSAndroid Build Coastguard Worker// cc_library_static { 111*61c4878aSAndroid Build Coastguard Worker// name: "<instance_name>", 112*61c4878aSAndroid Build Coastguard Worker// cflags: [ 113*61c4878aSAndroid Build Coastguard Worker// "-DPW_RPC_USE_GLOBAL_MUTEX=0", 114*61c4878aSAndroid Build Coastguard Worker// "-DPW_RPC_COMPLETION_REQUEST_CALLBACK", 115*61c4878aSAndroid Build Coastguard Worker// "-DPW_RPC_DYNAMIC_ALLOCATION", 116*61c4878aSAndroid Build Coastguard Worker// ], 117*61c4878aSAndroid Build Coastguard Worker// defaults: [ 118*61c4878aSAndroid Build Coastguard Worker// "pw_rpc_transport.egress_ingress_defaults", 119*61c4878aSAndroid Build Coastguard Worker// ], 120*61c4878aSAndroid Build Coastguard Worker// } 121*61c4878aSAndroid Build Coastguard Workercc_defaults { 122*61c4878aSAndroid Build Coastguard Worker name: "pw_rpc_transport.egress_ingress_defaults", 123*61c4878aSAndroid Build Coastguard Worker cpp_std: "c++20", 124*61c4878aSAndroid Build Coastguard Worker defaults: [ 125*61c4878aSAndroid Build Coastguard Worker "pw_android_common_backends", 126*61c4878aSAndroid Build Coastguard Worker "pw_rpc_defaults", 127*61c4878aSAndroid Build Coastguard Worker ], 128*61c4878aSAndroid Build Coastguard Worker header_libs: [ 129*61c4878aSAndroid Build Coastguard Worker "pw_assert", 130*61c4878aSAndroid Build Coastguard Worker "pw_chrono", 131*61c4878aSAndroid Build Coastguard Worker "pw_log", 132*61c4878aSAndroid Build Coastguard Worker "pw_sync", 133*61c4878aSAndroid Build Coastguard Worker ], 134*61c4878aSAndroid Build Coastguard Worker export_header_lib_headers: [ 135*61c4878aSAndroid Build Coastguard Worker "pw_assert", 136*61c4878aSAndroid Build Coastguard Worker "pw_log", 137*61c4878aSAndroid Build Coastguard Worker "pw_sync", 138*61c4878aSAndroid Build Coastguard Worker ], 139*61c4878aSAndroid Build Coastguard Worker static_libs: [ 140*61c4878aSAndroid Build Coastguard Worker "pw_hdlc", 141*61c4878aSAndroid Build Coastguard Worker "pw_metric", 142*61c4878aSAndroid Build Coastguard Worker "pw_rpc_transport.rpc_transport", 143*61c4878aSAndroid Build Coastguard Worker "pw_sync.binary_semaphore_thread_notification", 144*61c4878aSAndroid Build Coastguard Worker ], 145*61c4878aSAndroid Build Coastguard Worker export_static_lib_headers: [ 146*61c4878aSAndroid Build Coastguard Worker "pw_hdlc", 147*61c4878aSAndroid Build Coastguard Worker "pw_metric", 148*61c4878aSAndroid Build Coastguard Worker "pw_rpc_transport.rpc_transport", 149*61c4878aSAndroid Build Coastguard Worker ], 150*61c4878aSAndroid Build Coastguard Worker srcs: [ 151*61c4878aSAndroid Build Coastguard Worker ":pw_rpc_transport.egress_ingress_src_files", 152*61c4878aSAndroid Build Coastguard Worker ], 153*61c4878aSAndroid Build Coastguard Worker} 154