1# Copyright (c) 2023 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("../../intell_voice_service.gni") 16 17ohos_source_set("trigger_source") { 18 configs = [ "//build/config/compiler:exceptions" ] 19 if (intelligent_voice_framework_trigger_enable) { 20 sources = [ 21 "server/connector_mgr/trigger_callback_impl.cpp", 22 "server/connector_mgr/trigger_connector.cpp", 23 "server/connector_mgr/trigger_connector_internal_impl.cpp", 24 "server/connector_mgr/trigger_connector_internal_validation.cpp", 25 "server/connector_mgr/trigger_connector_mgr.cpp", 26 "server/connector_mgr/trigger_host_manager.cpp", 27 "server/trigger_base_type.cpp", 28 "server/trigger_callback_message.cpp", 29 "server/trigger_db_helper.cpp", 30 "server/trigger_detector.cpp", 31 "server/trigger_detector_callback.cpp", 32 "server/trigger_detector_recognition_callback.cpp", 33 "server/trigger_helper.cpp", 34 "server/trigger_manager.cpp", 35 "server/trigger_service.cpp", 36 ] 37 38 include_dirs = [ 39 "inc", 40 "../../../../ai/intelligent_voice_framework/utils", 41 "../../../../ai/intelligent_voice_framework/interfaces/inner_api/native", 42 "server", 43 "server/connector_mgr", 44 "../intell_voice_service/inc", 45 ] 46 47 external_deps = [ 48 "ability_runtime:ability_manager", 49 "audio_framework:audio_client", 50 "c_utils:utils", 51 "drivers_interface_intelligent_voice:libintell_voice_trigger_proxy_1.0", 52 "drivers_interface_intelligent_voice:libintell_voice_trigger_proxy_1.1", 53 "eventhandler:libeventhandler", 54 "ffrt:libffrt", 55 "hdf_core:libhdi", 56 "hilog:libhilog", 57 "huks:libhukssdk", 58 "ipc:ipc_core", 59 "kv_store:distributeddata_inner", 60 "relational_store:native_rdb", 61 "safwk:system_ability_fwk", 62 "samgr:samgr_proxy", 63 ] 64 } else { 65 sources = [ 66 "server/dummy_trigger_manager.cpp", 67 "server/trigger_callback_message.cpp", 68 ] 69 include_dirs = [ 70 "inc", 71 "../../../../ai/intelligent_voice_framework/utils", 72 "../intell_voice_service/inc", 73 ] 74 external_deps = [] 75 } 76 77 cflags_cc = [ 78 "-Wno-error=unused-parameter", 79 "-DHILOG_ENABLE", 80 "-DENABLE_DEBUG", 81 "-DUSE_FFRT", 82 ] 83 84 defines = [] 85 if (build_variant == "root") { 86 defines += [ "INTELL_VOICE_BUILD_VARIANT_ROOT" ] 87 } 88 89 sanitize = { 90 cfi = true 91 cfi_cross_dso = true 92 cfi_vcall_icall_only = true 93 debug = false 94 } 95 96 branch_protector_ret = "pac_ret" 97 98 if (intelligent_voice_framework_power_manager_enable) { 99 external_deps += [ "power_manager:powermgr_client" ] 100 defines += [ "POWER_MANAGER_ENABLE" ] 101 } 102 103 if (telephony_service_enable) { 104 external_deps += [ 105 "call_manager:tel_call_manager_api", 106 "core_service:tel_core_service_api", 107 "state_registry:tel_state_registry_api", 108 ] 109 defines += [ "SUPPORT_TELEPHONY_SERVICE" ] 110 } 111 if (intelligent_voice_framework_window_manager_enable) { 112 external_deps += [ "window_manager:libdm_lite" ] 113 defines += [ "SUPPORT_WINDOW_MANAGER" ] 114 } 115 subsystem_name = "ai" 116 part_name = "intelligent_voice_framework" 117} 118 119ohos_shared_library("intelligentvoice_trigger") { 120 deps = [ 121 ":trigger_source", 122 "../../utils:intell_voice_utils", 123 ] 124 external_deps = [ "hilog:libhilog" ] 125 if (intelligent_voice_framework_trigger_enable) { 126 version_script = "libintelligentvoice_trigger.versionscript" 127 } else { 128 version_script = "libintelligentvoice_dummy_trigger.versionscript" 129 } 130 sanitize = { 131 cfi = true 132 cfi_cross_dso = true 133 cfi_vcall_icall_only = true 134 debug = false 135 } 136 branch_protector_ret = "pac_ret" 137 subsystem_name = "ai" 138 part_name = "intelligent_voice_framework" 139} 140 141ohos_shared_library("intelligentvoice_trigger_test") { 142 deps = [ 143 ":trigger_source", 144 "../../utils:intell_voice_utils", 145 ] 146 external_deps = [ "hilog:libhilog" ] 147 sanitize = { 148 cfi = true 149 cfi_cross_dso = true 150 cfi_vcall_icall_only = true 151 debug = false 152 } 153 branch_protector_ret = "pac_ret" 154 subsystem_name = "ai" 155 part_name = "intelligent_voice_framework" 156} 157