crypto_toolbox_srcs = [ "crypto_toolbox/aes.cc", "crypto_toolbox/aes_cmac.cc", "crypto_toolbox/crypto_toolbox.cc", ] // Bluetooth stack static library for target // ======================================================== cc_library_static { name: "libbt-stack", defaults: ["fluoride_defaults"], local_include_dirs: [ "include", "avct", "btm", "avrc", "l2cap", "avdt", "gatt", "gap", "pan", "bnep", "hid", "sdp", "smp", "srvc", ], header_libs: [ "libbluetooth_headers", ], include_dirs: [ "external/aac/libAACenc/include", "external/aac/libAACdec/include", "external/aac/libSYS/include", "external/libldac/inc", "external/libldac/abr/inc", "system/bt", "system/bt/btcore/include", "system/bt/vnd/include", "system/bt/vnd/ble", "system/bt/btif/include", "system/bt/hci/include", "system/bt/internal_include", "system/bt/udrv/include", "system/bt/bta/include", "system/bt/bta/sys", "system/bt/utils/include", ], cflags: ["-Wno-implicit-fallthrough"], srcs: crypto_toolbox_srcs + [ "a2dp/a2dp_aac.cc", "a2dp/a2dp_aac_decoder.cc", "a2dp/a2dp_aac_encoder.cc", "a2dp/a2dp_api.cc", "a2dp/a2dp_codec_config.cc", "a2dp/a2dp_sbc.cc", "a2dp/a2dp_sbc_decoder.cc", "a2dp/a2dp_sbc_encoder.cc", "a2dp/a2dp_sbc_up_sample.cc", "a2dp/a2dp_vendor.cc", "a2dp/a2dp_vendor_aptx.cc", "a2dp/a2dp_vendor_aptx_hd.cc", "a2dp/a2dp_vendor_aptx_encoder.cc", "a2dp/a2dp_vendor_aptx_hd_encoder.cc", "a2dp/a2dp_vendor_ldac.cc", "a2dp/a2dp_vendor_ldac_abr.cc", "a2dp/a2dp_vendor_ldac_decoder.cc", "a2dp/a2dp_vendor_ldac_encoder.cc", "avct/avct_api.cc", "avct/avct_bcb_act.cc", "avct/avct_ccb.cc", "avct/avct_l2c.cc", "avct/avct_l2c_br.cc", "avct/avct_lcb.cc", "avct/avct_lcb_act.cc", "avdt/avdt_ad.cc", "avdt/avdt_api.cc", "avdt/avdt_ccb.cc", "avdt/avdt_ccb_act.cc", "avdt/avdt_l2c.cc", "avdt/avdt_msg.cc", "avdt/avdt_scb.cc", "avdt/avdt_scb_act.cc", "avrc/avrc_api.cc", "avrc/avrc_bld_ct.cc", "avrc/avrc_bld_tg.cc", "avrc/avrc_opt.cc", "avrc/avrc_pars_ct.cc", "avrc/avrc_pars_tg.cc", "avrc/avrc_sdp.cc", "avrc/avrc_utils.cc", "bnep/bnep_api.cc", "bnep/bnep_main.cc", "bnep/bnep_utils.cc", "btm/ble_advertiser_hci_interface.cc", "btm/btm_acl.cc", "btm/btm_ble.cc", "btm/btm_ble_addr.cc", "btm/btm_ble_adv_filter.cc", "btm/btm_ble_batchscan.cc", "btm/btm_ble_bgconn.cc", "btm/btm_ble_connection_establishment.cc", "btm/btm_ble_cont_energy.cc", "btm/btm_ble_gap.cc", "btm/btm_ble_multi_adv.cc", "btm/btm_ble_privacy.cc", "btm/btm_dev.cc", "btm/btm_devctl.cc", "btm/btm_inq.cc", "btm/btm_main.cc", "btm/btm_pm.cc", "btm/btm_sco.cc", "btm/btm_sec.cc", "btu/btu_hcif.cc", "btu/btu_init.cc", "btu/btu_task.cc", "gap/gap_ble.cc", "gap/gap_conn.cc", "gatt/att_protocol.cc", "gatt/connection_manager.cc", "gatt/gatt_api.cc", "gatt/gatt_attr.cc", "gatt/gatt_auth.cc", "gatt/gatt_cl.cc", "gatt/gatt_db.cc", "gatt/gatt_main.cc", "gatt/gatt_sr.cc", "gatt/gatt_utils.cc", "hcic/hciblecmds.cc", "hcic/hcicmds.cc", "hid/hidh_api.cc", "hid/hidh_conn.cc", "hid/hidd_api.cc", "hid/hidd_conn.cc", "l2cap/l2c_api.cc", "l2cap/l2c_ble.cc", "l2cap/l2c_csm.cc", "l2cap/l2c_fcr.cc", "l2cap/l2c_link.cc", "l2cap/l2c_main.cc", "l2cap/l2c_utils.cc", "l2cap/l2cap_client.cc", "pan/pan_api.cc", "pan/pan_main.cc", "pan/pan_utils.cc", "rfcomm/port_api.cc", "rfcomm/port_rfc.cc", "rfcomm/port_utils.cc", "rfcomm/rfc_l2cap_if.cc", "rfcomm/rfc_mx_fsm.cc", "rfcomm/rfc_port_fsm.cc", "rfcomm/rfc_port_if.cc", "rfcomm/rfc_ts_frames.cc", "rfcomm/rfc_utils.cc", "sdp/sdp_api.cc", "sdp/sdp_db.cc", "sdp/sdp_discovery.cc", "sdp/sdp_main.cc", "sdp/sdp_server.cc", "sdp/sdp_utils.cc", "smp/p_256_curvepara.cc", "smp/p_256_ecc_pp.cc", "smp/p_256_multprecision.cc", "smp/smp_act.cc", "smp/smp_api.cc", "smp/smp_br_main.cc", "smp/smp_keys.cc", "smp/smp_l2c.cc", "smp/smp_main.cc", "smp/smp_utils.cc", "srvc/srvc_dis.cc", "srvc/srvc_eng.cc", ], static_libs: [ "libbt-hci", "libFraunhoferAAC", ], shared_libs: [ "libcutils", "liblog", ], required: [ "libldacBT_enc", "libldacBT_abr", ], } // Bluetooth stack unit tests for target // ======================================================== cc_test { name: "net_test_stack", defaults: ["fluoride_defaults"], test_suites: ["device-tests"], local_include_dirs: [ "include", ], include_dirs: [ "system/bt", "system/bt/internal_include", ], srcs: [ "test/stack_a2dp_test.cc", ], shared_libs: [ "libcrypto", "libhidlbase", "liblog", "libprotobuf-cpp-lite", "libcutils", "libutils", ], static_libs: [ "libbt-bta", "libbt-stack", "libbt-common", "libbt-sbc-decoder", "libbt-sbc-encoder", "libFraunhoferAAC", "libbtdevice", "libbt-hci", "libosi", "libbt-protos-lite", ], whole_static_libs: [ "libbluetooth-for-tests", ], } cc_test { name: "net_test_stack_rfcomm", defaults: ["fluoride_defaults"], test_suites: ["device-tests"], host_supported: true, local_include_dirs: [ "include", "btm", "l2cap", "smp", "rfcomm", "test/common", ], include_dirs: [ "system/bt", "system/bt/internal_include", "system/bt/btcore/include", "system/bt/hci/include", "system/bt/utils/include", ], srcs: [ "rfcomm/port_api.cc", "rfcomm/port_rfc.cc", "rfcomm/port_utils.cc", "rfcomm/rfc_l2cap_if.cc", "rfcomm/rfc_mx_fsm.cc", "rfcomm/rfc_port_fsm.cc", "rfcomm/rfc_port_if.cc", "rfcomm/rfc_ts_frames.cc", "rfcomm/rfc_utils.cc", "test/common/mock_btm_layer.cc", "test/common/mock_btsnoop_module.cc", "test/common/mock_btu_layer.cc", "test/common/mock_l2cap_layer.cc", "test/common/stack_test_packet_utils.cc", "test/rfcomm/stack_rfcomm_test.cc", "test/rfcomm/stack_rfcomm_test_main.cc", "test/rfcomm/stack_rfcomm_test_utils.cc", "test/rfcomm/stack_rfcomm_test_utils_test.cc", ], shared_libs: [ "libcutils", "libprotobuf-cpp-lite", "libcrypto", ], static_libs: [ "liblog", "libgmock", "libosi", "libbt-common", "libbt-protos-lite", ], sanitize: { cfi: false, }, } // Bluetooth stack smp unit tests for target // ======================================================== cc_test { name: "net_test_stack_smp", defaults: ["fluoride_defaults"], test_suites: ["device-tests"], local_include_dirs: [ "include", "btm", "l2cap", "smp", ], include_dirs: [ "system/bt", "system/bt/internal_include", "system/bt/btcore/include", "system/bt/hci/include", "system/bt/utils/include", ], srcs: crypto_toolbox_srcs + [ "smp/smp_keys.cc", "smp/p_256_curvepara.cc", "smp/p_256_ecc_pp.cc", "smp/p_256_multprecision.cc", "smp/smp_api.cc", "smp/smp_main.cc", "smp/smp_utils.cc", "test/crypto_toolbox_test.cc", "test/stack_smp_test.cc", ], shared_libs: [ "libcutils", ], static_libs: [ "liblog", "libgmock", "libosi", ], } // Bluetooth stack multi-advertising unit tests for target // ======================================================== cc_test { name: "net_test_stack_multi_adv", defaults: ["fluoride_defaults"], test_suites: ["device-tests"], local_include_dirs: [ "include", "btm", ], include_dirs: [ "system/bt", "system/bt/internal_include", "system/bt/btcore/include", "system/bt/hci/include", "system/bt/internal_include", "system/bt/utils/include", ], srcs: [ "btm/btm_ble_multi_adv.cc", "test/ble_advertiser_test.cc", ], shared_libs: [ "libcutils", ], static_libs: [ "libbluetooth-types", "liblog", "libgmock", ], sanitize: { cfi: false, }, } // Bluetooth stack advertise data parsing unit tests for target // ============================================================= cc_test { name: "net_test_stack_ad_parser", defaults: ["fluoride_defaults"], test_suites: ["device-tests"], local_include_dirs: [ "include", ], srcs: [ "test/ad_parser_unittest.cc", ], static_libs: [ "libbluetooth-types", "liblog", "libgmock", ], } // Bluetooth stack message loop tests for target // ======================================================== cc_test { name: "net_test_btu_message_loop", defaults: ["fluoride_defaults"], local_include_dirs: [ "include", "btm", ], include_dirs: [ "system/bt/", "system/bt/internal_include", "system/bt/btcore/include", "system/bt/bta/include", ], srcs: [ "btu/btu_task.cc", "test/stack_btu_test.cc", ], shared_libs: [ "liblog", "libcutils", "libprotobuf-cpp-lite", ], static_libs: [ "libbt-common", "libbluetooth-types", "libgmock", "libosi", "libbt-protos-lite", ], sanitize: { cfi: false, }, } // Bluetooth stack connection multiplexing // ======================================================== cc_test { name: "net_test_gatt_conn_multiplexing", defaults: ["fluoride_defaults"], local_include_dirs: [ "include", "btm", ], include_dirs: [ "system/bt", "system/bt/internal_include", "system/bt/btcore/include", "system/bt/hci/include", "system/bt/internal_include", "system/bt/utils/include", ], srcs: [ "gatt/connection_manager.cc", "test/gatt_connection_manager_test.cc", ], shared_libs: [ "libcutils", ], static_libs: [ "libbluetooth-types", "liblog", "libgmock", ], sanitize: { cfi: false, }, } cc_test { name: "net_test_stack_a2dp_native", defaults: ["fluoride_defaults"], test_suites: ["device-tests"], host_supported: true, include_dirs: [ "external/libldac/inc", "system/bt", "system/bt/stack/include", ], srcs: [ "test/a2dp/a2dp_vendor_ldac_decoder_test.cc", "test/a2dp/misc_fake.cc", ], shared_libs: [ "libcrypto", "libcutils", "libprotobuf-cpp-lite", ], static_libs: [ "libbt-common", "libbt-protos-lite", "liblog", "libosi", "libosi-AllocationTestHarness", ], sanitize: { address: true, cfi: true, misc_undefined: ["bounds"], }, }