| # Copyright 2018 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/fuchsia/rules.gni") |
| import("//build/driver_package.gni") |
| import("//build/fuzzing/fuzzer.gni") |
| |
| driver_module("driver") { |
| output_name = "bt-host" |
| |
| sources = [ "driver.cc" ] |
| |
| deps = [ ":sources" ] |
| |
| configs -= [ "//build/config/fuchsia:no_cpp_standard_library" ] |
| configs += [ "//build/config/fuchsia:static_cpp_standard_library" ] |
| } |
| |
| source_set("sources") { |
| sources = [ |
| "gatt_host.cc", |
| "gatt_host.h", |
| "gatt_remote_service_device.cc", |
| "gatt_remote_service_device.h", |
| "host.cc", |
| "host.h", |
| "host_device.cc", |
| "host_device.h", |
| |
| # FIDL servers |
| "fidl/gatt_client_server.cc", |
| "fidl/gatt_client_server.h", |
| "fidl/gatt_remote_service_server.cc", |
| "fidl/gatt_remote_service_server.h", |
| "fidl/gatt_server_server.cc", |
| "fidl/gatt_server_server.h", |
| "fidl/helpers.cc", |
| "fidl/helpers.h", |
| "fidl/host_server.cc", |
| "fidl/host_server.h", |
| "fidl/low_energy_central_server.cc", |
| "fidl/low_energy_central_server.h", |
| "fidl/low_energy_connection_server.cc", |
| "fidl/low_energy_connection_server.h", |
| "fidl/low_energy_peripheral_server.cc", |
| "fidl/low_energy_peripheral_server.h", |
| "fidl/profile_server.cc", |
| "fidl/profile_server.h", |
| "fidl/server_base.h", |
| ] |
| |
| deps = [ "//src/devices/lib/driver" ] |
| |
| public_deps = [ |
| ":stack", |
| "//sdk/banjo/ddk.protocol.bt.gattsvc", |
| "//sdk/fidl/fuchsia.bluetooth", |
| "//sdk/fidl/fuchsia.bluetooth.control", |
| "//sdk/fidl/fuchsia.bluetooth.gatt", |
| "//sdk/fidl/fuchsia.bluetooth.le", |
| "//sdk/fidl/fuchsia.hardware.bluetooth:fuchsia.hardware.bluetooth_c", |
| "//src/connectivity/bluetooth/fidl:host", |
| "//src/connectivity/bluetooth/lib/fidl", |
| "//src/lib/fxl", |
| "//zircon/public/lib/ddk", |
| "//zircon/public/lib/fbl", |
| "//zircon/public/lib/fit", |
| "//zircon/public/lib/trace-driver", |
| "//zircon/public/lib/zx", |
| ] |
| } |
| |
| group("stack") { |
| public_deps = [ |
| "att", |
| "cobalt:base", |
| "cobalt:real", |
| "common", |
| "data", |
| "gap", |
| "gatt", |
| "hci", |
| "l2cap", |
| "sdp", |
| "sm", |
| ] |
| } |
| |
| # TODO(armansito): Enable debug assertions by default from here for all package |
| # dependencies when there is a way for it. |
| driver_package("bt-host") { |
| deps = [ ":driver" ] |
| |
| drivers = [ |
| { |
| name = "bt-host.so" |
| }, |
| ] |
| } |
| |
| # Unit tests for driver code, not including the Bluetooth stack unit tests |
| # defined in subdirectories. |
| source_set("driver_tests") { |
| testonly = true |
| |
| sources = [ |
| "fidl/adapter_test_fixture.cc", |
| "fidl/adapter_test_fixture.h", |
| "fidl/gatt_remote_service_server_unittest.cc", |
| "fidl/helpers_unittest.cc", |
| "fidl/host_server_unittest.cc", |
| "fidl/low_energy_central_server_unittest.cc", |
| "fidl/low_energy_peripheral_server_unittest.cc", |
| "fidl/profile_server_unittest.cc", |
| "gatt_host_unittest.cc", |
| ] |
| |
| deps = [ |
| ":sources", |
| "data:testing", |
| "gap:testing", |
| "gatt:testing", |
| "testing:fake_controller", |
| "testing:testing", |
| "//third_party/googletest:gmock", |
| "//third_party/googletest:gtest", |
| ] |
| } |
| |
| executable("tests") { |
| testonly = true |
| |
| output_name = "bt-host-unittests" |
| |
| deps = [ |
| ":driver_tests", |
| "att:tests", |
| "cobalt:tests", |
| "common:tests", |
| "data:tests", |
| "gap:tests", |
| "gatt:tests", |
| "hci:tests", |
| "l2cap:tests", |
| "rfcomm:tests", |
| "sdp:tests", |
| "sm:tests", |
| "testing:gtest_main", |
| "//src/devices/lib/driver", |
| "//third_party/googletest:gtest", |
| ] |
| |
| # TODO(46537): Fix the leaks and remove this. |
| deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ] |
| } |
| |
| fuzzers_package("fuzzers") { |
| package_name = "bt-host-fuzzers" |
| fuzzers = [ |
| "l2cap:basic_mode_rx_engine_fuzzer", |
| "l2cap:enhanced_retransmission_mode_rx_engine_fuzzer", |
| ] |
| } |