• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022 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("//base/inputmethod/imf/inputmethod.gni")
15import("//build/ohos.gni")
16
17ABILITY_RUNTIME_INNERKITS_PATH = "${ability_runtime_inner_api_path}"
18
19config("ability_config") {
20  visibility = [ ":*" ]
21  include_dirs = [
22    "${inputmethod_path}/frameworks/kits/extension/include",
23    "//commonlibrary/c_utils/base/include",
24    "${ability_runtime_path}/interfaces/kits/native/ability/native",
25    "${ability_runtime_path}/interfaces/kits/native/appkit/app",
26    "${ABILITY_RUNTIME_INNERKITS_PATH}/app_manager/include/appmgr",
27    "${ABILITY_RUNTIME_INNERKITS_PATH}/ability_manager/include",
28    "${ability_runtime_services_path}/abilitymgr/include",
29    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app",
30    "${ability_runtime_path}/interfaces/kits/native/appkit/app",
31    "${ability_runtime_kits_path}/fmskit/native/include",
32    "${ability_runtime_path}/interfaces/kits/native/appkit/app",
33    "${ability_runtime_services_path}/common/include",
34
35    "//base/global/resource_management/interfaces/inner_api/include",
36    "${ability_runtime_napi_path}/featureAbility",
37    "//foundation/arkui/napi/interfaces/kits",
38    "//third_party/node/src",
39    "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
40    "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/remote_register_service",
41    "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/distributed",
42    "${ability_runtime_path}/interfaces/kits/native/ability/native/distributed_ability_runtime",
43    "${ABILITY_RUNTIME_INNERKITS_PATH}/ability_manager/include/continuation",
44    "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/kits",
45    "${ability_runtime_path}/interfaces/kits/native/appkit/app/task",
46    "${ability_runtime_napi_path}/inner/napi_common",
47  ]
48
49  cflags = []
50  if (target_cpu == "arm") {
51    cflags += [ "-DBINDER_IPC_32BIT" ]
52  }
53  defines = [
54    "APP_LOG_TAG = \"Ability\"",
55    "LOG_DOMAIN = 0xD002200",
56  ]
57}
58
59config("ability_public_config") {
60  visibility = [ ":*" ]
61  include_dirs = [
62    "${inputmethod_path}/frameworks/kits/extension/include",
63    "${ABILITY_RUNTIME_INNERKITS_PATH}/base/include",
64    "${ability_runtime_path}/interfaces/kits/native",
65    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app",
66    "${ability_runtime_path}/interfaces/kits/native/appkit/app",
67    "${ability_runtime_path}/interfaces/kits/native/ability_runtime",
68    "${ability_runtime_path}/interfaces/kits/native/ability/native",
69    "//third_party/libuv/include",
70    "${ability_runtime_path}/interfaces/kits/native/ability_runtime/context",
71    "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/remote_register_service",
72    "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/distributed",
73    "${ability_runtime_path}/interfaces/kits/native/ability/native/distributed_ability_runtime",
74    "${ABILITY_RUNTIME_INNERKITS_PATH}/ability_manager/include/continuation",
75    "//base/global/resource_management/interfaces/inner_api/include",
76    "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/kits",
77    "${ability_runtime_kits_path}/fmskit/native/include",
78    "//foundation/window/window_manager/interfaces/innerkits/wm",
79    "//foundation/window/window_manager/interfaces/kits/napi/window_runtime/window_stage_napi",
80    "//third_party/jsoncpp/include",
81    "//third_party/json/include",
82  ]
83}
84
85ohos_shared_library("inputmethod_extension") {
86  include_dirs = [
87    "${inputmethod_path}/frameworks/kits/extension/include",
88    "${inputmethod_path}/frameworks/inputmethod_controller/include",
89    "//base/global/i18n/frameworks/intl/include",
90    "${inputmethod_path}/services/include",
91    "${inputmethod_path}/services/dfx/include",
92  ]
93
94  sources = [
95    "${inputmethod_path}/frameworks/kits/extension/src/inputmethod_extension.cpp",
96    "${inputmethod_path}/frameworks/kits/extension/src/inputmethod_extension_context.cpp",
97    "${inputmethod_path}/frameworks/kits/extension/src/js_inputmethod_extension.cpp",
98    "${inputmethod_path}/frameworks/kits/extension/src/js_inputmethod_extension_context.cpp",
99  ]
100  configs = [ ":ability_config" ]
101  public_configs = [
102    ":ability_public_config",
103    "${ability_runtime_path}/frameworks/native/ability:ability_context_public_config",
104  ]
105
106  deps = [
107    "${ability_runtime_path}/frameworks/native/appkit:app_context",
108    "${inputmethod_path}/frameworks/inputmethod_ability:inputmethod_ability",
109    "${inputmethod_path}/services/dfx:inputmethod_dfx_static",
110  ]
111
112  external_deps = [
113    "ability_base:want",
114    "ability_runtime:ability_context_native",
115    "ability_runtime:ability_manager",
116    "ability_runtime:abilitykit_native",
117    "ability_runtime:runtime",
118    "c_utils:utils",
119    "ipc_js:rpc",
120  ]
121
122  public_deps = [
123    "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog",
124    "//foundation/arkui/napi:ace_napi",
125  ]
126
127  subsystem_name = "inputmethod"
128  part_name = "imf"
129}
130
131ohos_shared_library("inputmethod_extension_module") {
132  include_dirs = [
133    "${ability_runtime_path}/interfaces/kits/native/ability/native",
134    "${ability_runtime_path}/interfaces/kits/native/ability/native/ability_runtime",
135    "${inputmethod_path}/services/include",
136  ]
137
138  sources = [ "${inputmethod_path}/frameworks/kits/extension/src/inputmethod_extension_module_loader.cpp" ]
139
140  configs = [ ":ability_config" ]
141  public_configs = [ ":ability_public_config" ]
142
143  deps = [
144    ":inputmethod_extension",
145    "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native",
146    "//foundation/window/window_manager/utils:libwmutil",
147    "//foundation/window/window_manager/wm:libwm",
148  ]
149
150  external_deps = [
151    "ability_base:base",
152    "ability_base:want",
153    "ability_base:zuri",
154    "ability_runtime:runtime",
155    "c_utils:utils",
156    "hiviewdfx_hilog_native:libhilog",
157  ]
158
159  relative_install_dir = "extensionability/"
160  subsystem_name = "inputmethod"
161  part_name = "imf"
162}
163