122736c2fSopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd.
222736c2fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
322736c2fSopenharmony_ci# you may not use this file except in compliance with the License.
422736c2fSopenharmony_ci# You may obtain a copy of the License at
522736c2fSopenharmony_ci#
622736c2fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
722736c2fSopenharmony_ci#
822736c2fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
922736c2fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1022736c2fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1122736c2fSopenharmony_ci# See the License for the specific language governing permissions and
1222736c2fSopenharmony_ci# limitations under the License.
1322736c2fSopenharmony_ci
1422736c2fSopenharmony_ciimport("//base/inputmethod/imf/inputmethod.gni")
1522736c2fSopenharmony_ciimport("//build/ohos.gni")
1622736c2fSopenharmony_ci
1722736c2fSopenharmony_ciconfig("inputmethod_ability_native_config") {
1822736c2fSopenharmony_ci  visibility = [ ":*" ]
1922736c2fSopenharmony_ci  include_dirs = [
2022736c2fSopenharmony_ci    "include",
2122736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/include",
2222736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/include",
2322736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/common",
2422736c2fSopenharmony_ci    "${inputmethod_path}/interfaces/inner_api/inputmethod_controller/include",
2522736c2fSopenharmony_ci    "${inputmethod_path}/services/include",
2622736c2fSopenharmony_ci  ]
2722736c2fSopenharmony_ci}
2822736c2fSopenharmony_ciconfig("inputmethod_ability_native_public_config") {
2922736c2fSopenharmony_ci  visibility = [ "./*" ]
3022736c2fSopenharmony_ci  include_dirs = [
3122736c2fSopenharmony_ci    "include",
3222736c2fSopenharmony_ci    "${inputmethod_path}/common/include",
3322736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/include",
3422736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/common",
3522736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/services/json/include",
3622736c2fSopenharmony_ci    "${inputmethod_path}/interfaces/inner_api/inputmethod_controller/include",
3722736c2fSopenharmony_ci    "${inputmethod_path}/services/include",
3822736c2fSopenharmony_ci  ]
3922736c2fSopenharmony_ci}
4022736c2fSopenharmony_ci
4122736c2fSopenharmony_ciohos_shared_library("inputmethod_ability") {
4222736c2fSopenharmony_ci  branch_protector_ret = "pac_ret"
4322736c2fSopenharmony_ci  sanitize = {
4422736c2fSopenharmony_ci    cfi = true
4522736c2fSopenharmony_ci    cfi_cross_dso = true
4622736c2fSopenharmony_ci    debug = false
4722736c2fSopenharmony_ci  }
4822736c2fSopenharmony_ci  sources = [
4922736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability.cpp",
5022736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_interface.cpp",
5122736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_utils.cpp",
5222736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_agent_stub.cpp",
5322736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_core_stub.cpp",
5422736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_panel.cpp",
5522736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/task_manager.cpp",
5622736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/tasks/task.cpp",
5722736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/window_change_listener_impl.cpp",
5822736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_data_channel_proxy.cpp",
5922736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_method_system_ability_proxy.cpp",
6022736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/keyevent_consumer_proxy.cpp",
6122736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/system_cmd_channel_proxy.cpp",
6222736c2fSopenharmony_ci    "${inputmethod_path}/services/src/input_control_channel_proxy.cpp",
6322736c2fSopenharmony_ci    "${inputmethod_path}/services/src/sys_cfg_parser.cpp",
6422736c2fSopenharmony_ci  ]
6522736c2fSopenharmony_ci  cflags_cc = [
6622736c2fSopenharmony_ci    "-fdata-sections",
6722736c2fSopenharmony_ci    "-ffunction-sections",
6822736c2fSopenharmony_ci    "-Os",
6922736c2fSopenharmony_ci    "-Wno-c99-designator",
7022736c2fSopenharmony_ci  ]
7122736c2fSopenharmony_ci  version_script = "inputmethod_ability.versionscript"
7222736c2fSopenharmony_ci
7322736c2fSopenharmony_ci  configs = [ ":inputmethod_ability_native_config" ]
7422736c2fSopenharmony_ci
7522736c2fSopenharmony_ci  external_deps = [
7622736c2fSopenharmony_ci    "ability_base:configuration",
7722736c2fSopenharmony_ci    "ability_base:want",
7822736c2fSopenharmony_ci    "ability_runtime:ability_context_native",
7922736c2fSopenharmony_ci    "c_utils:utils",
8022736c2fSopenharmony_ci    "config_policy:configpolicy_util",
8122736c2fSopenharmony_ci    "eventhandler:libeventhandler",
8222736c2fSopenharmony_ci    "graphic_2d:librender_service_client",
8322736c2fSopenharmony_ci    "graphic_2d:window_animation",
8422736c2fSopenharmony_ci    "hilog:libhilog",
8522736c2fSopenharmony_ci    "input:libmmi-client",
8622736c2fSopenharmony_ci    "ipc:ipc_single",
8722736c2fSopenharmony_ci    "napi:ace_napi",
8822736c2fSopenharmony_ci    "samgr:samgr_proxy",
8922736c2fSopenharmony_ci    "window_manager:libdm",
9022736c2fSopenharmony_ci    "window_manager:libwsutils",
9122736c2fSopenharmony_ci  ]
9222736c2fSopenharmony_ci
9322736c2fSopenharmony_ci  public_external_deps = [ "window_manager:libwm" ]
9422736c2fSopenharmony_ci
9522736c2fSopenharmony_ci  deps = [
9622736c2fSopenharmony_ci    "${inputmethod_path}/common:inputmethod_common",
9722736c2fSopenharmony_ci    "${inputmethod_path}/services/file:imf_file_static",
9822736c2fSopenharmony_ci    "${inputmethod_path}/services/json:imf_json_static",
9922736c2fSopenharmony_ci  ]
10022736c2fSopenharmony_ci
10122736c2fSopenharmony_ci  public_configs = [ ":inputmethod_ability_native_public_config" ]
10222736c2fSopenharmony_ci
10322736c2fSopenharmony_ci  subsystem_name = "inputmethod"
10422736c2fSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
10522736c2fSopenharmony_ci  part_name = "imf"
10622736c2fSopenharmony_ci}
10722736c2fSopenharmony_ci
10822736c2fSopenharmony_ciohos_static_library("inputmethod_ability_static") {
10922736c2fSopenharmony_ci  branch_protector_ret = "pac_ret"
11022736c2fSopenharmony_ci  sanitize = {
11122736c2fSopenharmony_ci    cfi = true
11222736c2fSopenharmony_ci    cfi_cross_dso = true
11322736c2fSopenharmony_ci    debug = false
11422736c2fSopenharmony_ci  }
11522736c2fSopenharmony_ci  sources = [
11622736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability.cpp",
11722736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_interface.cpp",
11822736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_ability_utils.cpp",
11922736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_agent_stub.cpp",
12022736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_core_stub.cpp",
12122736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_panel.cpp",
12222736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/task_manager.cpp",
12322736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/tasks/task.cpp",
12422736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_ability/src/window_change_listener_impl.cpp",
12522736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_data_channel_proxy.cpp",
12622736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_method_system_ability_proxy.cpp",
12722736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/keyevent_consumer_proxy.cpp",
12822736c2fSopenharmony_ci    "${inputmethod_path}/frameworks/native/inputmethod_controller/src/system_cmd_channel_proxy.cpp",
12922736c2fSopenharmony_ci    "${inputmethod_path}/services/src/input_control_channel_proxy.cpp",
13022736c2fSopenharmony_ci  ]
13122736c2fSopenharmony_ci
13222736c2fSopenharmony_ci  external_deps = [
13322736c2fSopenharmony_ci    "ability_base:configuration",
13422736c2fSopenharmony_ci    "ability_base:want",
13522736c2fSopenharmony_ci    "ability_runtime:ability_context_native",
13622736c2fSopenharmony_ci    "c_utils:utils",
13722736c2fSopenharmony_ci    "eventhandler:libeventhandler",
13822736c2fSopenharmony_ci    "graphic_2d:librender_service_client",
13922736c2fSopenharmony_ci    "graphic_2d:window_animation",
14022736c2fSopenharmony_ci    "hilog:libhilog",
14122736c2fSopenharmony_ci    "input:libmmi-client",
14222736c2fSopenharmony_ci    "ipc:ipc_single",
14322736c2fSopenharmony_ci    "napi:ace_napi",
14422736c2fSopenharmony_ci    "samgr:samgr_proxy",
14522736c2fSopenharmony_ci    "window_manager:libdm",
14622736c2fSopenharmony_ci    "window_manager:libwsutils",
14722736c2fSopenharmony_ci  ]
14822736c2fSopenharmony_ci
14922736c2fSopenharmony_ci  public_external_deps = [ "window_manager:libwm" ]
15022736c2fSopenharmony_ci
15122736c2fSopenharmony_ci  deps = [
15222736c2fSopenharmony_ci    "${inputmethod_path}/common:inputmethod_common",
15322736c2fSopenharmony_ci    "${inputmethod_path}/services/json:imf_json_static",
15422736c2fSopenharmony_ci  ]
15522736c2fSopenharmony_ci
15622736c2fSopenharmony_ci  public_configs = [ ":inputmethod_ability_native_public_config" ]
15722736c2fSopenharmony_ci
15822736c2fSopenharmony_ci  subsystem_name = "inputmethod"
15922736c2fSopenharmony_ci  part_name = "imf"
16022736c2fSopenharmony_ci}
161