xref: /aosp_15_r20/external/pigweed/pw_bluetooth_proxy/BUILD.bazel (revision 61c4878ac05f98d0ceed94b57d316916de578985)
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
15load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
16
17package(default_visibility = ["//visibility:public"])
18
19licenses(["notice"])
20
21cc_library(
22    name = "pw_bluetooth_proxy",
23    srcs = [
24        "acl_data_channel.cc",
25        "basic_l2cap_channel.cc",
26        "gatt_notify_channel.cc",
27        "h4_storage.cc",
28        "l2cap_aclu_signaling_channel.cc",
29        "l2cap_channel_manager.cc",
30        "l2cap_coc.cc",
31        "l2cap_leu_signaling_channel.cc",
32        "l2cap_read_channel.cc",
33        "l2cap_signaling_channel.cc",
34        "l2cap_write_channel.cc",
35        "proxy_host.cc",
36        "rfcomm_channel.cc",
37        "rfcomm_fcs.cc",
38    ],
39    hdrs = [
40        "public/pw_bluetooth_proxy/basic_l2cap_channel.h",
41        "public/pw_bluetooth_proxy/gatt_notify_channel.h",
42        "public/pw_bluetooth_proxy/h4_packet.h",
43        "public/pw_bluetooth_proxy/internal/acl_data_channel.h",
44        "public/pw_bluetooth_proxy/internal/gatt_notify_channel_internal.h",
45        "public/pw_bluetooth_proxy/internal/h4_storage.h",
46        "public/pw_bluetooth_proxy/internal/hci_transport.h",
47        "public/pw_bluetooth_proxy/internal/l2cap_aclu_signaling_channel.h",
48        "public/pw_bluetooth_proxy/internal/l2cap_channel_manager.h",
49        "public/pw_bluetooth_proxy/internal/l2cap_coc_internal.h",
50        "public/pw_bluetooth_proxy/internal/l2cap_leu_signaling_channel.h",
51        "public/pw_bluetooth_proxy/internal/l2cap_read_channel.h",
52        "public/pw_bluetooth_proxy/internal/l2cap_signaling_channel.h",
53        "public/pw_bluetooth_proxy/internal/l2cap_write_channel.h",
54        "public/pw_bluetooth_proxy/internal/logical_transport.h",
55        "public/pw_bluetooth_proxy/internal/rfcomm_fcs.h",
56        "public/pw_bluetooth_proxy/l2cap_coc.h",
57        "public/pw_bluetooth_proxy/proxy_host.h",
58        "public/pw_bluetooth_proxy/rfcomm_channel.h",
59    ],
60    strip_include_prefix = "public",
61    deps = [
62        "//pw_bluetooth:emboss_att",
63        "//pw_bluetooth:emboss_hci_common",
64        "//pw_bluetooth:emboss_hci_data",
65        "//pw_bluetooth:emboss_hci_events",
66        "//pw_bluetooth:emboss_hci_h4",
67        "//pw_bluetooth:emboss_l2cap_frames",
68        "//pw_bluetooth:emboss_rfcomm_frames",
69        "//pw_bluetooth:emboss_util",
70        "//pw_containers",
71        "//pw_function",
72        "//pw_log",
73        "//pw_result",
74        "//pw_span",
75        "//pw_status",
76        "//pw_sync:lock_annotations",
77        "//pw_sync:mutex",
78    ],
79)
80
81pw_cc_test(
82    name = "pw_bluetooth_proxy_test",
83    srcs = [
84        "h4_packet_test.cc",
85        "proxy_host_test.cc",
86        "rfcomm_fcs_test.cc",
87    ],
88    deps = [
89        ":pw_bluetooth_proxy",
90        "//pw_bluetooth:emboss_att",
91        "//pw_bluetooth:emboss_hci_commands",
92        "//pw_bluetooth:emboss_hci_common",
93        "//pw_bluetooth:emboss_hci_events",
94        "//pw_bluetooth:emboss_hci_h4",
95        "//pw_bluetooth:emboss_util",
96    ],
97)
98
99filegroup(
100    name = "doxygen",
101    srcs = [
102        "public/pw_bluetooth_proxy/h4_packet.h",
103        "public/pw_bluetooth_proxy/proxy_host.h",
104    ],
105)
106