• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-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")
15import("//build/test.gni")
16import("../multimodalinput_mini.gni")
17
18defines = input_default_defines
19
20module_output_path = "input/input"
21
22config("libmmi_util_public_config") {
23  include_dirs = [
24    "common/include",
25    "network/include",
26    "socket/include",
27  ]
28}
29
30config("libmmi_util_config") {
31  include_dirs = [
32    "common/include",
33    "network/include",
34    "socket/include",
35    "${mmi_path}/interfaces/native/innerkits/common/include",
36    "${mmi_path}/interfaces/native/innerkits/event/include",
37    "${mmi_path}/interfaces/native/innerkits/proxy/include",
38  ]
39
40  if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64") &&
41      enhanced_opt) {
42    cflags = []
43    if (input_feature_enable_pgo && input_feature_product != "default") {
44      cflags += [
45        "-fprofile-use=" +
46            rebase_path("${input_feature_pgo_path}/libmmi-util.profdata",
47                        root_build_dir),
48        "-Wno-error=backend-plugin",
49        "-Wno-profile-instr-out-of-date",
50        "-Wno-profile-instr-unprofiled",
51        "-Oz",
52      ]
53    }
54    if (input_feature_product == "pc" && target_cpu == "arm64") {
55      cflags += [
56        "-moutline-atomics",
57        "-Oz",
58      ]
59    }
60  }
61}
62
63ohos_rust_shared_ffi("mmi_rust_key_config") {
64  sources = [ "rust_key/src/lib.rs" ]
65  external_deps = [ "hilog:hilog_rust" ]
66  subsystem_name = "multimodalinput"
67  part_name = "input"
68}
69
70ohos_rust_unittest("rust_mmi_key_config_test") {
71  module_out_path = module_output_path
72  sources = [ "rust_key/src/lib.rs" ]
73  deps = [ ":mmi_rust_key_config" ]
74  external_deps = [ "hilog:hilog_rust" ]
75  subsystem_name = "multimodalinput"
76  part_name = "input"
77}
78
79config("mmi_json_parser_config") {
80  include_dirs = [
81    "${mmi_path}/util/json_parser/include",
82  ]
83}
84
85ohos_source_set("mmi_json_parser") {
86
87  visibility = [ "${mmi_path}/*" ]
88  branch_protector_ret = "pac_ret"
89  sanitize = {
90    cfi = true
91    cfi_cross_dso = true
92    debug = false
93  }
94
95  sources = [
96    "${mmi_path}/util/json_parser/src/json_parser.cpp"
97  ]
98
99  deps = [
100    "${mmi_path}/util:libmmi-util"
101  ]
102  external_deps = [
103    "c_utils:utils",
104    "cJSON:cjson",
105    "hilog:libhilog",
106  ]
107
108  public_configs = [ ":mmi_json_parser_config" ]
109
110  part_name = "input"
111  subsystem_name = "multimodalinput"
112}
113
114ohos_shared_library("libmmi-util") {
115  sources = libmmi_util_sources
116  public_configs = [
117    ":libmmi_util_public_config",
118    "${mmi_path}:coverage_flags",
119  ]
120  version_script = "libmmi-util-map"
121  configs = [ ":libmmi_util_config" ]
122  branch_protector_ret = "pac_ret"
123  deps = [ ":mmi_rust_key_config" ]
124
125  external_deps = [
126    "c_utils:utils",
127    "hilog:libhilog",
128    "hisysevent:libhisysevent",
129  ]
130  public_deps = [
131    "${mmi_path}/frameworks/proxy:libmmi-common",
132  ]
133
134  if (security_component_enable) {
135    external_deps += [ "security_component_manager:libsecurity_component_sdk" ]
136  }
137  innerapi_tags = [ "platformsdk" ]
138  part_name = "input"
139  subsystem_name = "multimodalinput"
140}
141
142ohos_unittest("ut-mmi-util-out") {
143  configs = [ "${mmi_path}:coverage_flags" ]
144  module_out_path = module_output_path
145  include_dirs = [
146    "${mmi_path}/frameworks/proxy/event_handler",
147    "${mmi_path}/frameworks/proxy/event_handler/include",
148    "${mmi_path}/frameworks/proxy/module_loader",
149    "${mmi_path}/frameworks/proxy/module_loader/include",
150    "${mmi_path}/util/common",
151    "${mmi_path}/util/common/include",
152    "${mmi_path}/util/network",
153    "${mmi_path}/util/network/include",
154    "${mmi_path}/util/socket",
155    "${mmi_path}/util/socket/include",
156    "${mmi_path}/frameworks/proxy/event_handle",
157    "${mmi_path}/frameworks/proxy/event_handle/include",
158    "${mmi_path}/frameworks/proxy/module_loader",
159    "${mmi_path}/frameworks/proxy/module_loader/include",
160    "${mmi_path}/interfaces/native/innerkits/common/include",
161    "${mmi_path}/interfaces/native/innerkits/proxy/include",
162    "${mmi_path}/interfaces/native/innerkits/event/include",
163    "$root_out_dir/diff_libinput_mmi/export_include",
164
165    "${mmi_path}/util/napi",
166    "${mmi_path}/util/napi/include",
167  ]
168
169  cflags = [
170    "-Dprivate=public",
171    "-Dprotected=public",
172  ]
173
174  sources = [
175    "napi/src/key_event_napi.cpp",
176    "napi/src/util_napi_value.cpp",
177    "network/test/circle_stream_buffer_test.cpp",
178    "network/test/net_packet_test.cpp",
179    "socket/test/stream_buffer_test.cpp",
180    "socket/test/uds_client_test.cpp",
181    "socket/test/uds_session_test.cpp",
182    "socket/test/uds_socket_test.cpp",
183  ]
184
185  deps = [
186    "${mmi_path}/frameworks/proxy:libmmi-client",
187    "${mmi_path}/util:libmmi-util",
188  ]
189  external_deps = [
190    "c_utils:utils",
191    "googletest:gmock_main",
192    "googletest:gtest_main",
193    "hilog:libhilog",
194    "image_framework:image_native",
195    "napi:ace_napi",
196  ]
197}
198
199ohos_unittest("UdsClientTest") {
200  configs = [ "${mmi_path}:coverage_flags" ]
201  module_out_path = module_output_path
202  include_dirs = [
203    "${mmi_path}/frameworks/proxy/event_handler",
204    "${mmi_path}/frameworks/proxy/event_handler/include",
205    "${mmi_path}/frameworks/proxy/module_loader",
206    "${mmi_path}/frameworks/proxy/module_loader/include",
207    "${mmi_path}/util/common",
208    "${mmi_path}/util/common/include",
209    "${mmi_path}/util/network",
210    "${mmi_path}/util/network/include",
211    "${mmi_path}/util/socket",
212    "${mmi_path}/util/socket/include",
213    "${mmi_path}/frameworks/proxy/event_handle",
214    "${mmi_path}/frameworks/proxy/event_handle/include",
215    "${mmi_path}/frameworks/proxy/module_loader",
216    "${mmi_path}/frameworks/proxy/module_loader/include",
217    "${mmi_path}/interfaces/native/innerkits/common/include",
218    "${mmi_path}/interfaces/native/innerkits/proxy/include",
219    "${mmi_path}/interfaces/native/innerkits/event/include",
220    "$root_out_dir/diff_libinput_mmi/export_include",
221
222    "${mmi_path}/util/napi",
223    "${mmi_path}/util/napi/include",
224  ]
225
226  cflags = [
227    "-Dprivate=public",
228    "-Dprotected=public",
229  ]
230
231  sources = [
232    "napi/src/key_event_napi.cpp",
233    "napi/src/util_napi_value.cpp",
234    "network/test/circle_stream_buffer_test.cpp",
235    "network/test/net_packet_test.cpp",
236    "socket/test/stream_buffer_test.cpp",
237    "socket/test/uds_client_test.cpp",
238    "socket/test/uds_session_test.cpp",
239    "socket/test/uds_socket_test.cpp",
240  ]
241
242  deps = [
243    "${mmi_path}/frameworks/proxy:libmmi-client",
244    "${mmi_path}/util:libmmi-util",
245  ]
246  external_deps = [
247    "c_utils:utils",
248    "googletest:gmock_main",
249    "googletest:gtest_main",
250    "hilog:libhilog",
251    "image_framework:image_native",
252    "napi:ace_napi",
253  ]
254}
255