# Copyright (c) 2021 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") config("inputmethod_services_native_config") { visibility = [ ":*" ] include_dirs = [ "include", "${inputmethod_path}/common/include", "${inputmethod_path}/frameworks/common", "${inputmethod_path}/frameworks/native/inputmethod_ability/include", "${inputmethod_path}/frameworks/native/inputmethod_controller/include", "${inputmethod_path}/interfaces/inner_api/inputmethod_ability/include", "${inputmethod_path}/interfaces/inner_api/inputmethod_controller/include", "${inputmethod_path}/services/adapter/focus_monitor/include", "${inputmethod_path}/services/adapter/ime_connection_manager/include", "${inputmethod_path}/services/adapter/keyboard/include", "${inputmethod_path}/services/adapter/os_account_adapter/include", "${inputmethod_path}/services/adapter/system_language_observer/include", "${inputmethod_path}/services/adapter/wms_connection_monitor/include", "${inputmethod_path}/services/identity_checker/include", ] } ohos_shared_library("inputmethod_service") { branch_protector_ret = "pac_ret" sanitize = { cfi = true cfi_cross_dso = true debug = false } cflags_cc = [ "-fexceptions", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-fdata-sections", "-ffunction-sections", "-Os", "-Wno-c99-designator", ] sources = [ "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_core_proxy.cpp", "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_client_proxy.cpp", "${inputmethod_path}/services/adapter/focus_monitor/src/focus_change_listener.cpp", "${inputmethod_path}/services/adapter/focus_monitor/src/focus_monitor_manager.cpp", "${inputmethod_path}/services/adapter/ime_connection_manager/src/ime_connection.cpp", "${inputmethod_path}/services/adapter/system_language_observer/src/system_language_observer.cpp", "${inputmethod_path}/services/adapter/wms_connection_monitor/src/wms_connection_monitor_manager.cpp", "${inputmethod_path}/services/adapter/wms_connection_monitor/src/wms_connection_observer.cpp", "${inputmethod_path}/services/identity_checker/src/identity_checker_impl.cpp", "adapter/os_account_adapter/src/os_account_adapter.cpp", "src/freeze_manager.cpp", "src/full_ime_info_manager.cpp", "src/im_common_event_manager.cpp", "src/ime_cfg_manager.cpp", "src/ime_info_inquirer.cpp", "src/input_control_channel_stub.cpp", "src/input_method_system_ability.cpp", "src/input_method_system_ability_stub.cpp", "src/input_type_manager.cpp", "src/peruser_session.cpp", "src/sys_cfg_parser.cpp", "src/user_session_manager.cpp", ] configs = [ ":inputmethod_services_native_config" ] public_configs = [ ":inputmethod_services_native_config" ] deps = [ "${inputmethod_path}/common:inputmethod_common", "${inputmethod_path}/services/adapter/keyboard:keboard_event_static", "${inputmethod_path}/services/adapter/settings_data_provider:settings_data_static", "${inputmethod_path}/services/file:imf_file_static", "${inputmethod_path}/services/json:imf_json_static", "//third_party/cJSON:cjson", ] external_deps = [ "ability_base:want", "ability_runtime:ability_manager", "ability_runtime:app_manager", "access_token:libaccesstoken_sdk", "access_token:libtokenid_sdk", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", "common_event_service:cesfwk_innerkits", "config_policy:configpolicy_util", "data_share:datashare_common", "data_share:datashare_consumer", "eventhandler:libeventhandler", "hicollie:libhicollie", "hilog:libhilog", "i18n:intl_util", "init:libbeget_proxy", "init:libbegetutil", "input:libmmi-client", "ipc:ipc_single", "memmgr:memmgrclient", "os_account:os_account_innerkits", "resource_management:global_resmgr", "resource_schedule_service:ressched_client", "safwk:system_ability_fwk", "samgr:samgr_proxy", "window_manager:libwsutils", ] defines = [] if (imf_screenlock_mgr_enable) { defines += [ "IMF_SCREENLOCK_MGR_ENABLE" ] external_deps += [ "screenlock_mgr:screenlock_client" ] } if (window_manager_use_sceneboard) { external_deps += [ "window_manager:libwm_lite" ] defines += [ "SCENE_BOARD_ENABLE" ] } else { external_deps += [ "window_manager:libwm" ] } subsystem_name = "inputmethod" part_name = "imf" } ohos_static_library("inputmethod_service_static") { branch_protector_ret = "pac_ret" sanitize = { cfi = true cfi_cross_dso = true debug = false } cflags_cc = [ "-fdata-sections", "-ffunction-sections", "-Os", ] sources = [ "${inputmethod_path}/frameworks/native/inputmethod_ability/src/input_method_core_proxy.cpp", "${inputmethod_path}/frameworks/native/inputmethod_controller/src/input_client_proxy.cpp", "adapter/focus_monitor/src/focus_change_listener.cpp", "adapter/focus_monitor/src/focus_monitor_manager.cpp", "adapter/ime_connection_manager/src/ime_connection.cpp", "adapter/os_account_adapter/src/os_account_adapter.cpp", "adapter/system_language_observer/src/system_language_observer.cpp", "adapter/wms_connection_monitor/src/wms_connection_monitor_manager.cpp", "adapter/wms_connection_monitor/src/wms_connection_observer.cpp", "identity_checker/src/identity_checker_impl.cpp", "src/freeze_manager.cpp", "src/full_ime_info_manager.cpp", "src/im_common_event_manager.cpp", "src/ime_cfg_manager.cpp", "src/ime_info_inquirer.cpp", "src/input_control_channel_stub.cpp", "src/input_method_system_ability.cpp", "src/input_method_system_ability_stub.cpp", "src/input_type_manager.cpp", "src/peruser_session.cpp", "src/sys_cfg_parser.cpp", "src/user_session_manager.cpp", ] public_configs = [ ":inputmethod_services_native_config" ] public_deps = [ "${inputmethod_path}/common:inputmethod_common", "adapter/keyboard:keboard_event_static", "adapter/settings_data_provider:settings_data_static", "file:imf_file_static", "json:imf_json_static", ] external_deps = [ "ability_base:want", "ability_runtime:ability_manager", "ability_runtime:app_manager", "access_token:libaccesstoken_sdk", "access_token:libtokenid_sdk", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", "common_event_service:cesfwk_innerkits", "config_policy:configpolicy_util", "data_share:datashare_common", "data_share:datashare_consumer", "eventhandler:libeventhandler", "hicollie:libhicollie", "hilog:libhilog", "i18n:intl_util", "init:libbeget_proxy", "init:libbegetutil", "input:libmmi-client", "ipc:ipc_single", "memmgr:memmgrclient", "os_account:os_account_innerkits", "resource_management:global_resmgr", "resource_schedule_service:ressched_client", "safwk:system_ability_fwk", "samgr:samgr_proxy", "window_manager:libwsutils", ] defines = [] if (imf_screenlock_mgr_enable) { defines += [ "IMF_SCREENLOCK_MGR_ENABLE" ] external_deps += [ "screenlock_mgr:screenlock_client" ] } if (window_manager_use_sceneboard) { external_deps += [ "window_manager:libwm_lite" ] defines += [ "SCENE_BOARD_ENABLE" ] } else { external_deps += [ "window_manager:libwm" ] } subsystem_name = "inputmethod" part_name = "imf" }