blob: 2760b5bcc912806a8dd0434ecc58fc3088683c84 [file] [log] [blame]
Jakub Pawlowski5f885332017-06-24 15:25:07 -07001subdirs = [
2 "common",
3]
4
Jack Hee2eeff42016-12-07 18:25:17 -08005cc_defaults {
6 name: "fluoride_service_defaults",
7 defaults: ["fluoride_defaults"],
Jack Hee2eeff42016-12-07 18:25:17 -08008 include_dirs: [
Jakub Pawlowski5f885332017-06-24 15:25:07 -07009 "system/bt",
Jack Hee2eeff42016-12-07 18:25:17 -080010 ],
Colin Cross62084352019-05-23 14:12:59 -070011 header_libs: ["libbluetooth_headers"],
Jack Hee2eeff42016-12-07 18:25:17 -080012}
13
14// Source variables
15// ========================================================
Jack Hee2eeff42016-12-07 18:25:17 -080016btserviceDaemonSrc = [
Bailey Forrest62aa15f2017-01-30 17:38:58 -080017 "a2dp_sink.cc",
Bailey Forrest780e29c2018-08-21 17:20:29 -070018 "a2dp_source.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080019 "adapter.cc",
Bailey Forrest62aa15f2017-01-30 17:38:58 -080020 "avrcp_control.cc",
Bailey Forrest780e29c2018-08-21 17:20:29 -070021 "avrcp_target.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080022 "daemon.cc",
23 "gatt_client.cc",
24 "gatt_server.cc",
25 "gatt_server_old.cc",
Bailey Forrest62aa15f2017-01-30 17:38:58 -080026 "hal/bluetooth_av_interface.cc",
27 "hal/bluetooth_avrcp_interface.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080028 "hal/bluetooth_gatt_interface.cc",
29 "hal/bluetooth_interface.cc",
30 "ipc/ipc_handler.cc",
31 "ipc/ipc_manager.cc",
32 "logging_helpers.cc",
33 "low_energy_advertiser.cc",
34 "low_energy_scanner.cc",
35 "low_energy_client.cc",
36 "settings.cc",
37]
38
39btserviceLinuxSrc = [
40 "ipc/ipc_handler_linux.cc",
41 "ipc/linux_ipc_host.cc",
42]
43
Jakub Pawlowski5f885332017-06-24 15:25:07 -070044btserviceBinderDaemonSrc = [
Bailey Forrest62aa15f2017-01-30 17:38:58 -080045 "ipc/binder/bluetooth_a2dp_sink_binder_server.cc",
Bailey Forrest780e29c2018-08-21 17:20:29 -070046 "ipc/binder/bluetooth_a2dp_source_binder_server.cc",
Bailey Forrest62aa15f2017-01-30 17:38:58 -080047 "ipc/binder/bluetooth_avrcp_control_binder_server.cc",
Bailey Forrest780e29c2018-08-21 17:20:29 -070048 "ipc/binder/bluetooth_avrcp_target_binder_server.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080049 "ipc/binder/bluetooth_binder_server.cc",
50 "ipc/binder/bluetooth_gatt_client_binder_server.cc",
51 "ipc/binder/bluetooth_gatt_server_binder_server.cc",
52 "ipc/binder/bluetooth_le_advertiser_binder_server.cc",
53 "ipc/binder/bluetooth_le_scanner_binder_server.cc",
54 "ipc/binder/bluetooth_low_energy_binder_server.cc",
55 "ipc/binder/interface_with_instances_base.cc",
56 "ipc/binder/ipc_handler_binder.cc",
57]
58
Jack Hee2eeff42016-12-07 18:25:17 -080059// Main unit test sources. These get built for host and target.
60// ========================================================
61btserviceBaseTestSrc = [
Bailey Forrest62aa15f2017-01-30 17:38:58 -080062 "hal/fake_bluetooth_av_interface.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080063 "hal/fake_bluetooth_gatt_interface.cc",
64 "hal/fake_bluetooth_interface.cc",
Bailey Forrest62aa15f2017-01-30 17:38:58 -080065 "test/a2dp_sink_unittest.cc",
Cheney Ni1c682f82020-05-05 15:17:29 +080066 "test/a2dp_source_unittest.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080067 "test/adapter_unittest.cc",
68 "test/advertise_data_unittest.cc",
69 "test/fake_hal_util.cc",
70 "test/gatt_client_unittest.cc",
71 "test/gatt_server_unittest.cc",
72 "test/low_energy_advertiser_unittest.cc",
73 "test/low_energy_client_unittest.cc",
74 "test/low_energy_scanner_unittest.cc",
75 "test/settings_unittest.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080076]
77
78// Native system service for target
79// ========================================================
80cc_binary {
81 name: "bluetoothtbd",
82 defaults: ["fluoride_service_defaults"],
Jakub Pawlowski5f885332017-06-24 15:25:07 -070083 srcs: btserviceBinderDaemonSrc +
Colin Cross62084352019-05-23 14:12:59 -070084 btserviceLinuxSrc +
85 btserviceDaemonSrc +
86 ["main.cc"],
Jakub Pawlowski5f885332017-06-24 15:25:07 -070087 static_libs: [
88 "libbluetooth-binder-common",
89 "libbtcore",
Jakub Pawlowski819e2ec2017-07-10 09:56:09 -070090 "libbluetooth-types",
Myles Watson158fe8e2018-02-16 13:11:04 -080091 "libosi",
Jakub Pawlowski5f885332017-06-24 15:25:07 -070092 ],
Jakub Pawlowski8c273b32017-09-20 13:52:11 -070093
Jack Hee2eeff42016-12-07 18:25:17 -080094 shared_libs: [
Jakub Pawlowski67f5f372018-07-23 10:00:25 -070095 "libchrome",
Jack Hee2eeff42016-12-07 18:25:17 -080096 "libbinder",
97 "libcutils",
Jack Hee2eeff42016-12-07 18:25:17 -080098 "liblog",
99 "libutils",
100 ],
101 init_rc: ["bluetoothtbd.rc"],
102}
103
104// Native system service unit tests for target and host
105
106// ========================================================
107cc_test {
108 name: "bluetoothtbd_test",
Dan Shi4672aca2017-03-31 17:13:12 -0700109 test_suites: ["device-tests"],
Jack Hee2eeff42016-12-07 18:25:17 -0800110 defaults: ["fluoride_service_defaults"],
Jakub Pawlowski5f885332017-06-24 15:25:07 -0700111 srcs: btserviceBaseTestSrc +
Colin Cross62084352019-05-23 14:12:59 -0700112 btserviceDaemonSrc + [
113 "test/main.cc",
114 ],
Jack Hee2eeff42016-12-07 18:25:17 -0800115 aidl: {
Jakub Pawlowski5f885332017-06-24 15:25:07 -0700116 include_dirs: [
117 "system/bt/service/common",
118 "frameworks/native/aidl/binder",
119 ],
Jack Hee2eeff42016-12-07 18:25:17 -0800120 },
121 static_libs: [
Jakub Pawlowski5f885332017-06-24 15:25:07 -0700122 "libbluetooth-common",
Jack Hee2eeff42016-12-07 18:25:17 -0800123 "libgmock",
124 "liblog",
Jakub Pawlowski819e2ec2017-07-10 09:56:09 -0700125 "libbluetooth-types",
Bailey Forrest62aa15f2017-01-30 17:38:58 -0800126 "libutils",
Jack Hee2eeff42016-12-07 18:25:17 -0800127 ],
Jakub Pawlowski67f5f372018-07-23 10:00:25 -0700128 shared_libs: [
129 "libchrome",
130 ],
131
Jack Hee2eeff42016-12-07 18:25:17 -0800132 host_supported: true,
133 target: {
134 // This includes Binder related tests that can only be run
135 // on target.
136 android: {
137 srcs: btserviceBinderDaemonSrc + [
138 "test/parcelable_unittest.cc",
139 "test/ParcelableTest.aidl",
140 ],
Jakub Pawlowski5f885332017-06-24 15:25:07 -0700141 static_libs: [
142 "libbluetooth-binder-common",
143 ],
Jack Hee2eeff42016-12-07 18:25:17 -0800144 shared_libs: [
145 "libbinder",
Jack Hee2eeff42016-12-07 18:25:17 -0800146 ],
147 },
148 host: {
149 srcs: [
150 "test/stub_ipc_handler_binder.cc",
151 ],
152 },
Dan Willemsenf6b17162017-10-02 10:41:11 -0700153 linux_glibc: {
Jack Hee2eeff42016-12-07 18:25:17 -0800154 srcs: btserviceLinuxSrc + [
Bailey Forrest042ac332017-03-01 11:49:14 -0800155 // TODO(bcf): Fix this test.
156 //"test/ipc_linux_unittest.cc",
Jack Hee2eeff42016-12-07 18:25:17 -0800157 ],
Jack Hee2eeff42016-12-07 18:25:17 -0800158 },
159 },
Pavlin Radoslavovee021ef2018-01-09 05:36:20 -0800160 sanitize: {
161 cfi: false,
162 },
Jack Hee2eeff42016-12-07 18:25:17 -0800163}
164
Jack Hee2eeff42016-12-07 18:25:17 -0800165// Native system service CLI for target
166// ========================================================
167cc_binary {
168 name: "bluetooth-cli",
169 defaults: ["fluoride_defaults"],
170 srcs: ["client/main.cc"],
Jakub Pawlowski5f885332017-06-24 15:25:07 -0700171 static_libs: [
172 "libbluetooth-binder-common",
173 ],
Jack Hee2eeff42016-12-07 18:25:17 -0800174 shared_libs: [
175 "libbinder",
176 "libutils",
177 ],
178}
179
180// Heart Rate GATT service example for target
181// ========================================================
182cc_binary {
183 name: "bt-example-hr-server",
184 defaults: ["fluoride_defaults"],
185 local_include_dirs: ["example/heart_rate"],
186 srcs: [
187 "example/heart_rate/heart_rate_server.cc",
188 "example/heart_rate/server_main.cc",
189 ],
Jakub Pawlowski5f885332017-06-24 15:25:07 -0700190 static_libs: [
191 "libbluetooth-binder-common",
192 ],
Jack Hee2eeff42016-12-07 18:25:17 -0800193 shared_libs: [
194 "libbinder",
195 "libutils",
196 ],
197}
198
199cc_library_static {
200 name: "libbluetoothtbd_hal",
201 defaults: ["fluoride_defaults"],
202 include_dirs: ["system/bt"],
Jakub Pawlowskie56fabc2017-10-19 00:26:09 -0700203 header_libs: ["libbluetooth_headers"],
Jakub Pawlowski5f885332017-06-24 15:25:07 -0700204 srcs: [
Jack Hee2eeff42016-12-07 18:25:17 -0800205 "hal/bluetooth_gatt_interface.cc",
206 "hal/bluetooth_interface.cc",
207 "logging_helpers.cc",
Jakub Pawlowski5f885332017-06-24 15:25:07 -0700208 ],
Jack Hee2eeff42016-12-07 18:25:17 -0800209}