1# Copyright (c) 2021 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 17config("inputmethod_client_native_config") { 18 visibility = [ ":*" ] 19 include_dirs = [ 20 "include", 21 "${inputmethod_path}/services/dfx/include", 22 "${inputmethod_path}/services/include", 23 ] 24} 25 26config("inputmethod_client_native_public_config") { 27 visibility = [] 28 include_dirs = [ 29 "//base/inputmethod/imf/frameworks/inputmethod_controller/include", 30 "//base/inputmethod/imf/frameworks/inputmethod_ability/include", 31 "//base/inputmethod/imf/services/include", 32 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 33 "${inputmethod_path}/services/dfx/include", 34 "//foundation/multimodalinput/input/interfaces/native/innerkits/event/include", 35 ] 36} 37 38ohos_shared_library("inputmethod_client") { 39 sources = [ 40 "${inputmethod_path}/frameworks/inputmethod_ability/src/input_method_agent_proxy.cpp", 41 "${inputmethod_path}/services/src/message.cpp", 42 "${inputmethod_path}/services/src/message_handler.cpp", 43 "src/input_client_proxy.cpp", 44 "src/input_client_stub.cpp", 45 "src/input_data_channel_proxy.cpp", 46 "src/input_data_channel_stub.cpp", 47 "src/input_method_controller.cpp", 48 "src/input_method_system_ability_proxy.cpp", 49 "src/input_method_utils.cpp", 50 "src/itypes_util.cpp", 51 ] 52 53 cflags = [ 54 "-fdata-sections", 55 "-ffunction-sections", 56 "-fvisibility=hidden", 57 "-Os", 58 ] 59 60 version_script = "inputmethod_client.versionscript" 61 62 deps = [ "${inputmethod_path}/services/dfx:inputmethod_dfx_static" ] 63 64 external_deps = [ 65 "c_utils:utils", 66 "hiviewdfx_hilog_native:libhilog", 67 "input:libmmi-client", 68 "ipc:ipc_single", 69 "samgr:samgr_proxy", 70 ] 71 72 configs = [ ":inputmethod_client_native_config" ] 73 74 public_configs = [ ":inputmethod_client_native_public_config" ] 75 76 subsystem_name = "inputmethod" 77 part_name = "imf" 78} 79 80ohos_static_library("inputmethod_client_static") { 81 testonly = true 82 sources = [ 83 "${inputmethod_path}/frameworks/inputmethod_ability/src/input_method_agent_proxy.cpp", 84 "${inputmethod_path}/services/src/message.cpp", 85 "${inputmethod_path}/services/src/message_handler.cpp", 86 "src/input_client_proxy.cpp", 87 "src/input_client_stub.cpp", 88 "src/input_data_channel_proxy.cpp", 89 "src/input_data_channel_stub.cpp", 90 "src/input_method_controller.cpp", 91 "src/input_method_system_ability_proxy.cpp", 92 "src/input_method_utils.cpp", 93 "src/itypes_util.cpp", 94 ] 95 96 deps = [ "${inputmethod_path}/services/dfx:inputmethod_dfx_static" ] 97 98 external_deps = [ 99 "c_utils:utils", 100 "hiviewdfx_hilog_native:libhilog", 101 "input:libmmi-client", 102 "ipc:ipc_single", 103 "samgr:samgr_proxy", 104 ] 105 106 configs = [ ":inputmethod_client_native_config" ] 107 108 public_configs = [ ":inputmethod_client_native_public_config" ] 109 110 subsystem_name = "inputmethod" 111 part_name = "imf" 112}