You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

222 lines
5.7 KiB

package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "system_bt_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["system_bt_license"],
}
subdirs = [
"common",
]
cc_defaults {
name: "fluoride_service_defaults",
defaults: ["fluoride_defaults"],
include_dirs: [
"system/bt",
],
header_libs: ["libbluetooth_headers"],
}
// Source variables
// ========================================================
btserviceDaemonSrc = [
"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_scanner.cc",
"low_energy_client.cc",
"settings.cc",
]
btserviceLinuxSrc = [
"ipc/ipc_handler_linux.cc",
"ipc/linux_ipc_host.cc",
]
btserviceBinderDaemonSrc = [
"ipc/binder/bluetooth_a2dp_sink_binder_server.cc",
"ipc/binder/bluetooth_a2dp_source_binder_server.cc",
"ipc/binder/bluetooth_avrcp_control_binder_server.cc",
"ipc/binder/bluetooth_avrcp_target_binder_server.cc",
"ipc/binder/bluetooth_binder_server.cc",
"ipc/binder/bluetooth_gatt_client_binder_server.cc",
"ipc/binder/bluetooth_gatt_server_binder_server.cc",
"ipc/binder/bluetooth_le_advertiser_binder_server.cc",
"ipc/binder/bluetooth_le_scanner_binder_server.cc",
"ipc/binder/bluetooth_low_energy_binder_server.cc",
"ipc/binder/interface_with_instances_base.cc",
"ipc/binder/ipc_handler_binder.cc",
]
// Main unit test sources. These get built for host and target.
// ========================================================
btserviceBaseTestSrc = [
"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",
]
// Native system service for target
// ========================================================
cc_binary {
name: "bluetoothtbd",
defaults: ["fluoride_service_defaults"],
srcs: btserviceBinderDaemonSrc +
btserviceLinuxSrc +
btserviceDaemonSrc +
["main.cc"],
static_libs: [
"libbluetooth-binder-common",
"libbtcore",
"libbluetooth-types",
"libosi",
],
shared_libs: [
"libchrome",
"libbinder",
"libcutils",
"liblog",
"libutils",
],
init_rc: ["bluetoothtbd.rc"],
}
// Native system service unit tests for target and host
// ========================================================
cc_test {
name: "bluetoothtbd_test",
test_suites: ["device-tests"],
defaults: ["fluoride_service_defaults"],
srcs: btserviceBaseTestSrc +
btserviceDaemonSrc + [
"test/main.cc",
],
aidl: {
include_dirs: [
"system/bt/service/common",
"frameworks/native/aidl/binder",
],
},
static_libs: [
"libbluetooth-common",
"libgmock",
"liblog",
"libbluetooth-types",
"libutils",
],
shared_libs: [
"libchrome",
],
host_supported: true,
test_options: {
unit_test: true,
},
target: {
// This includes Binder related tests that can only be run
// on target.
android: {
srcs: btserviceBinderDaemonSrc + [
"test/parcelable_unittest.cc",
"test/ParcelableTest.aidl",
],
static_libs: [
"libbluetooth-binder-common",
],
shared_libs: [
"libbinder",
],
},
host: {
srcs: [
"test/stub_ipc_handler_binder.cc",
],
},
linux_glibc: {
srcs: btserviceLinuxSrc + [
// TODO(bcf): Fix this test.
//"test/ipc_linux_unittest.cc",
],
},
},
sanitize: {
cfi: false,
},
}
// Native system service CLI for target
// ========================================================
cc_binary {
name: "bluetooth-cli",
defaults: ["fluoride_defaults"],
srcs: ["client/main.cc"],
static_libs: [
"libbluetooth-binder-common",
],
shared_libs: [
"libbinder",
"libutils",
],
}
// Heart Rate GATT service example for target
// ========================================================
cc_binary {
name: "bt-example-hr-server",
defaults: ["fluoride_defaults"],
local_include_dirs: ["example/heart_rate"],
srcs: [
"example/heart_rate/heart_rate_server.cc",
"example/heart_rate/server_main.cc",
],
static_libs: [
"libbluetooth-binder-common",
],
shared_libs: [
"libbinder",
"libutils",
],
}
cc_library_static {
name: "libbluetoothtbd_hal",
defaults: ["fluoride_defaults"],
include_dirs: ["system/bt"],
header_libs: ["libbluetooth_headers"],
srcs: [
"hal/bluetooth_gatt_interface.cc",
"hal/bluetooth_interface.cc",
"logging_helpers.cc",
],
}