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