1# Copyright 2024 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://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, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15include($ENV{PW_ROOT}/pw_build/pigweed.cmake) 16 17############################################################################### 18## Everything below here is intended to be emboss only ## 19## and will be skipped if emboss isn't enabled. ## 20############################################################################### 21if("${dir_pw_third_party_emboss}" STREQUAL "") 22 # Skip emboss defs if it's not configured 23 return() 24endif() 25 26pw_add_library(pw_bluetooth_proxy STATIC 27 HEADERS 28 public/pw_bluetooth_proxy/basic_l2cap_channel.h 29 public/pw_bluetooth_proxy/gatt_notify_channel.h 30 public/pw_bluetooth_proxy/h4_packet.h 31 public/pw_bluetooth_proxy/internal/acl_data_channel.h 32 public/pw_bluetooth_proxy/internal/gatt_notify_channel_internal.h 33 public/pw_bluetooth_proxy/internal/h4_storage.h 34 public/pw_bluetooth_proxy/internal/hci_transport.h 35 public/pw_bluetooth_proxy/internal/l2cap_aclu_signaling_channel.h 36 public/pw_bluetooth_proxy/internal/l2cap_channel_manager.h 37 public/pw_bluetooth_proxy/internal/l2cap_coc_internal.h 38 public/pw_bluetooth_proxy/internal/l2cap_read_channel.h 39 public/pw_bluetooth_proxy/internal/l2cap_signaling_channel.h 40 public/pw_bluetooth_proxy/internal/l2cap_write_channel.h 41 public/pw_bluetooth_proxy/internal/l2cap_leu_signaling_channel.h 42 public/pw_bluetooth_proxy/internal/logical_transport.h 43 public/pw_bluetooth_proxy/internal/rfcomm_fcs.h 44 public/pw_bluetooth_proxy/l2cap_coc.h 45 public/pw_bluetooth_proxy/proxy_host.h 46 public/pw_bluetooth_proxy/rfcomm_channel.h 47 48 PUBLIC_INCLUDES 49 public 50 PUBLIC_DEPS 51 pw_bluetooth.emboss_att 52 pw_bluetooth.emboss_hci_common 53 pw_bluetooth.emboss_hci_data 54 pw_bluetooth.emboss_hci_events 55 pw_bluetooth.emboss_hci_h4 56 pw_bluetooth.emboss_l2cap_frames 57 pw_bluetooth.emboss_rfcomm_frames 58 pw_bluetooth.emboss_util 59 pw_containers 60 pw_function 61 pw_log 62 pw_result 63 pw_span 64 pw_status 65 pw_sync.lock_annotations 66 pw_sync.mutex 67 SOURCES 68 acl_data_channel.cc 69 basic_l2cap_channel.cc 70 gatt_notify_channel.cc 71 h4_storage.cc 72 l2cap_aclu_signaling_channel.cc 73 l2cap_channel_manager.cc 74 l2cap_coc.cc 75 l2cap_read_channel.cc 76 l2cap_signaling_channel.cc 77 l2cap_write_channel.cc 78 l2cap_leu_signaling_channel.cc 79 proxy_host.cc 80 rfcomm_channel.cc 81 rfcomm_fcs.cc 82) 83 84pw_add_test(pw_bluetooth_proxy.pw_bluetooth_proxy_test 85 SOURCES 86 proxy_host_test.cc 87 h4_packet_test.cc 88 rfcomm_fcs_test.cc 89 PRIVATE_DEPS 90 pw_bluetooth_proxy 91 pw_third_party.fuchsia.stdcompat 92 pw_bluetooth.emboss_att 93 pw_bluetooth.emboss_hci_commands 94 pw_bluetooth.emboss_hci_common 95 pw_bluetooth.emboss_hci_events 96 pw_bluetooth.emboss_hci_h4 97 GROUPS 98 modules 99) 100