• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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