119e95205Sopenharmony_ci# Copyright (C) 2021-2022 Huawei Device Co., Ltd. 219e95205Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 319e95205Sopenharmony_ci# you may not use this file except in compliance with the License. 419e95205Sopenharmony_ci# You may obtain a copy of the License at 519e95205Sopenharmony_ci# 619e95205Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 719e95205Sopenharmony_ci# 819e95205Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 919e95205Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1019e95205Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1119e95205Sopenharmony_ci# See the License for the specific language governing permissions and 1219e95205Sopenharmony_ci# limitations under the License. 1319e95205Sopenharmony_ci 1419e95205Sopenharmony_ciimport("//build/ohos.gni") 1519e95205Sopenharmony_ciimport("//foundation/communication/bluetooth_service/bluetooth.gni") 1619e95205Sopenharmony_ci 1719e95205Sopenharmony_ciSUBSYSTEM_DIR = "//foundation/communication" 1819e95205Sopenharmony_ciPART_DIR = "$SUBSYSTEM_DIR/bluetooth_service/services/bluetooth" 1919e95205Sopenharmony_ciBT_SERVICE_DIR = "$PART_DIR/service" 2019e95205Sopenharmony_ci 2119e95205Sopenharmony_cideclare_args() { 2219e95205Sopenharmony_ci bluetooth_service_avrcp_avsession = false 2319e95205Sopenharmony_ci} 2419e95205Sopenharmony_ci 2519e95205Sopenharmony_ciServiceBleScanFilter = [ "src/ble/ble_scan_filter/src/ble_scan_filter_lsf.cpp" ] 2619e95205Sopenharmony_ci 2719e95205Sopenharmony_ciServiceBleSrc = [ 2819e95205Sopenharmony_ci "src/ble/ble_adapter.cpp", 2919e95205Sopenharmony_ci "src/ble/ble_advertiser_impl.cpp", 3019e95205Sopenharmony_ci "src/ble/ble_central_manager_impl.cpp", 3119e95205Sopenharmony_ci "src/ble/ble_config.cpp", 3219e95205Sopenharmony_ci "src/ble/ble_properties.cpp", 3319e95205Sopenharmony_ci "src/ble/ble_security.cpp", 3419e95205Sopenharmony_ci "src/ble/ble_utils.cpp", 3519e95205Sopenharmony_ci] 3619e95205Sopenharmony_ci 3719e95205Sopenharmony_ciServiceClassicSrc = [ 3819e95205Sopenharmony_ci "src/classic/classic_adapter_properties.cpp", 3919e95205Sopenharmony_ci "src/classic/classic_adapter.cpp", 4019e95205Sopenharmony_ci "src/classic/classic_battery_observer.cpp", 4119e95205Sopenharmony_ci "src/classic/classic_bluetooth_data.cpp", 4219e95205Sopenharmony_ci "src/classic/classic_config.cpp", 4319e95205Sopenharmony_ci "src/classic/classic_data_structure.cpp", 4419e95205Sopenharmony_ci "src/classic/classic_remote_device.cpp", 4519e95205Sopenharmony_ci "src/classic/classic_utils.cpp", 4619e95205Sopenharmony_ci] 4719e95205Sopenharmony_ci 4819e95205Sopenharmony_ciServiceCommonSrc = [ 4919e95205Sopenharmony_ci "src/common/adapter_config.cpp", 5019e95205Sopenharmony_ci "src/common/adapter_device_config.cpp", 5119e95205Sopenharmony_ci "src/common/adapter_device_info.cpp", 5219e95205Sopenharmony_ci "src/common/adapter_manager.cpp", 5319e95205Sopenharmony_ci "src/common/adapter_state_machine.cpp", 5419e95205Sopenharmony_ci "src/common/class_creator.cpp", 5519e95205Sopenharmony_ci "src/common/compat.cpp", 5619e95205Sopenharmony_ci "src/common/power_device.cpp", 5719e95205Sopenharmony_ci "src/common/power_manager.cpp", 5819e95205Sopenharmony_ci "src/common/power_spec.cpp", 5919e95205Sopenharmony_ci "src/common/power_state_machine.cpp", 6019e95205Sopenharmony_ci "src/common/profile_config.cpp", 6119e95205Sopenharmony_ci "src/common/profile_info.cpp", 6219e95205Sopenharmony_ci "src/common/profile_service_manager.cpp", 6319e95205Sopenharmony_ci "src/common/sys_state_machine.cpp", 6419e95205Sopenharmony_ci] 6519e95205Sopenharmony_ci 6619e95205Sopenharmony_ciServiceGattSrc = [ 6719e95205Sopenharmony_ci "src/gatt/gatt_cache.cpp", 6819e95205Sopenharmony_ci "src/gatt/gatt_client_profile.cpp", 6919e95205Sopenharmony_ci "src/gatt/gatt_client_service.cpp", 7019e95205Sopenharmony_ci "src/gatt/gatt_connection_manager.cpp", 7119e95205Sopenharmony_ci "src/gatt/gatt_database.cpp", 7219e95205Sopenharmony_ci "src/gatt/gatt_server_profile.cpp", 7319e95205Sopenharmony_ci "src/gatt/gatt_server_service.cpp", 7419e95205Sopenharmony_ci "src/gatt/gatt_service_base.cpp", 7519e95205Sopenharmony_ci "src/gatt/gatt_based_services_manager.cpp", 7619e95205Sopenharmony_ci "src/gatt/dis/device_information_service.cpp", 7719e95205Sopenharmony_ci "src/gatt/gas/generic_access_service.cpp", 7819e95205Sopenharmony_ci "src/gatt/gatts/gatt_service_over_bredr.cpp", 7919e95205Sopenharmony_ci "src/gatt/gatts/generic_attribute_service.cpp", 8019e95205Sopenharmony_ci] 8119e95205Sopenharmony_ci 8219e95205Sopenharmony_ciServiceGavdpSrc = [ 8319e95205Sopenharmony_ci "src/gavdp/a2dp_avdtp.cpp", 8419e95205Sopenharmony_ci "src/gavdp/a2dp_codec_thread.cpp", 8519e95205Sopenharmony_ci "src/gavdp/a2dp_profile_peer.cpp", 8619e95205Sopenharmony_ci "src/gavdp/a2dp_profile.cpp", 8719e95205Sopenharmony_ci "src/gavdp/a2dp_sdp.cpp", 8819e95205Sopenharmony_ci "src/gavdp/a2dp_service_connection.cpp", 8919e95205Sopenharmony_ci "src/gavdp/a2dp_service_device.cpp", 9019e95205Sopenharmony_ci "src/gavdp/a2dp_service_state_machine.cpp", 9119e95205Sopenharmony_ci "src/gavdp/a2dp_service.cpp", 9219e95205Sopenharmony_ci "src/gavdp/a2dp_sink.cpp", 9319e95205Sopenharmony_ci "src/gavdp/a2dp_source.cpp", 9419e95205Sopenharmony_ci "src/gavdp/a2dp_state_machine.cpp", 9519e95205Sopenharmony_ci "src/gavdp/a2dp_codec/a2dp_aac_param_ctrl.cpp", 9619e95205Sopenharmony_ci "src/gavdp/a2dp_codec/a2dp_codec_config.cpp", 9719e95205Sopenharmony_ci "src/gavdp/a2dp_codec/a2dp_codec_factory.cpp", 9819e95205Sopenharmony_ci "src/gavdp/a2dp_codec/a2dp_sbc_param_ctrl.cpp", 9919e95205Sopenharmony_ci "src/gavdp/a2dp_codec/sbccodecctrl/src/a2dp_decoder_sbc.cpp", 10019e95205Sopenharmony_ci "src/gavdp/a2dp_codec/sbccodecctrl/src/a2dp_encoder_sbc.cpp", 10119e95205Sopenharmony_ci "src/gavdp/a2dp_codec/sbccodecctrl/src/a2dp_sbc_dynamic_lib_ctrl.cpp", 10219e95205Sopenharmony_ci "src/gavdp/a2dp_shared_buffer.cpp", 10319e95205Sopenharmony_ci] 10419e95205Sopenharmony_ci 10519e95205Sopenharmony_ciServiceObexSrc = [ 10619e95205Sopenharmony_ci "src/obex/obex_body.cpp", 10719e95205Sopenharmony_ci "src/obex/obex_client.cpp", 10819e95205Sopenharmony_ci "src/obex/obex_headers.cpp", 10919e95205Sopenharmony_ci "src/obex/obex_mp_client.cpp", 11019e95205Sopenharmony_ci "src/obex/obex_mp_server.cpp", 11119e95205Sopenharmony_ci "src/obex/obex_server.cpp", 11219e95205Sopenharmony_ci "src/obex/obex_session.cpp", 11319e95205Sopenharmony_ci "src/obex/obex_socket_transport.cpp", 11419e95205Sopenharmony_ci "src/obex/obex_transport.cpp", 11519e95205Sopenharmony_ci "src/obex/obex_utils.cpp", 11619e95205Sopenharmony_ci] 11719e95205Sopenharmony_ci 11819e95205Sopenharmony_ciServiceSockSrc = [ 11919e95205Sopenharmony_ci "src/sock/socket.cpp", 12019e95205Sopenharmony_ci "src/sock/socket_gap_client.cpp", 12119e95205Sopenharmony_ci "src/sock/socket_gap_server.cpp", 12219e95205Sopenharmony_ci "src/sock/socket_sdp_client.cpp", 12319e95205Sopenharmony_ci "src/sock/socket_sdp_server.cpp", 12419e95205Sopenharmony_ci "src/sock/socket_service.cpp", 12519e95205Sopenharmony_ci "src/sock/socket_listener.cpp", 12619e95205Sopenharmony_ci "src/sock/socket_util.cpp", 12719e95205Sopenharmony_ci] 12819e95205Sopenharmony_ci 12919e95205Sopenharmony_ciServiceTransportSrc = [ 13019e95205Sopenharmony_ci "src/transport/transport_factory.cpp", 13119e95205Sopenharmony_ci "src/transport/transport_l2cap.cpp", 13219e95205Sopenharmony_ci "src/transport/transport_rfcomm.cpp", 13319e95205Sopenharmony_ci] 13419e95205Sopenharmony_ci 13519e95205Sopenharmony_ciServiceUtilSrc = [ 13619e95205Sopenharmony_ci "src/util/bluetooth_common_event_helper.cpp", 13719e95205Sopenharmony_ci "src/util/dispatcher.cpp", 13819e95205Sopenharmony_ci "src/util/semaphore_utils.cpp", 13919e95205Sopenharmony_ci "src/util/state_machine.cpp", 14019e95205Sopenharmony_ci "src/util/timer.cpp", 14119e95205Sopenharmony_ci "src/util/xml_parse.cpp", 14219e95205Sopenharmony_ci "src/util/log_util.cpp", 14319e95205Sopenharmony_ci] 14419e95205Sopenharmony_ci 14519e95205Sopenharmony_ciServicePermissionSrc = [ 14619e95205Sopenharmony_ci "src/permission/auth_center.cpp", 14719e95205Sopenharmony_ci "src/permission/permission_helper.cpp", 14819e95205Sopenharmony_ci "src/permission/permission_utils.cpp", 14919e95205Sopenharmony_ci] 15019e95205Sopenharmony_ci 15119e95205Sopenharmony_ciconfig("btservice_public_config") { 15219e95205Sopenharmony_ci include_dirs = [ 15319e95205Sopenharmony_ci "include", 15419e95205Sopenharmony_ci "$SUBSYSTEM_DIR/bluetooth/interfaces/inner_api/include", 15519e95205Sopenharmony_ci "$SUBSYSTEM_DIR/bluetooth/frameworks/inner/include", 15619e95205Sopenharmony_ci ] 15719e95205Sopenharmony_ci} 15819e95205Sopenharmony_ci 15919e95205Sopenharmony_ciconfig("btservice_config") { 16019e95205Sopenharmony_ci include_dirs = [ 16119e95205Sopenharmony_ci "$BT_SERVICE_DIR/src", 16219e95205Sopenharmony_ci "$BT_SERVICE_DIR/src/base", 16319e95205Sopenharmony_ci "$BT_SERVICE_DIR/src/common", 16419e95205Sopenharmony_ci "$BT_SERVICE_DIR/src/permission", 16519e95205Sopenharmony_ci "$BT_SERVICE_DIR/src/util", 16619e95205Sopenharmony_ci "$BT_SERVICE_DIR/src/ble/ble_scan_filter", 16719e95205Sopenharmony_ci "$BT_SERVICE_DIR/src/gavdp/a2dp_codec/aaccodecctrl_l2/include", 16819e95205Sopenharmony_ci "$BT_SERVICE_DIR/src/gavdp/a2dp_codec/sbccodecctrl/include", 16919e95205Sopenharmony_ci "$PART_DIR/common", 17019e95205Sopenharmony_ci ] 17119e95205Sopenharmony_ci 17219e95205Sopenharmony_ci cflags_cc = [ 17319e95205Sopenharmony_ci "-fPIC", 17419e95205Sopenharmony_ci "-fexceptions", 17519e95205Sopenharmony_ci "-Wno-pessimizing-move", 17619e95205Sopenharmony_ci "-Wno-unused-parameter", 17719e95205Sopenharmony_ci "-Wunused-variable", 17819e95205Sopenharmony_ci "-Wreorder", 17919e95205Sopenharmony_ci "-Wmissing-braces", 18019e95205Sopenharmony_ci "-Wimplicit-fallthrough", 18119e95205Sopenharmony_ci "-Wunused-private-field", 18219e95205Sopenharmony_ci "-Wlogical-op-parentheses", 18319e95205Sopenharmony_ci "-Wmissing-field-initializers", 18419e95205Sopenharmony_ci "-Wparentheses-equality", 18519e95205Sopenharmony_ci "-Wparentheses", 18619e95205Sopenharmony_ci "-Wdelete-non-abstract-non-virtual-dtor", 18719e95205Sopenharmony_ci "-Wignored-qualifiers", 18819e95205Sopenharmony_ci "-Wdelete-abstract-non-virtual-dtor", 18919e95205Sopenharmony_ci "-Wuninitialized", 19019e95205Sopenharmony_ci "-Woverloaded-virtual", 19119e95205Sopenharmony_ci "-Wdangling-else", 19219e95205Sopenharmony_ci "-Woverloaded-virtual", 19319e95205Sopenharmony_ci "-Wno-non-c-typedef-for-linkage", 19419e95205Sopenharmony_ci "-Wno-unused-but-set-variable", 19519e95205Sopenharmony_ci "-Wno-array-parameter", 19619e95205Sopenharmony_ci ] 19719e95205Sopenharmony_ci} 19819e95205Sopenharmony_ci 19919e95205Sopenharmony_ciohos_shared_library("btservice") { 20019e95205Sopenharmony_ci # sanitize = { 20119e95205Sopenharmony_ci # cfi = true 20219e95205Sopenharmony_ci # blocklist = "./bluetooth_service_blocklist.txt" 20319e95205Sopenharmony_ci # } 20419e95205Sopenharmony_ci stack_protector_ret = true 20519e95205Sopenharmony_ci configs = [ ":btservice_config" ] 20619e95205Sopenharmony_ci public_configs = [ ":btservice_public_config" ] 20719e95205Sopenharmony_ci 20819e95205Sopenharmony_ci if (bluetooth_service_avrcp_avsession) { 20919e95205Sopenharmony_ci defines = [ "AVRCP_AVSESSION" ] 21019e95205Sopenharmony_ci } 21119e95205Sopenharmony_ci 21219e95205Sopenharmony_ci sources = ServiceCommonSrc + ServiceUtilSrc 21319e95205Sopenharmony_ci sources += ServiceBleScanFilter 21419e95205Sopenharmony_ci sources += ServiceBleSrc 21519e95205Sopenharmony_ci sources += ServiceClassicSrc 21619e95205Sopenharmony_ci sources += ServiceGattSrc 21719e95205Sopenharmony_ci sources += ServiceGavdpSrc 21819e95205Sopenharmony_ci sources += ServiceObexSrc 21919e95205Sopenharmony_ci sources += ServiceSockSrc 22019e95205Sopenharmony_ci sources += ServiceTransportSrc 22119e95205Sopenharmony_ci sources += ServicePermissionSrc 22219e95205Sopenharmony_ci 22319e95205Sopenharmony_ci if (bluetooth_service_a2dp_sink_feature) { 22419e95205Sopenharmony_ci sources += [ "src/a2dp_snk/a2dp_snk_service.cpp" ] 22519e95205Sopenharmony_ci } 22619e95205Sopenharmony_ci 22719e95205Sopenharmony_ci if (bluetooth_service_a2dp_source_feature) { 22819e95205Sopenharmony_ci sources += [ "src/a2dp_src/a2dp_src_service.cpp" ] 22919e95205Sopenharmony_ci } 23019e95205Sopenharmony_ci 23119e95205Sopenharmony_ci if (bluetooth_service_avrcp_ct_feature) { 23219e95205Sopenharmony_ci sources += [ 23319e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_browse.cpp", 23419e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_connection.cpp", 23519e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_gap.cpp", 23619e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_notification.cpp", 23719e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_packet.cpp", 23819e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_pass_through.cpp", 23919e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_profile.cpp", 24019e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_sdp.cpp", 24119e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_service.cpp", 24219e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_state_machine.cpp", 24319e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_sub_unit_info.cpp", 24419e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_unit_info.cpp", 24519e95205Sopenharmony_ci "src/avrcp_ct/avrcp_ct_vendor.cpp", 24619e95205Sopenharmony_ci ] 24719e95205Sopenharmony_ci } 24819e95205Sopenharmony_ci 24919e95205Sopenharmony_ci if (bluetooth_service_avrcp_tg_feature) { 25019e95205Sopenharmony_ci sources += [ 25119e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_browse.cpp", 25219e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_connection.cpp", 25319e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_gap.cpp", 25419e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_notification.cpp", 25519e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_packet.cpp", 25619e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_pass_through.cpp", 25719e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_profile.cpp", 25819e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_sdp.cpp", 25919e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_service.cpp", 26019e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_state_machine.cpp", 26119e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_sub_unit_info.cpp", 26219e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_unit_info.cpp", 26319e95205Sopenharmony_ci "src/avrcp_tg/avrcp_tg_vendor.cpp", 26419e95205Sopenharmony_ci ] 26519e95205Sopenharmony_ci } 26619e95205Sopenharmony_ci 26719e95205Sopenharmony_ci if (bluetooth_service_hfp_ag_feature) { 26819e95205Sopenharmony_ci sources += [ 26919e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_audio_connection.cpp", 27019e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_command_parser.cpp", 27119e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_command_processor.cpp", 27219e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_data_connection.cpp", 27319e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_data_connection_server.cpp", 27419e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_gap_client.cpp", 27519e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_gap_server.cpp", 27619e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_profile.cpp", 27719e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_profile_event_sender.cpp", 27819e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_rfcomm_connection.cpp", 27919e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_rfcomm_connection_server.cpp", 28019e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_sdp_client.cpp", 28119e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_sdp_server.cpp", 28219e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_service.cpp", 28319e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_statemachine.cpp", 28419e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_system_event_processer.cpp", 28519e95205Sopenharmony_ci "src/hfp_ag/hfp_ag_system_interface.cpp", 28619e95205Sopenharmony_ci ] 28719e95205Sopenharmony_ci } 28819e95205Sopenharmony_ci 28919e95205Sopenharmony_ci if (bluetooth_service_hfp_hf_feature) { 29019e95205Sopenharmony_ci sources += [ 29119e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_audio_connection.cpp", 29219e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_call_manager.cpp", 29319e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_command_parser.cpp", 29419e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_command_processor.cpp", 29519e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_data_connection.cpp", 29619e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_data_connection_server.cpp", 29719e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_gap_client.cpp", 29819e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_gap_server.cpp", 29919e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_profile.cpp", 30019e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_profile_event_sender.cpp", 30119e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_rfcomm_connection.cpp", 30219e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_rfcomm_connection_server.cpp", 30319e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_sdp_client.cpp", 30419e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_sdp_server.cpp", 30519e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_service.cpp", 30619e95205Sopenharmony_ci "src/hfp_hf/hfp_hf_statemachine.cpp", 30719e95205Sopenharmony_ci ] 30819e95205Sopenharmony_ci } 30919e95205Sopenharmony_ci 31019e95205Sopenharmony_ci if (bluetooth_service_hid_host_feature) { 31119e95205Sopenharmony_ci sources += [ 31219e95205Sopenharmony_ci "src/hid_host/hid_host_hogp.cpp", 31319e95205Sopenharmony_ci "src/hid_host/hid_host_l2cap_connection.cpp", 31419e95205Sopenharmony_ci "src/hid_host/hid_host_sdp_client.cpp", 31519e95205Sopenharmony_ci "src/hid_host/hid_host_service.cpp", 31619e95205Sopenharmony_ci "src/hid_host/hid_host_statemachine.cpp", 31719e95205Sopenharmony_ci "src/hid_host/hid_host_uhid.cpp", 31819e95205Sopenharmony_ci ] 31919e95205Sopenharmony_ci } 32019e95205Sopenharmony_ci 32119e95205Sopenharmony_ci if (bluetooth_service_pan_feature) { 32219e95205Sopenharmony_ci sources += [ 32319e95205Sopenharmony_ci "src/pan/pan_bnep.cpp", 32419e95205Sopenharmony_ci "src/pan/pan_network.cpp", 32519e95205Sopenharmony_ci "src/pan/pan_sdp.cpp", 32619e95205Sopenharmony_ci "src/pan/pan_service.cpp", 32719e95205Sopenharmony_ci "src/pan/pan_statemachine.cpp", 32819e95205Sopenharmony_ci ] 32919e95205Sopenharmony_ci } 33019e95205Sopenharmony_ci 33119e95205Sopenharmony_ci deps = [ 33219e95205Sopenharmony_ci "$PART_DIR/external:btdummy", 33319e95205Sopenharmony_ci "$PART_DIR/stack:btstack", 33419e95205Sopenharmony_ci "//third_party/bounds_checking_function:libsec_shared", 33519e95205Sopenharmony_ci "//third_party/libxml2:xml2", 33619e95205Sopenharmony_ci "//third_party/openssl:libcrypto_shared", 33719e95205Sopenharmony_ci ] 33819e95205Sopenharmony_ci 33919e95205Sopenharmony_ci external_deps = [ 34019e95205Sopenharmony_ci "ability_base:want", 34119e95205Sopenharmony_ci "access_token:libaccesstoken_sdk", 34219e95205Sopenharmony_ci "access_token:libtokenid_sdk", 34319e95205Sopenharmony_ci "audio_framework:audio_client", 34419e95205Sopenharmony_ci "bluetooth:btcommon", 34519e95205Sopenharmony_ci "c_utils:utils", 34619e95205Sopenharmony_ci "common_event_service:cesfwk_innerkits", 34719e95205Sopenharmony_ci "hdf_core:libhdi", 34819e95205Sopenharmony_ci "hilog:libhilog", 34919e95205Sopenharmony_ci "hisysevent:libhisysevent", 35019e95205Sopenharmony_ci "ipc:ipc_core", 35119e95205Sopenharmony_ci "jsoncpp:jsoncpp", 35219e95205Sopenharmony_ci "samgr:samgr_proxy", 35319e95205Sopenharmony_ci ] 35419e95205Sopenharmony_ci 35519e95205Sopenharmony_ci if (bluetooth_service_hfp_ag_feature) { 35619e95205Sopenharmony_ci external_deps += [ 35719e95205Sopenharmony_ci "call_manager:tel_call_manager_api", 35819e95205Sopenharmony_ci "core_service:tel_core_service_api", 35919e95205Sopenharmony_ci "state_registry:tel_state_registry_api", 36019e95205Sopenharmony_ci ] 36119e95205Sopenharmony_ci } 36219e95205Sopenharmony_ci 36319e95205Sopenharmony_ci if (bluetooth_service_avrcp_avsession) { 36419e95205Sopenharmony_ci external_deps += [ 36519e95205Sopenharmony_ci "ability_runtime:wantagent_innerkits", 36619e95205Sopenharmony_ci "av_session:avsession_client", 36719e95205Sopenharmony_ci "input:libmmi-client", 36819e95205Sopenharmony_ci "multimedia_image_framework:image_native", 36919e95205Sopenharmony_ci ] 37019e95205Sopenharmony_ci } 37119e95205Sopenharmony_ci 37219e95205Sopenharmony_ci subsystem_name = "communication" 37319e95205Sopenharmony_ci part_name = "bluetooth_service" 37419e95205Sopenharmony_ci} 37519e95205Sopenharmony_ci 37619e95205Sopenharmony_ciSBC_CODEC_DIR = "$BT_SERVICE_DIR/src/gavdp/a2dp_codec/sbclib" 37719e95205Sopenharmony_ciohos_shared_library("btsbc") { 37819e95205Sopenharmony_ci # sanitize = { 37919e95205Sopenharmony_ci # cfi = true 38019e95205Sopenharmony_ci # } 38119e95205Sopenharmony_ci stack_protector_ret = true 38219e95205Sopenharmony_ci include_dirs = [ "$PART_DIR/common" ] 38319e95205Sopenharmony_ci sources = [ 38419e95205Sopenharmony_ci "$SBC_CODEC_DIR/src/sbc_decoder.cpp", 38519e95205Sopenharmony_ci "$SBC_CODEC_DIR/src/sbc_encoder.cpp", 38619e95205Sopenharmony_ci "$SBC_CODEC_DIR/src/sbc_frame.cpp", 38719e95205Sopenharmony_ci ] 38819e95205Sopenharmony_ci 38919e95205Sopenharmony_ci deps = [ 39019e95205Sopenharmony_ci "$PART_DIR/external:btdummy", 39119e95205Sopenharmony_ci "//third_party/bounds_checking_function:libsec_shared", 39219e95205Sopenharmony_ci ] 39319e95205Sopenharmony_ci 39419e95205Sopenharmony_ci external_deps = [ "hilog:libhilog" ] 39519e95205Sopenharmony_ci 39619e95205Sopenharmony_ci cflags = [ "-Wno-array-bounds" ] 39719e95205Sopenharmony_ci subsystem_name = "communication" 39819e95205Sopenharmony_ci part_name = "bluetooth_service" 39919e95205Sopenharmony_ci} 400