# # Copyright 2015 Google # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # config("service_config") { include_dirs = [ "//bt/", "//bt/linux_include", "//bt/include", "//bt/service", "//bt/service/common", ] configs = [ "//bt:target_defaults" ] } source_set("service_daemon_src") { sources = [ "a2dp_sink.cc", "a2dp_source.cc", "adapter.cc", "avrcp_control.cc", "avrcp_target.cc", "daemon.cc", "gatt_client.cc", "gatt_server.cc", "gatt_server_old.cc", "hal/bluetooth_av_interface.cc", "hal/bluetooth_avrcp_interface.cc", "hal/bluetooth_gatt_interface.cc", "hal/bluetooth_interface.cc", "ipc/ipc_handler.cc", "ipc/ipc_manager.cc", "logging_helpers.cc", "low_energy_advertiser.cc", "low_energy_client.cc", "low_energy_scanner.cc", "settings.cc", ] deps = [ "//bt/gd/rust/shim:init_flags_bridge_header", "//bt/osi", "//bt/types", ] configs += [ ":service_config" ] } source_set("service_linux_src") { sources = [ "ipc/ipc_handler_linux.cc", "ipc/linux_ipc_host.cc", "ipc/dbus/ipc_handler_dbus.cc", "ipc/dbus/bluetooth_adapter.cc", ] deps = [ "//bt/gd/rust/shim:init_flags_bridge_header", "//bt/osi", "//bt/types", ] configs += [ ":service_config" ] } static_library("service") { sources = [ "common/bluetooth/a2dp_codec_config.cc", "common/bluetooth/adapter_state.cc", "common/bluetooth/advertise_data.cc", "common/bluetooth/advertise_settings.cc", "common/bluetooth/avrcp_int_value.cc", "common/bluetooth/avrcp_media_attr.cc", "common/bluetooth/avrcp_register_notification_response.cc", "common/bluetooth/characteristic.cc", "common/bluetooth/descriptor.cc", "common/bluetooth/remote_device_props.cc", "common/bluetooth/scan_filter.cc", "common/bluetooth/scan_result.cc", "common/bluetooth/scan_settings.cc", "common/bluetooth/service.cc", "common/bluetooth/util/atomic_string.cc", ] deps = [ ":service_daemon_src", ":service_linux_src", "//bt/gd/rust/shim:init_flags_bridge_header", "//bt/osi", "//bt/types", ] configs += [ ":service_config" ] } executable("bluetoothtbd") { sources = [ "main.cc" ] deps = [ ":service", "//bt/btcore", "//bt/main:bluetooth", ] configs += [ ":service_config" ] libs = [ "dl", "pthread", "rt", "bt_shim_ffi", "ssl", "crypto", ] lib_dirs = [ "${root_out_dir}/rust" ] } if (use.test) { source_set("service_base_test_src") { sources = [ "hal/fake_bluetooth_av_interface.cc", "hal/fake_bluetooth_gatt_interface.cc", "hal/fake_bluetooth_interface.cc", "test/a2dp_sink_unittest.cc", "test/a2dp_source_unittest.cc", "test/adapter_unittest.cc", "test/advertise_data_unittest.cc", "test/fake_hal_util.cc", "test/gatt_client_unittest.cc", "test/gatt_server_unittest.cc", "test/low_energy_advertiser_unittest.cc", "test/low_energy_client_unittest.cc", "test/low_energy_scanner_unittest.cc", "test/settings_unittest.cc", ] configs += [ ":service_config" ] } executable("bluetoothtbd_test") { sources = [ "test/main.cc" ] deps = [ ":service_base_test_src", ":service_daemon_src", ":service_linux_src", "//bt/service/common:libbluetooth_common", ] configs += [ "//bt:external_gmock_main", ":service_config", ] } }