# Copyright (c) 2022 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//base/inputmethod/imf/inputmethod.gni") import("//build/ohos.gni") ABILITY_RUNTIME_INNERKITS_PATH = "${ability_runtime_inner_api_path}" config("ability_config") { visibility = [ ":*" ] include_dirs = [ "${inputmethod_path}/frameworks/kits/extension/include", "//commonlibrary/c_utils/base/include", "${ability_runtime_path}/interfaces/kits/native/ability/native", "${ability_runtime_path}/interfaces/kits/native/appkit/app", "${ABILITY_RUNTIME_INNERKITS_PATH}/app_manager/include/appmgr", "${ABILITY_RUNTIME_INNERKITS_PATH}/ability_manager/include", "${ability_runtime_services_path}/abilitymgr/include", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", "${ability_runtime_path}/interfaces/kits/native/appkit/app", "${ability_runtime_kits_path}/fmskit/native/include", "${ability_runtime_path}/interfaces/kits/native/appkit/app", "${ability_runtime_services_path}/common/include", "//base/global/resource_management/interfaces/inner_api/include", "${ability_runtime_napi_path}/featureAbility", "//foundation/arkui/napi/interfaces/kits", "//third_party/node/src", "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include", "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/remote_register_service", "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/distributed", "${ability_runtime_path}/interfaces/kits/native/ability/native/distributed_ability_runtime", "${ABILITY_RUNTIME_INNERKITS_PATH}/ability_manager/include/continuation", "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/kits", "${ability_runtime_path}/interfaces/kits/native/appkit/app/task", "${ability_runtime_napi_path}/inner/napi_common", ] cflags = [] if (target_cpu == "arm") { cflags += [ "-DBINDER_IPC_32BIT" ] } defines = [ "APP_LOG_TAG = \"Ability\"", "LOG_DOMAIN = 0xD002200", ] } config("ability_public_config") { visibility = [ ":*" ] include_dirs = [ "${inputmethod_path}/frameworks/kits/extension/include", "${ABILITY_RUNTIME_INNERKITS_PATH}/base/include", "${ability_runtime_path}/interfaces/kits/native", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app", "${ability_runtime_path}/interfaces/kits/native/appkit/app", "${ability_runtime_path}/interfaces/kits/native/ability_runtime", "${ability_runtime_path}/interfaces/kits/native/ability/native", "//third_party/libuv/include", "${ability_runtime_path}/interfaces/kits/native/ability_runtime/context", "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/remote_register_service", "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/distributed", "${ability_runtime_path}/interfaces/kits/native/ability/native/distributed_ability_runtime", "${ABILITY_RUNTIME_INNERKITS_PATH}/ability_manager/include/continuation", "//base/global/resource_management/interfaces/inner_api/include", "${ability_runtime_path}/interfaces/kits/native/ability/native/continuation/kits", "${ability_runtime_kits_path}/fmskit/native/include", "//foundation/window/window_manager/interfaces/innerkits/wm", "//foundation/window/window_manager/interfaces/kits/napi/window_runtime/window_stage_napi", "//third_party/jsoncpp/include", "//third_party/json/include", ] } ohos_shared_library("inputmethod_extension") { include_dirs = [ "${inputmethod_path}/frameworks/kits/extension/include", "${inputmethod_path}/frameworks/inputmethod_controller/include", "//base/global/i18n/frameworks/intl/include", "${inputmethod_path}/services/include", "${inputmethod_path}/services/dfx/include", ] sources = [ "${inputmethod_path}/frameworks/kits/extension/src/inputmethod_extension.cpp", "${inputmethod_path}/frameworks/kits/extension/src/inputmethod_extension_context.cpp", "${inputmethod_path}/frameworks/kits/extension/src/js_inputmethod_extension.cpp", "${inputmethod_path}/frameworks/kits/extension/src/js_inputmethod_extension_context.cpp", ] configs = [ ":ability_config" ] public_configs = [ ":ability_public_config", "${ability_runtime_path}/frameworks/native/ability:ability_context_public_config", ] deps = [ "${ability_runtime_path}/frameworks/native/appkit:app_context", "${inputmethod_path}/frameworks/inputmethod_ability:inputmethod_ability", "${inputmethod_path}/services/dfx:inputmethod_dfx_static", ] external_deps = [ "ability_base:want", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "ability_runtime:abilitykit_native", "ability_runtime:runtime", "c_utils:utils", "ipc_js:rpc", ] public_deps = [ "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog", "//foundation/arkui/napi:ace_napi", ] subsystem_name = "inputmethod" part_name = "imf" } ohos_shared_library("inputmethod_extension_module") { include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/ability/native", "${ability_runtime_path}/interfaces/kits/native/ability/native/ability_runtime", "${inputmethod_path}/services/include", ] sources = [ "${inputmethod_path}/frameworks/kits/extension/src/inputmethod_extension_module_loader.cpp" ] configs = [ ":ability_config" ] public_configs = [ ":ability_public_config" ] deps = [ ":inputmethod_extension", "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native", "//foundation/window/window_manager/utils:libwmutil", "//foundation/window/window_manager/wm:libwm", ] external_deps = [ "ability_base:base", "ability_base:want", "ability_base:zuri", "ability_runtime:runtime", "c_utils:utils", "hiviewdfx_hilog_native:libhilog", ] relative_install_dir = "extensionability/" subsystem_name = "inputmethod" part_name = "imf" }