1# Copyright (C) 2022 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("//build/ohos.gni")
15
16config("accessibility_interface_private_config") {
17  visibility = [ ":*" ]
18
19  include_dirs = [
20    "include/parcel",
21    "../log/include",
22  ]
23
24  defines = [
25    "AAMS_LOG_TAG = \"accessibility_interface\"",
26    "AAMS_LOG_DOMAIN = 0xD001D05",
27  ]
28
29  if (target_cpu == "arm") {
30    cflags = [ "-DBINDER_IPC_32BIT" ]
31  }
32
33  if (build_variant == "user") {
34    defines += [ "RELEASE_VERSION" ]
35  }
36}
37
38config("accessibility_interface_public_config") {
39  include_dirs = [ "include" ]
40}
41
42accessibility_interface_src = [
43  "src/accessibility_element_operator_callback_proxy.cpp",
44  "src/accessibility_element_operator_callback_stub.cpp",
45  "src/accessibility_element_operator_proxy.cpp",
46  "src/accessibility_element_operator_stub.cpp",
47  "src/accessibility_enable_ability_lists_observer_proxy.cpp",
48  "src/accessibility_enable_ability_lists_observer_stub.cpp",
49  "src/accessible_ability_channel_proxy.cpp",
50  "src/accessible_ability_channel_stub.cpp",
51  "src/accessible_ability_client_proxy.cpp",
52  "src/accessible_ability_client_stub.cpp",
53  "src/accessible_ability_manager_caption_observer_proxy.cpp",
54  "src/accessible_ability_manager_caption_observer_stub.cpp",
55  "src/accessible_ability_manager_service_proxy.cpp",
56  "src/accessible_ability_manager_service_stub.cpp",
57  "src/accessible_ability_manager_state_observer_proxy.cpp",
58  "src/accessible_ability_manager_state_observer_stub.cpp",
59  "src/accessible_ability_manager_config_observer_proxy.cpp",
60  "src/accessible_ability_manager_config_observer_stub.cpp",
61]
62
63accessibility_data_parcel_src = [
64  "src/parcel/accessibility_ability_info_parcel.cpp",
65  "src/parcel/accessibility_caption_parcel.cpp",
66  "src/parcel/accessibility_element_info_parcel.cpp",
67  "src/parcel/accessibility_event_info_parcel.cpp",
68  "src/parcel/accessibility_window_info_parcel.cpp",
69  "src/parcel/accessibility_gesture_inject_path_parcel.cpp",
70]
71
72ohos_shared_library("accessibility_interface") {
73  branch_protector_ret = "pac_ret"
74  sanitize = {
75    integer_overflow = true
76    ubsan = true
77    boundary_sanitize = true
78    cfi = true
79    cfi_cross_dso = true
80    debug = false
81  }
82
83  sources = accessibility_interface_src
84  sources += accessibility_data_parcel_src
85  configs = [
86    ":accessibility_interface_private_config",
87    "../../resources/config/build:coverage_flags",
88  ]
89
90  public_configs = [ ":accessibility_interface_public_config" ]
91
92  deps = [ "../../interfaces/innerkits/common:accessibility_common" ]
93
94  external_deps = [
95    "access_token:libaccesstoken_sdk",
96    "access_token:libtokenid_sdk",
97    "c_utils:utils",
98    "ffrt:libffrt",
99    "hilog:libhilog",
100    "input:libmmi-client",
101    "ipc:ipc_single",
102  ]
103
104  install_enable = true
105
106  subsystem_name = "barrierfree"
107  innerapi_tags = [ "platformsdk_indirect" ]
108  part_name = "accessibility"
109}
110