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