• 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 = "multimodalinput/mmi_unit_out"
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
79ohos_shared_library("libmmi-util") {
80  sources = libmmi_util_sources
81  public_configs = [
82    ":libmmi_util_public_config",
83    "${mmi_path}:coverage_flags",
84  ]
85  version_script = "libmmi-util-map"
86  configs = [ ":libmmi_util_config" ]
87  branch_protector_ret = "pac_ret"
88  deps = [ ":mmi_rust_key_config" ]
89
90  external_deps = [
91    "c_utils:utils",
92    "hilog:libhilog",
93    "hisysevent:libhisysevent",
94  ]
95  public_deps = [ "${mmi_path}/frameworks/proxy:libmmi-common" ]
96
97  if (security_component_enable) {
98    external_deps += [ "security_component_manager:libsecurity_component_sdk" ]
99  }
100  innerapi_tags = [ "platformsdk" ]
101  part_name = "input"
102  subsystem_name = "multimodalinput"
103}
104
105ohos_unittest("ut-mmi-util-out") {
106  configs = [ "${mmi_path}:coverage_flags" ]
107  module_out_path = module_output_path
108  include_dirs = [
109    "${mmi_path}/frameworks/proxy/event_handler",
110    "${mmi_path}/frameworks/proxy/event_handler/include",
111    "${mmi_path}/frameworks/proxy/module_loader",
112    "${mmi_path}/frameworks/proxy/module_loader/include",
113    "${mmi_path}/util/common",
114    "${mmi_path}/util/common/include",
115    "${mmi_path}/util/network",
116    "${mmi_path}/util/network/include",
117    "${mmi_path}/util/socket",
118    "${mmi_path}/util/socket/include",
119    "${mmi_path}/frameworks/proxy/event_handle",
120    "${mmi_path}/frameworks/proxy/event_handle/include",
121    "${mmi_path}/frameworks/proxy/module_loader",
122    "${mmi_path}/frameworks/proxy/module_loader/include",
123    "${mmi_path}/interfaces/native/innerkits/common/include",
124    "${mmi_path}/interfaces/native/innerkits/proxy/include",
125    "${mmi_path}/interfaces/native/innerkits/event/include",
126    "$root_out_dir/diff_libinput_mmi/export_include",
127
128    "${mmi_path}/util/napi",
129    "${mmi_path}/util/napi/include",
130  ]
131
132  cflags = [
133    "-Dprivate=public",
134    "-Dprotected=public",
135  ]
136
137  sources = [
138    "napi/src/key_event_napi.cpp",
139    "napi/src/util_napi_value.cpp",
140    "network/test/circle_stream_buffer_test.cpp",
141    "network/test/net_packet_test.cpp",
142    "socket/test/stream_buffer_test.cpp",
143    "socket/test/uds_client_test.cpp",
144    "socket/test/uds_session_test.cpp",
145    "socket/test/uds_socket_test.cpp",
146  ]
147
148  deps = [
149    "${mmi_path}/frameworks/proxy:libmmi-client",
150    "${mmi_path}/util:libmmi-util",
151  ]
152  external_deps = [
153    "c_utils:utils",
154    "googletest:gmock_main",
155    "googletest:gtest_main",
156    "hilog:libhilog",
157    "image_framework:image_native",
158    "napi:ace_napi",
159  ]
160}
161
162ohos_unittest("UdsClientTest") {
163  configs = [ "${mmi_path}:coverage_flags" ]
164  module_out_path = module_output_path
165  include_dirs = [
166    "${mmi_path}/frameworks/proxy/event_handler",
167    "${mmi_path}/frameworks/proxy/event_handler/include",
168    "${mmi_path}/frameworks/proxy/module_loader",
169    "${mmi_path}/frameworks/proxy/module_loader/include",
170    "${mmi_path}/util/common",
171    "${mmi_path}/util/common/include",
172    "${mmi_path}/util/network",
173    "${mmi_path}/util/network/include",
174    "${mmi_path}/util/socket",
175    "${mmi_path}/util/socket/include",
176    "${mmi_path}/frameworks/proxy/event_handle",
177    "${mmi_path}/frameworks/proxy/event_handle/include",
178    "${mmi_path}/frameworks/proxy/module_loader",
179    "${mmi_path}/frameworks/proxy/module_loader/include",
180    "${mmi_path}/interfaces/native/innerkits/common/include",
181    "${mmi_path}/interfaces/native/innerkits/proxy/include",
182    "${mmi_path}/interfaces/native/innerkits/event/include",
183    "$root_out_dir/diff_libinput_mmi/export_include",
184
185    "${mmi_path}/util/napi",
186    "${mmi_path}/util/napi/include",
187  ]
188
189  cflags = [
190    "-Dprivate=public",
191    "-Dprotected=public",
192  ]
193
194  sources = [
195    "napi/src/key_event_napi.cpp",
196    "napi/src/util_napi_value.cpp",
197    "network/test/circle_stream_buffer_test.cpp",
198    "network/test/net_packet_test.cpp",
199    "socket/test/stream_buffer_test.cpp",
200    "socket/test/uds_client_test.cpp",
201    "socket/test/uds_session_test.cpp",
202    "socket/test/uds_socket_test.cpp",
203  ]
204
205  deps = [
206    "${mmi_path}/frameworks/proxy:libmmi-client",
207    "${mmi_path}/util:libmmi-util",
208  ]
209  external_deps = [
210    "c_utils:utils",
211    "googletest:gmock_main",
212    "googletest:gtest_main",
213    "hilog:libhilog",
214    "image_framework:image_native",
215    "napi:ace_napi",
216  ]
217}
218