1# Copyright 2023 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 15import("//build_overrides/pigweed.gni") 16import("$dir_pw_bluetooth_sapphire/sapphire.gni") 17import("$dir_pw_build/module_config.gni") 18import("$dir_pw_build/target_types.gni") 19import("$dir_pw_docgen/docs.gni") 20import("$dir_pw_unit_test/test.gni") 21 22config("public_include_path") { 23 include_dirs = [ "public" ] 24} 25 26pw_source_set("config") { 27 public = [ "public/pw_bluetooth_sapphire/config.h" ] 28 public_configs = [ ":public_include_path" ] 29 public_deps = [ pw_bluetooth_sapphire_CONFIG ] 30} 31 32group("host") { 33 public_deps = [ "host" ] 34 public_configs = [ ":public_include_path" ] 35} 36 37pw_source_set("peripheral") { 38 public = [ "public/pw_bluetooth_sapphire/peripheral.h" ] 39 sources = [ "peripheral.cc" ] 40 public_deps = [ 41 "$dir_pw_bluetooth:pw_bluetooth2", 42 "$dir_pw_sync:mutex", 43 "host/gap", 44 ] 45 public_configs = [ ":public_include_path" ] 46} 47 48pw_test("peripheral_test") { 49 enable_if = pw_bluetooth_sapphire_ENABLED 50 sources = [ "peripheral_test.cc" ] 51 deps = [ 52 ":peripheral", 53 "$dir_pw_async:fake_dispatcher", 54 "$dir_pw_async2:pend_func_task", 55 "host/gap:testing", 56 ] 57} 58 59pw_test_group("tests") { 60 tests = [ ":peripheral_test" ] 61 group_deps = [ 62 "host:tests", 63 "lib:tests", 64 ] 65} 66 67pw_test_group("fuzzers") { 68 group_deps = [ "host:fuzzers" ] 69} 70 71pw_doc_group("docs") { 72 sources = [ 73 "docs.rst", 74 "fuchsia.rst", 75 "host/att/docs.rst", 76 "host/gap/docs.rst", 77 "host/l2cap/docs.rst", 78 "reference.rst", 79 "size_report.rst", 80 ] 81 report_deps = [ "size_report:host_size_diff" ] 82} 83 84# Satisfies source_is_in_gn_build lint, which doesn't know about the BUILD.gn 85# files in nested directories. 86pw_source_set("_public") { 87 public = [ 88 "public/pw_bluetooth_sapphire/internal/host/att/att.h", 89 "public/pw_bluetooth_sapphire/internal/host/att/attribute.h", 90 "public/pw_bluetooth_sapphire/internal/host/att/bearer.h", 91 "public/pw_bluetooth_sapphire/internal/host/att/database.h", 92 "public/pw_bluetooth_sapphire/internal/host/att/error.h", 93 "public/pw_bluetooth_sapphire/internal/host/att/packet.h", 94 "public/pw_bluetooth_sapphire/internal/host/att/permissions.h", 95 "public/pw_bluetooth_sapphire/internal/host/att/write_queue.h", 96 "public/pw_bluetooth_sapphire/internal/host/common/advertising_data.h", 97 "public/pw_bluetooth_sapphire/internal/host/common/assert.h", 98 "public/pw_bluetooth_sapphire/internal/host/common/bounded_inspect_list_node.h", 99 "public/pw_bluetooth_sapphire/internal/host/common/byte_buffer.h", 100 "public/pw_bluetooth_sapphire/internal/host/common/device_address.h", 101 "public/pw_bluetooth_sapphire/internal/host/common/device_class.h", 102 "public/pw_bluetooth_sapphire/internal/host/common/error.h", 103 "public/pw_bluetooth_sapphire/internal/host/common/expiring_set.h", 104 "public/pw_bluetooth_sapphire/internal/host/common/fake_inspect.h", 105 "public/pw_bluetooth_sapphire/internal/host/common/host_error.h", 106 "public/pw_bluetooth_sapphire/internal/host/common/identifier.h", 107 "public/pw_bluetooth_sapphire/internal/host/common/inspect.h", 108 "public/pw_bluetooth_sapphire/internal/host/common/inspectable.h", 109 "public/pw_bluetooth_sapphire/internal/host/common/log.h", 110 "public/pw_bluetooth_sapphire/internal/host/common/macros.h", 111 "public/pw_bluetooth_sapphire/internal/host/common/manufacturer_names.h", 112 "public/pw_bluetooth_sapphire/internal/host/common/metrics.h", 113 "public/pw_bluetooth_sapphire/internal/host/common/packet_view.h", 114 "public/pw_bluetooth_sapphire/internal/host/common/pipeline_monitor.h", 115 "public/pw_bluetooth_sapphire/internal/host/common/random.h", 116 "public/pw_bluetooth_sapphire/internal/host/common/retire_log.h", 117 "public/pw_bluetooth_sapphire/internal/host/common/slab_allocator.h", 118 "public/pw_bluetooth_sapphire/internal/host/common/slab_buffer.h", 119 "public/pw_bluetooth_sapphire/internal/host/common/smart_task.h", 120 "public/pw_bluetooth_sapphire/internal/host/common/supplement_data.h", 121 "public/pw_bluetooth_sapphire/internal/host/common/to_string.h", 122 "public/pw_bluetooth_sapphire/internal/host/common/trace.h", 123 "public/pw_bluetooth_sapphire/internal/host/common/uint128.h", 124 "public/pw_bluetooth_sapphire/internal/host/common/uint256.h", 125 "public/pw_bluetooth_sapphire/internal/host/common/uuid.h", 126 "public/pw_bluetooth_sapphire/internal/host/common/weak_self.h", 127 "public/pw_bluetooth_sapphire/internal/host/common/windowed_inspect_numeric_property.h", 128 "public/pw_bluetooth_sapphire/internal/host/gap/adapter.h", 129 "public/pw_bluetooth_sapphire/internal/host/gap/adapter_state.h", 130 "public/pw_bluetooth_sapphire/internal/host/gap/bonding_data.h", 131 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_connection.h", 132 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_connection_manager.h", 133 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_connection_request.h", 134 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_discovery_manager.h", 135 "public/pw_bluetooth_sapphire/internal/host/gap/bredr_interrogator.h", 136 "public/pw_bluetooth_sapphire/internal/host/gap/discovery_filter.h", 137 "public/pw_bluetooth_sapphire/internal/host/gap/event_masks.h", 138 "public/pw_bluetooth_sapphire/internal/host/gap/fake_adapter.h", 139 "public/pw_bluetooth_sapphire/internal/host/gap/fake_pairing_delegate.h", 140 "public/pw_bluetooth_sapphire/internal/host/gap/gap.h", 141 "public/pw_bluetooth_sapphire/internal/host/gap/generic_access_client.h", 142 "public/pw_bluetooth_sapphire/internal/host/gap/identity_resolving_list.h", 143 "public/pw_bluetooth_sapphire/internal/host/gap/legacy_pairing_state.h", 144 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_address_manager.h", 145 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_advertising_manager.h", 146 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connection.h", 147 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connection_handle.h", 148 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connection_manager.h", 149 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connection_request.h", 150 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_connector.h", 151 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_discovery_manager.h", 152 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_interrogator.h", 153 "public/pw_bluetooth_sapphire/internal/host/gap/low_energy_state.h", 154 "public/pw_bluetooth_sapphire/internal/host/gap/pairing_delegate.h", 155 "public/pw_bluetooth_sapphire/internal/host/gap/pairing_state_manager.h", 156 "public/pw_bluetooth_sapphire/internal/host/gap/peer.h", 157 "public/pw_bluetooth_sapphire/internal/host/gap/peer_cache.h", 158 "public/pw_bluetooth_sapphire/internal/host/gap/peer_metrics.h", 159 "public/pw_bluetooth_sapphire/internal/host/gap/secure_simple_pairing_state.h", 160 "public/pw_bluetooth_sapphire/internal/host/gap/types.h", 161 "public/pw_bluetooth_sapphire/internal/host/gatt/client.h", 162 "public/pw_bluetooth_sapphire/internal/host/gatt/connection.h", 163 "public/pw_bluetooth_sapphire/internal/host/gatt/fake_client.h", 164 "public/pw_bluetooth_sapphire/internal/host/gatt/fake_layer.h", 165 "public/pw_bluetooth_sapphire/internal/host/gatt/gatt.h", 166 "public/pw_bluetooth_sapphire/internal/host/gatt/gatt_defs.h", 167 "public/pw_bluetooth_sapphire/internal/host/gatt/generic_attribute_service.h", 168 "public/pw_bluetooth_sapphire/internal/host/gatt/local_service_manager.h", 169 "public/pw_bluetooth_sapphire/internal/host/gatt/mock_server.h", 170 "public/pw_bluetooth_sapphire/internal/host/gatt/persisted_data.h", 171 "public/pw_bluetooth_sapphire/internal/host/gatt/remote_characteristic.h", 172 "public/pw_bluetooth_sapphire/internal/host/gatt/remote_service.h", 173 "public/pw_bluetooth_sapphire/internal/host/gatt/remote_service_manager.h", 174 "public/pw_bluetooth_sapphire/internal/host/gatt/server.h", 175 "public/pw_bluetooth_sapphire/internal/host/gatt/types.h", 176 "public/pw_bluetooth_sapphire/internal/host/hci-spec/constants.h", 177 "public/pw_bluetooth_sapphire/internal/host/hci-spec/defaults.h", 178 "public/pw_bluetooth_sapphire/internal/host/hci-spec/le_connection_parameters.h", 179 "public/pw_bluetooth_sapphire/internal/host/hci-spec/link_key.h", 180 "public/pw_bluetooth_sapphire/internal/host/hci-spec/lmp_feature_set.h", 181 "public/pw_bluetooth_sapphire/internal/host/hci-spec/protocol.h", 182 "public/pw_bluetooth_sapphire/internal/host/hci-spec/util.h", 183 "public/pw_bluetooth_sapphire/internal/host/hci-spec/vendor_protocol.h", 184 "public/pw_bluetooth_sapphire/internal/host/hci/acl_connection.h", 185 "public/pw_bluetooth_sapphire/internal/host/hci/advertising_handle_map.h", 186 "public/pw_bluetooth_sapphire/internal/host/hci/advertising_report_parser.h", 187 "public/pw_bluetooth_sapphire/internal/host/hci/bredr_connection.h", 188 "public/pw_bluetooth_sapphire/internal/host/hci/bredr_connection_request.h", 189 "public/pw_bluetooth_sapphire/internal/host/hci/command_handler.h", 190 "public/pw_bluetooth_sapphire/internal/host/hci/connection.h", 191 "public/pw_bluetooth_sapphire/internal/host/hci/extended_low_energy_advertiser.h", 192 "public/pw_bluetooth_sapphire/internal/host/hci/extended_low_energy_scanner.h", 193 "public/pw_bluetooth_sapphire/internal/host/hci/fake_bredr_connection.h", 194 "public/pw_bluetooth_sapphire/internal/host/hci/fake_local_address_delegate.h", 195 "public/pw_bluetooth_sapphire/internal/host/hci/fake_low_energy_connection.h", 196 "public/pw_bluetooth_sapphire/internal/host/hci/fake_sco_connection.h", 197 "public/pw_bluetooth_sapphire/internal/host/hci/legacy_low_energy_advertiser.h", 198 "public/pw_bluetooth_sapphire/internal/host/hci/legacy_low_energy_scanner.h", 199 "public/pw_bluetooth_sapphire/internal/host/hci/local_address_delegate.h", 200 "public/pw_bluetooth_sapphire/internal/host/hci/low_energy_advertiser.h", 201 "public/pw_bluetooth_sapphire/internal/host/hci/low_energy_connection.h", 202 "public/pw_bluetooth_sapphire/internal/host/hci/low_energy_connector.h", 203 "public/pw_bluetooth_sapphire/internal/host/hci/low_energy_scanner.h", 204 "public/pw_bluetooth_sapphire/internal/host/hci/sco_connection.h", 205 "public/pw_bluetooth_sapphire/internal/host/hci/sequential_command_runner.h", 206 "public/pw_bluetooth_sapphire/internal/host/hci/util.h", 207 "public/pw_bluetooth_sapphire/internal/host/iso/fake_iso_stream.h", 208 "public/pw_bluetooth_sapphire/internal/host/iso/iso_common.h", 209 "public/pw_bluetooth_sapphire/internal/host/iso/iso_inbound_packet_assembler.h", 210 "public/pw_bluetooth_sapphire/internal/host/iso/iso_stream.h", 211 "public/pw_bluetooth_sapphire/internal/host/iso/iso_stream_manager.h", 212 "public/pw_bluetooth_sapphire/internal/host/l2cap/a2dp_offload_manager.h", 213 "public/pw_bluetooth_sapphire/internal/host/l2cap/basic_mode_rx_engine.h", 214 "public/pw_bluetooth_sapphire/internal/host/l2cap/basic_mode_tx_engine.h", 215 "public/pw_bluetooth_sapphire/internal/host/l2cap/bredr_command_handler.h", 216 "public/pw_bluetooth_sapphire/internal/host/l2cap/bredr_dynamic_channel.h", 217 "public/pw_bluetooth_sapphire/internal/host/l2cap/bredr_signaling_channel.h", 218 "public/pw_bluetooth_sapphire/internal/host/l2cap/channel.h", 219 "public/pw_bluetooth_sapphire/internal/host/l2cap/channel_configuration.h", 220 "public/pw_bluetooth_sapphire/internal/host/l2cap/channel_manager.h", 221 "public/pw_bluetooth_sapphire/internal/host/l2cap/channel_manager_mock_controller_test_fixture.h", 222 "public/pw_bluetooth_sapphire/internal/host/l2cap/command_handler.h", 223 "public/pw_bluetooth_sapphire/internal/host/l2cap/credit_based_flow_control_rx_engine.h", 224 "public/pw_bluetooth_sapphire/internal/host/l2cap/credit_based_flow_control_tx_engine.h", 225 "public/pw_bluetooth_sapphire/internal/host/l2cap/dynamic_channel.h", 226 "public/pw_bluetooth_sapphire/internal/host/l2cap/dynamic_channel_registry.h", 227 "public/pw_bluetooth_sapphire/internal/host/l2cap/enhanced_retransmission_mode_engines.h", 228 "public/pw_bluetooth_sapphire/internal/host/l2cap/enhanced_retransmission_mode_rx_engine.h", 229 "public/pw_bluetooth_sapphire/internal/host/l2cap/enhanced_retransmission_mode_tx_engine.h", 230 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_channel.h", 231 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_channel_test.h", 232 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_l2cap.h", 233 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_signaling_channel.h", 234 "public/pw_bluetooth_sapphire/internal/host/l2cap/fake_tx_channel.h", 235 "public/pw_bluetooth_sapphire/internal/host/l2cap/fcs.h", 236 "public/pw_bluetooth_sapphire/internal/host/l2cap/fragmenter.h", 237 "public/pw_bluetooth_sapphire/internal/host/l2cap/frame_headers.h", 238 "public/pw_bluetooth_sapphire/internal/host/l2cap/l2cap_defs.h", 239 "public/pw_bluetooth_sapphire/internal/host/l2cap/le_dynamic_channel.h", 240 "public/pw_bluetooth_sapphire/internal/host/l2cap/le_signaling_channel.h", 241 "public/pw_bluetooth_sapphire/internal/host/l2cap/logical_link.h", 242 "public/pw_bluetooth_sapphire/internal/host/l2cap/low_energy_command_handler.h", 243 "public/pw_bluetooth_sapphire/internal/host/l2cap/mock_channel_test.h", 244 "public/pw_bluetooth_sapphire/internal/host/l2cap/pdu.h", 245 "public/pw_bluetooth_sapphire/internal/host/l2cap/recombiner.h", 246 "public/pw_bluetooth_sapphire/internal/host/l2cap/rx_engine.h", 247 "public/pw_bluetooth_sapphire/internal/host/l2cap/scoped_channel.h", 248 "public/pw_bluetooth_sapphire/internal/host/l2cap/signaling_channel.h", 249 "public/pw_bluetooth_sapphire/internal/host/l2cap/test_packets.h", 250 "public/pw_bluetooth_sapphire/internal/host/l2cap/tx_engine.h", 251 "public/pw_bluetooth_sapphire/internal/host/l2cap/types.h", 252 "public/pw_bluetooth_sapphire/internal/host/sco/sco.h", 253 "public/pw_bluetooth_sapphire/internal/host/sco/sco_connection.h", 254 "public/pw_bluetooth_sapphire/internal/host/sco/sco_connection_manager.h", 255 "public/pw_bluetooth_sapphire/internal/host/sdp/client.h", 256 "public/pw_bluetooth_sapphire/internal/host/sdp/data_element.h", 257 "public/pw_bluetooth_sapphire/internal/host/sdp/error.h", 258 "public/pw_bluetooth_sapphire/internal/host/sdp/pdu.h", 259 "public/pw_bluetooth_sapphire/internal/host/sdp/sdp.h", 260 "public/pw_bluetooth_sapphire/internal/host/sdp/server.h", 261 "public/pw_bluetooth_sapphire/internal/host/sdp/service_discoverer.h", 262 "public/pw_bluetooth_sapphire/internal/host/sdp/service_record.h", 263 "public/pw_bluetooth_sapphire/internal/host/sm/delegate.h", 264 "public/pw_bluetooth_sapphire/internal/host/sm/ecdh_key.h", 265 "public/pw_bluetooth_sapphire/internal/host/sm/error.h", 266 "public/pw_bluetooth_sapphire/internal/host/sm/fake_phase_listener.h", 267 "public/pw_bluetooth_sapphire/internal/host/sm/packet.h", 268 "public/pw_bluetooth_sapphire/internal/host/sm/pairing_channel.h", 269 "public/pw_bluetooth_sapphire/internal/host/sm/pairing_phase.h", 270 "public/pw_bluetooth_sapphire/internal/host/sm/phase_1.h", 271 "public/pw_bluetooth_sapphire/internal/host/sm/phase_2_legacy.h", 272 "public/pw_bluetooth_sapphire/internal/host/sm/phase_2_secure_connections.h", 273 "public/pw_bluetooth_sapphire/internal/host/sm/phase_3.h", 274 "public/pw_bluetooth_sapphire/internal/host/sm/sc_stage_1.h", 275 "public/pw_bluetooth_sapphire/internal/host/sm/sc_stage_1_just_works_numeric_comparison.h", 276 "public/pw_bluetooth_sapphire/internal/host/sm/sc_stage_1_passkey.h", 277 "public/pw_bluetooth_sapphire/internal/host/sm/security_manager.h", 278 "public/pw_bluetooth_sapphire/internal/host/sm/security_request_phase.h", 279 "public/pw_bluetooth_sapphire/internal/host/sm/smp.h", 280 "public/pw_bluetooth_sapphire/internal/host/sm/test_security_manager.h", 281 "public/pw_bluetooth_sapphire/internal/host/sm/types.h", 282 "public/pw_bluetooth_sapphire/internal/host/sm/util.h", 283 "public/pw_bluetooth_sapphire/internal/host/testing/controller_test.h", 284 "public/pw_bluetooth_sapphire/internal/host/testing/controller_test_double_base.h", 285 "public/pw_bluetooth_sapphire/internal/host/testing/fake_controller.h", 286 "public/pw_bluetooth_sapphire/internal/host/testing/fake_dynamic_channel.h", 287 "public/pw_bluetooth_sapphire/internal/host/testing/fake_gatt_server.h", 288 "public/pw_bluetooth_sapphire/internal/host/testing/fake_l2cap.h", 289 "public/pw_bluetooth_sapphire/internal/host/testing/fake_peer.h", 290 "public/pw_bluetooth_sapphire/internal/host/testing/fake_sdp_server.h", 291 "public/pw_bluetooth_sapphire/internal/host/testing/fake_signaling_server.h", 292 "public/pw_bluetooth_sapphire/internal/host/testing/inspect.h", 293 "public/pw_bluetooth_sapphire/internal/host/testing/inspect_util.h", 294 "public/pw_bluetooth_sapphire/internal/host/testing/loop_fixture.h", 295 "public/pw_bluetooth_sapphire/internal/host/testing/mock_controller.h", 296 "public/pw_bluetooth_sapphire/internal/host/testing/parse_args.h", 297 "public/pw_bluetooth_sapphire/internal/host/testing/peer_fuzzer.h", 298 "public/pw_bluetooth_sapphire/internal/host/testing/test_helpers.h", 299 "public/pw_bluetooth_sapphire/internal/host/testing/test_packets.h", 300 "public/pw_bluetooth_sapphire/internal/host/transport/acl_data_channel.h", 301 "public/pw_bluetooth_sapphire/internal/host/transport/acl_data_packet.h", 302 "public/pw_bluetooth_sapphire/internal/host/transport/command_channel.h", 303 "public/pw_bluetooth_sapphire/internal/host/transport/control_packets.h", 304 "public/pw_bluetooth_sapphire/internal/host/transport/data_buffer_info.h", 305 "public/pw_bluetooth_sapphire/internal/host/transport/emboss_packet.h", 306 "public/pw_bluetooth_sapphire/internal/host/transport/error.h", 307 "public/pw_bluetooth_sapphire/internal/host/transport/fake_acl_connection.h", 308 "public/pw_bluetooth_sapphire/internal/host/transport/fake_sco_data_channel.h", 309 "public/pw_bluetooth_sapphire/internal/host/transport/iso_data_channel.h", 310 "public/pw_bluetooth_sapphire/internal/host/transport/link_type.h", 311 "public/pw_bluetooth_sapphire/internal/host/transport/mock_acl_data_channel.h", 312 "public/pw_bluetooth_sapphire/internal/host/transport/packet.h", 313 "public/pw_bluetooth_sapphire/internal/host/transport/sco_data_channel.h", 314 "public/pw_bluetooth_sapphire/internal/host/transport/sco_data_packet.h", 315 "public/pw_bluetooth_sapphire/internal/host/transport/slab_allocators.h", 316 "public/pw_bluetooth_sapphire/internal/host/transport/transport.h", 317 ] 318} 319