blob: 83f92d34872c3521aeba3c8bd7c571df6eaa3546 [file] [log] [blame]
#
# 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",
]
}
}