1# Copyright (C) 2023 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_tdd_util_config") {
18  visibility = [ ":*" ]
19  include_dirs = [ "./" ]
20  ldflags = [ "-Wl,--exclude-libs=ALL" ]
21  cflags = [
22    "-fdata-sections",
23    "-ffunction-sections",
24    "-fvisibility=hidden",
25  ]
26}
27
28config("inputmethod_tdd_util_public_config") {
29  visibility = [ "./*" ]
30  include_dirs = [
31    "include",
32    "${bundllemanager_path}/interfaces/inner_api/appexecfwk_core/include/bundlemgr",
33    "${inputmethod_path}/services/adapter/settings_data_provider/common/include",
34  ]
35}
36
37ohos_static_library("inputmethod_tdd_util") {
38  branch_protector_ret = "pac_ret"
39  sanitize = {
40    cfi = true
41    cfi_cross_dso = true
42    debug = false
43  }
44  sources = [
45    "src/key_event_util.cpp",
46    "src/tdd_util.cpp",
47  ]
48  configs = [ ":inputmethod_tdd_util_config" ]
49  public_configs = [ ":inputmethod_tdd_util_public_config" ]
50  deps = [
51    "${inputmethod_path}/services:inputmethod_service",
52    "${inputmethod_path}/services/adapter/settings_data_provider:settings_data_static",
53    "//third_party/cJSON:cjson",
54  ]
55  external_deps = [
56    "access_token:libaccesstoken_sdk",
57    "access_token:libnativetoken",
58    "access_token:libtoken_setproc",
59    "bundle_framework:appexecfwk_core",
60    "data_share:datashare_common",
61    "data_share:datashare_consumer",
62    "hilog:libhilog",
63    "input:libmmi-client",
64    "os_account:os_account_innerkits",
65    "safwk:system_ability_fwk",
66    "samgr:samgr_proxy",
67  ]
68
69  if (window_manager_use_sceneboard) {
70    external_deps += [ "window_manager:libwm_lite" ]
71  } else {
72    external_deps += [ "window_manager:libwm" ]
73  }
74
75  subsystem_name = "inputmethod"
76  part_name = "imf"
77}
78