• 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    "${mmi_path}/interfaces/native/innerkits/common/include",
28    "${mmi_path}/interfaces/native/innerkits/event/include",
29    "${mmi_path}/interfaces/native/innerkits/proxy/include",
30  ]
31
32  if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64") &&
33      enhanced_opt) {
34    cflags = []
35    if (input_feature_enable_pgo && input_feature_product != "default") {
36      cflags += [
37        "-fprofile-use=" +
38            rebase_path("${input_feature_pgo_path}/libmmi-util.profdata",
39                        root_build_dir),
40        "-Wno-error=backend-plugin",
41        "-Wno-profile-instr-out-of-date",
42        "-Wno-profile-instr-unprofiled",
43      ]
44    }
45    if (input_feature_product == "pc" && target_cpu == "arm64") {
46      cflags += [ "-moutline-atomics" ]
47    }
48  }
49}
50
51ohos_rust_shared_ffi("mmi_rust_key_config") {
52  sources = [ "rust_key/src/lib.rs" ]
53  external_deps = [ "hilog:hilog_rust" ]
54  subsystem_name = "multimodalinput"
55  part_name = "input"
56}
57
58ohos_rust_unittest("rust_mmi_key_config_test") {
59  module_out_path = module_output_path
60  sources = [ "rust_key/src/lib.rs" ]
61  deps = [ ":mmi_rust_key_config" ]
62  external_deps = [ "hilog:hilog_rust" ]
63  subsystem_name = "multimodalinput"
64  part_name = "input"
65}
66
67ohos_shared_library("libmmi-util") {
68  sources = libmmi_util_sources
69  public_configs = [ "${mmi_path}:coverage_flags" ]
70  configs = [ ":libmmi_util_public_config" ]
71  stack_protector_ret = true
72  deps = [ ":mmi_rust_key_config" ]
73
74  external_deps = [
75    "c_utils:utils",
76    "hilog:libhilog",
77    "napi:ace_napi",
78  ]
79  public_deps = [ "${mmi_path}/frameworks/proxy:libmmi-common" ]
80
81  if (security_component_enable) {
82    external_deps +=
83        [ "security_component_manager:libsecurity_component_enhance_sdk" ]
84  }
85  innerapi_tags = [ "platformsdk" ]
86  part_name = "input"
87  subsystem_name = "multimodalinput"
88}
89
90ohos_unittest("ut-mmi-util-out") {
91  configs = [ "${mmi_path}:coverage_flags" ]
92  module_out_path = module_output_path
93  include_dirs = [
94    "//third_party/googletest/googletest/include",
95    "${mmi_path}/frameworks/proxy/event_handler",
96    "${mmi_path}/frameworks/proxy/event_handler/include",
97    "${mmi_path}/frameworks/proxy/module_loader",
98    "${mmi_path}/frameworks/proxy/module_loader/include",
99    "${mmi_path}/util/common",
100    "${mmi_path}/util/common/include",
101    "${mmi_path}/util/network",
102    "${mmi_path}/util/network/include",
103    "${mmi_path}/util/socket",
104    "${mmi_path}/util/socket/include",
105    "${mmi_path}/frameworks/proxy/event_handle",
106    "${mmi_path}/frameworks/proxy/event_handle/include",
107    "${mmi_path}/frameworks/proxy/module_loader",
108    "${mmi_path}/frameworks/proxy/module_loader/include",
109    "${mmi_path}/interfaces/native/innerkits/common/include",
110    "${mmi_path}/interfaces/native/innerkits/proxy/include",
111    "${mmi_path}/interfaces/native/innerkits/event/include",
112    "$root_out_dir/diff_libinput_mmi/export_include",
113  ]
114
115  sources = [
116    "network/test/net_packet_test.cpp",
117    "socket/test/stream_buffer_test.cpp",
118    "socket/test/uds_client_test.cpp",
119    "socket/test/uds_session_test.cpp",
120    "socket/test/uds_socket_test.cpp",
121  ]
122
123  deps = [
124    "${mmi_path}/frameworks/proxy:libmmi-client",
125    "${mmi_path}/util:libmmi-util",
126    "//third_party/googletest:gmock_main",
127    "//third_party/googletest:gtest_main",
128  ]
129  external_deps = [
130    "c_utils:utils",
131    "hilog:libhilog",
132    "image_framework:image_native",
133  ]
134}
135