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_shared_library("intelligentvoice_engine") { 18 configs = [ "//build/config/compiler:exceptions" ] 19 if (intelligent_voice_framework_engine_enable) { 20 sources = [ 21 "server/base/adapter_callback_service.cpp", 22 "server/base/audio_debug.cpp", 23 "server/base/audio_source.cpp", 24 "server/base/data_operation_callback.cpp", 25 "server/base/engine_base.cpp", 26 "server/base/engine_factory.cpp", 27 "server/base/engine_util.cpp", 28 "server/base/file_source.cpp", 29 "server/base/intell_voice_engine_callback_proxy.cpp", 30 "server/base/intell_voice_engine_stub.cpp", 31 "server/base/intell_voice_sensibility.cpp", 32 "server/base/intell_voice_update_callback_proxy.cpp", 33 "server/base/swing_service_wrapper.cpp", 34 "server/enroll/enroll_adapter_listener.cpp", 35 "server/enroll/enroll_engine.cpp", 36 "server/hdi_adapter/adapter_host_manager.cpp", 37 "server/hdi_adapter/engine_host_manager.cpp", 38 "server/hdi_adapter/headset_adapter_host_manager.cpp", 39 "server/hdi_adapter/headset_host_manager.cpp", 40 "server/manager/engine_callback_message.cpp", 41 "server/manager/intell_voice_engine_arbitration.cpp", 42 "server/manager/intell_voice_engine_manager.cpp", 43 "server/update/controller/strategy/clone_update_strategy.cpp", 44 "server/update/controller/strategy/silence_update_strategy.cpp", 45 "server/update/controller/update_engine_controller.cpp", 46 "server/update/update_adapter_listener.cpp", 47 "server/update/update_engine.cpp", 48 "server/update/update_engine_utils.cpp", 49 "server/wakeup/headset/headset_wakeup_engine_impl.cpp", 50 "server/wakeup/headset/headset_wakeup_wrapper.cpp", 51 "server/wakeup/wakeup_adapter_listener.cpp", 52 "server/wakeup/wakeup_engine.cpp", 53 "server/wakeup/wakeup_engine_impl.cpp", 54 "server/wakeup/wakeup_source_process.cpp", 55 "server/wakeup/wakeup_source_stop_callback.cpp", 56 ] 57 58 include_dirs = [ 59 "inc", 60 "../../../../ai/intelligent_voice_framework/utils", 61 "../../../../ai/intelligent_voice_framework/interfaces/inner_api/native", 62 "../intell_voice_service/inc", 63 "intell_voice_engine", 64 "server/base", 65 "server/enroll", 66 "server/hdi_adapter", 67 "server/update", 68 "server/update/controller", 69 "server/update/controller/strategy", 70 "server/utils", 71 "server/wakeup", 72 "server/wakeup/headset", 73 ] 74 75 external_deps = [ 76 "ability_runtime:ability_manager", 77 "audio_framework:audio_capturer", 78 "audio_framework:audio_client", 79 "audio_framework:audio_foundation", 80 "c_utils:utils", 81 "drivers_interface_intelligent_voice:intell_voice_engine_idl_headers", 82 "drivers_interface_intelligent_voice:libintell_voice_engine_proxy_1.0", 83 "drivers_interface_intelligent_voice:libintell_voice_engine_proxy_1.1", 84 "drivers_interface_intelligent_voice:libintell_voice_engine_proxy_1.2", 85 "ffrt:libffrt", 86 "hdf_core:libhdi", 87 "hilog:libhilog", 88 "huks:libhukssdk", 89 "ipc:ipc_core", 90 "jsoncpp:jsoncpp", 91 "kv_store:distributeddata_inner", 92 "safwk:system_ability_fwk", 93 "samgr:samgr_proxy", 94 ] 95 } else { 96 sources = [ 97 "server/manager/dummy_engine_manager.cpp", 98 "server/manager/engine_callback_message.cpp", 99 ] 100 include_dirs = [ 101 "inc", 102 "../intell_voice_service/inc", 103 ] 104 external_deps = [] 105 } 106 107 cflags_cc = [ 108 "-Wno-error=unused-parameter", 109 "-DHILOG_ENABLE", 110 "-DENABLE_DEBUG", 111 "-DUSE_FFRT", 112 ] 113 114 defines = [] 115 if (build_variant == "root") { 116 defines += [ "INTELL_VOICE_BUILD_VARIANT_ROOT" ] 117 } 118 119 deps = [ "../../utils:intell_voice_utils" ] 120 121 sanitize = { 122 cfi = true 123 cfi_cross_dso = true 124 cfi_vcall_icall_only = true 125 debug = false 126 } 127 128 branch_protector_ret = "pac_ret" 129 130 subsystem_name = "ai" 131 part_name = "intelligent_voice_framework" 132} 133