blob: dd2412139a1e67a651ac1e0e19f465b32db5c86e [file] [log] [blame]
Jack Hee2eeff42016-12-07 18:25:17 -08001// Common variables
2// ========================================================
3btifCommonIncludes = [
4 "system/bt",
5 "system/bt/bta/include",
6 "system/bt/bta/sys",
7 "system/bt/bta/dm",
8 "system/bt/btcore/include",
Mudumba Ananth57f65082017-02-09 09:05:48 -08009 "system/bt/device/include",
Jakub Pawlowskiecace462017-10-17 16:40:41 -070010 "system/bt/internal_include",
Jack Hee2eeff42016-12-07 18:25:17 -080011 "system/bt/stack/include",
12 "system/bt/stack/l2cap",
13 "system/bt/stack/a2dp",
14 "system/bt/stack/btm",
15 "system/bt/stack/avdt",
16 "system/bt/udrv/include",
Ajay Panicker66401792018-03-14 23:45:54 -070017 "system/bt/btif/avrcp",
Jack Hee2eeff42016-12-07 18:25:17 -080018 "system/bt/btif/include",
19 "system/bt/btif/co",
20 "system/bt/hci/include",
21 "system/bt/vnd/include",
22 "system/bt/embdrv/sbc/encoder/include",
23 "system/bt/embdrv/sbc/decoder/include",
Jack Hee2eeff42016-12-07 18:25:17 -080024 "system/bt/utils/include",
Jakub Pawlowskif2f207a2017-09-23 14:47:20 -070025 "system/bt/include",
Sunny Kapdid66d9542018-02-12 21:52:50 -080026 "system/libhwbinder/include",
Jack Hee2eeff42016-12-07 18:25:17 -080027]
28
29// libbtif static library for target
30// ========================================================
31cc_library_static {
32 name: "libbtif",
33 defaults: ["fluoride_defaults"],
34 include_dirs: btifCommonIncludes,
35 srcs: [
Ajay Panicker84a28272018-03-12 16:41:21 -070036 // AVRCP Target Service
37 "avrcp/avrcp_service.cc",
38 // Callouts
39 "co/bta_dm_co.cc",
40 "co/bta_av_co.cc",
41 "co/bta_hh_co.cc",
Ajay Panicker84a28272018-03-12 16:41:21 -070042 "co/bta_pan_co.cc",
43 "co/bta_gatts_co.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080044 // HAL layer
45 "src/bluetooth.cc",
46 // BTIF implementation
47 "src/btif_a2dp.cc",
Sunny Kapdid66d9542018-02-12 21:52:50 -080048 "src/btif_a2dp_audio_interface.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080049 "src/btif_a2dp_control.cc",
50 "src/btif_a2dp_sink.cc",
51 "src/btif_a2dp_source.cc",
52 "src/btif_av.cc",
53 "src/btif_avrcp_audio_track.cc",
54 "src/btif_ble_advertiser.cc",
55 "src/btif_ble_scanner.cc",
Ray6e632472019-01-03 21:19:16 +080056 "src/btif_bqr.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080057 "src/btif_config.cc",
jonerlinc28294c2020-05-21 10:47:22 +080058 "src/btif_config_cache.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080059 "src/btif_config_transcode.cc",
60 "src/btif_core.cc",
61 "src/btif_debug.cc",
62 "src/btif_debug_btsnoop.cc",
63 "src/btif_debug_conn.cc",
64 "src/btif_dm.cc",
65 "src/btif_gatt.cc",
66 "src/btif_gatt_client.cc",
67 "src/btif_gatt_server.cc",
68 "src/btif_gatt_test.cc",
69 "src/btif_gatt_util.cc",
Jakub Pawlowski89b0ccb2018-02-28 22:44:42 -080070 "src/btif_hearing_aid.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080071 "src/btif_hf.cc",
72 "src/btif_hf_client.cc",
73 "src/btif_hh.cc",
74 "src/btif_hd.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080075 "src/btif_mce.cc",
76 "src/btif_pan.cc",
77 "src/btif_profile_queue.cc",
78 "src/btif_rc.cc",
79 "src/btif_sdp.cc",
80 "src/btif_sdp_server.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080081 "src/btif_sock.cc",
82 "src/btif_sock_rfc.cc",
83 "src/btif_sock_l2cap.cc",
84 "src/btif_sock_sco.cc",
85 "src/btif_sock_sdp.cc",
86 "src/btif_sock_thread.cc",
87 "src/btif_sock_util.cc",
88 "src/btif_storage.cc",
89 "src/btif_uid.cc",
90 "src/btif_util.cc",
weichinwengb30bb982020-04-21 09:42:27 +080091 "src/btif_keystore.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080092 "src/stack_manager.cc",
Jack Hee2eeff42016-12-07 18:25:17 -080093 ],
Marco Nelissen3a030ba2019-10-21 14:53:45 -070094 header_libs: [
95 "libmedia_headers",
96 ],
Jack Hee2eeff42016-12-07 18:25:17 -080097 shared_libs: [
Zach Johnson77f30aa2019-11-20 19:08:01 -080098 "libaaudio",
Jack Hee2eeff42016-12-07 18:25:17 -080099 "libcutils",
Cheney Niad05f3e2018-11-08 16:41:02 +0800100 "libfmq",
Jack Hee2eeff42016-12-07 18:25:17 -0800101 "liblog",
102 "libz",
103 "libtinyxml2",
Sunny Kapdid66d9542018-02-12 21:52:50 -0800104 "android.hardware.bluetooth.a2dp@1.0",
Cheney Niad05f3e2018-11-08 16:41:02 +0800105 "android.hardware.bluetooth.audio@2.0",
Sunny Kapdid66d9542018-02-12 21:52:50 -0800106 "libhidlbase",
Sunny Kapdid66d9542018-02-12 21:52:50 -0800107 "libutils",
Jack He78b69d92018-11-16 02:59:43 -0800108 "libcrypto",
Jack Hee2eeff42016-12-07 18:25:17 -0800109 ],
110 whole_static_libs: [
Ajay Panicker84a28272018-03-12 16:41:21 -0700111 "avrcp-target-service",
Jack Hee2eeff42016-12-07 18:25:17 -0800112 "libaudio-a2dp-hw-utils",
Ajay Panicker66401792018-03-14 23:45:54 -0700113 "lib-bt-packets",
Cheney Niad05f3e2018-11-08 16:41:02 +0800114 "libbt-audio-hal-interface",
Jack Hee2eeff42016-12-07 18:25:17 -0800115 ],
Chih-Hung Hsiehc1ae0ab2018-10-16 10:18:13 -0700116 cflags: [
117 "-DBUILDCFG",
Chih-Hung Hsiehc1ae0ab2018-10-16 10:18:13 -0700118 ],
Jack Hee2eeff42016-12-07 18:25:17 -0800119
120}
121
122// btif unit tests for target
123// ========================================================
124cc_test {
125 name: "net_test_btif",
126 defaults: ["fluoride_defaults"],
Dan Shi491407d2019-01-10 10:55:23 -0800127 test_suites: ["device-tests"],
Jack Hee2eeff42016-12-07 18:25:17 -0800128 include_dirs: btifCommonIncludes,
Martin Brabhamabafac52019-02-12 11:23:39 -0800129 srcs: [
130 "test/btif_storage_test.cc",
Martin Brabhamabafac52019-02-12 11:23:39 -0800131 ],
Jakub Pawlowskie56fabc2017-10-19 00:26:09 -0700132 header_libs: ["libbluetooth_headers"],
Jack Hee2eeff42016-12-07 18:25:17 -0800133 shared_libs: [
Zach Johnson77f30aa2019-11-20 19:08:01 -0800134 "libaaudio",
Jakub Pawlowskic73a8952020-02-16 01:03:04 +0100135 "android.hardware.bluetooth@1.0",
Pavlin Radoslavov5c80c862018-06-19 19:10:43 -0700136 "android.hardware.bluetooth.a2dp@1.0",
Cheney Niad05f3e2018-11-08 16:41:02 +0800137 "android.hardware.bluetooth.audio@2.0",
138 "libfmq",
Pavlin Radoslavov4aecb892017-11-02 14:27:09 -0700139 "libhidlbase",
Jack Hee2eeff42016-12-07 18:25:17 -0800140 "liblog",
Pavlin Radoslavov4aecb892017-11-02 14:27:09 -0700141 "libprotobuf-cpp-lite",
Jack Hee2eeff42016-12-07 18:25:17 -0800142 "libcutils",
Suren Baghdasaryan8ef9dc62018-12-19 17:36:37 -0800143 "libprocessgroup",
Pavlin Radoslavov4aecb892017-11-02 14:27:09 -0700144 "libutils",
Jack He78b69d92018-11-16 02:59:43 -0800145 "libcrypto",
Jack Hee2eeff42016-12-07 18:25:17 -0800146 ],
147 static_libs: [
Pavlin Radoslavov4aecb892017-11-02 14:27:09 -0700148 "libbt-bta",
149 "libbtcore",
Jack He6d110522018-07-25 21:43:01 -0700150 "libbt-common",
Myles Watsonee175832017-11-02 21:47:20 +0000151 "libbt-stack",
Jack He261ddb82018-08-16 01:29:50 -0700152 "libbt-sbc-decoder",
Pavlin Radoslavovd7522292017-11-24 19:12:11 -0800153 "libbt-sbc-encoder",
Pavlin Radoslavov5c80c862018-06-19 19:10:43 -0700154 "libbt-utils",
Pavlin Radoslavovd7522292017-11-24 19:12:11 -0800155 "libFraunhoferAAC",
Pavlin Radoslavov5c80c862018-06-19 19:10:43 -0700156 "libg722codec",
Pavlin Radoslavov4aecb892017-11-02 14:27:09 -0700157 "libbtdevice",
158 "libbt-hci",
Pavlin Radoslavovd7522292017-11-24 19:12:11 -0800159 "libudrv-uipc",
Jakub Pawlowskib707f442017-07-03 15:39:36 -0700160 "libbluetooth-types",
Jack Hee2eeff42016-12-07 18:25:17 -0800161 "libosi",
Jack Head18de02018-03-03 00:03:25 -0800162 "libbt-protos-lite",
Jakub Pawlowskic73a8952020-02-16 01:03:04 +0100163 ],
Pavlin Radoslavov4aecb892017-11-02 14:27:09 -0700164 whole_static_libs: [
Pavlin Radoslavovd7522292017-11-24 19:12:11 -0800165 "libbtif",
Pavlin Radoslavov4aecb892017-11-02 14:27:09 -0700166 "libbluetooth-for-tests",
Jack Hee2eeff42016-12-07 18:25:17 -0800167 ],
168 cflags: ["-DBUILDCFG"],
Martin Brabhamabafac52019-02-12 11:23:39 -0800169 sanitize: {
170 integer_overflow: true,
171 },
Jack Hee2eeff42016-12-07 18:25:17 -0800172}
Jack Hed3668072017-09-14 17:13:19 -0700173
174// btif profile queue unit tests for target
175// ========================================================
176cc_test {
177 name: "net_test_btif_profile_queue",
178 defaults: ["fluoride_defaults"],
Dan Shi491407d2019-01-10 10:55:23 -0800179 test_suites: ["device-tests"],
Jack Hed3668072017-09-14 17:13:19 -0700180 include_dirs: btifCommonIncludes,
181 srcs: [
Colin Cross62084352019-05-23 14:12:59 -0700182 "src/btif_profile_queue.cc",
183 "test/btif_profile_queue_test.cc",
Jack Hed3668072017-09-14 17:13:19 -0700184 ],
Jakub Pawlowskie56fabc2017-10-19 00:26:09 -0700185 header_libs: ["libbluetooth_headers"],
Jack Hed3668072017-09-14 17:13:19 -0700186 shared_libs: [
187 "liblog",
Jack Hed3668072017-09-14 17:13:19 -0700188 "libcutils",
189 ],
190 static_libs: [
191 "libbluetooth-types",
192 "libosi",
193 ],
194 cflags: ["-DBUILDCFG"],
195}
Chris Mantonf6c68882020-03-03 20:04:51 -0800196
197// btif rc unit tests for target
198// ========================================================
199cc_test {
200 name: "net_test_btif_rc",
201 defaults: ["fluoride_defaults"],
202 test_suites: ["device-tests"],
203 host_supported: true,
204 include_dirs: btifCommonIncludes,
205 srcs: [
206 "test/btif_rc_test.cc",
207 ],
208 header_libs: ["libbluetooth_headers"],
209 shared_libs: [
210 "libcrypto",
211 "libcutils",
212 "liblog",
213 "libprotobuf-cpp-lite",
214 ],
215 static_libs: [
216 "libbluetooth-types",
217 "libbt-common",
218 "libbt-protos-lite",
219 "libosi",
220 "libosi-AllocationTestHarness",
221 ],
222 cflags: ["-DBUILDCFG"],
223 sanitize: {
224 address: true,
225 cfi: true,
226 misc_undefined: ["bounds"],
227 },
228}
jonerlinc28294c2020-05-21 10:47:22 +0800229
230// btif config cache unit tests for target
231// ========================================================
232cc_test {
233 name: "net_test_btif_config_cache",
234 defaults: ["fluoride_defaults"],
235 test_suites: ["device-tests"],
236 host_supported: true,
237 include_dirs: btifCommonIncludes,
238 srcs: [
239 "src/btif_config_cache.cc",
240 "test/btif_config_cache_test.cc",
241 ],
242 header_libs: ["libbluetooth_headers"],
243 shared_libs: [
244 "liblog",
245 "libcutils",
246 ],
247 static_libs: [
248 "libbluetooth-types",
249 "libosi",
250 "libgmock",
251 "libc++fs",
252 ],
253 cflags: ["-DBUILDCFG"],
254}
Song Gaoe7043ad2019-12-10 10:36:17 +0800255
256// btif hf client service tests for target
257// ========================================================
258cc_test {
259 name: "net_test_btif_hf_client_service",
260 defaults: ["fluoride_defaults"],
261 test_suites: ["device-tests"],
262 include_dirs: btifCommonIncludes,
263 srcs: [
264 "test/btif_hf_client_service_test.cc",
265 ],
266 header_libs: ["libbluetooth_headers"],
267 shared_libs: [
268 "libcutils",
269 "liblog",
270 ],
271 static_libs: [
272 "libbluetooth-types",
273 "libosi",
274 ],
275 cflags: ["-DBUILDCFG"],
276}