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