1c29fa5a6Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 2c29fa5a6Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3c29fa5a6Sopenharmony_ci# you may not use this file except in compliance with the License. 4c29fa5a6Sopenharmony_ci# You may obtain a copy of the License at 5c29fa5a6Sopenharmony_ci# 6c29fa5a6Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7c29fa5a6Sopenharmony_ci# 8c29fa5a6Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9c29fa5a6Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10c29fa5a6Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11c29fa5a6Sopenharmony_ci# See the License for the specific language governing permissions and 12c29fa5a6Sopenharmony_ci# limitations under the License. 13c29fa5a6Sopenharmony_ci 14c29fa5a6Sopenharmony_ciimport("//build/ohos.gni") 15c29fa5a6Sopenharmony_ciimport("//build/test.gni") 16c29fa5a6Sopenharmony_ciimport("../multimodalinput_mini.gni") 17c29fa5a6Sopenharmony_ci 18c29fa5a6Sopenharmony_cidefines = input_default_defines 19c29fa5a6Sopenharmony_ci 20c29fa5a6Sopenharmony_cimodule_output_path = "multimodalinput/mmi_unit_out" 21c29fa5a6Sopenharmony_ci 22c29fa5a6Sopenharmony_ciconfig("libmmi_util_public_config") { 23c29fa5a6Sopenharmony_ci include_dirs = [ 24c29fa5a6Sopenharmony_ci "common/include", 25c29fa5a6Sopenharmony_ci "network/include", 26c29fa5a6Sopenharmony_ci "socket/include", 27c29fa5a6Sopenharmony_ci ] 28c29fa5a6Sopenharmony_ci} 29c29fa5a6Sopenharmony_ci 30c29fa5a6Sopenharmony_ciconfig("libmmi_util_config") { 31c29fa5a6Sopenharmony_ci include_dirs = [ 32c29fa5a6Sopenharmony_ci "common/include", 33c29fa5a6Sopenharmony_ci "network/include", 34c29fa5a6Sopenharmony_ci "socket/include", 35c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/common/include", 36c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/event/include", 37c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/proxy/include", 38c29fa5a6Sopenharmony_ci ] 39c29fa5a6Sopenharmony_ci 40c29fa5a6Sopenharmony_ci if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64") && 41c29fa5a6Sopenharmony_ci enhanced_opt) { 42c29fa5a6Sopenharmony_ci cflags = [] 43c29fa5a6Sopenharmony_ci if (input_feature_enable_pgo && input_feature_product != "default") { 44c29fa5a6Sopenharmony_ci cflags += [ 45c29fa5a6Sopenharmony_ci "-fprofile-use=" + 46c29fa5a6Sopenharmony_ci rebase_path("${input_feature_pgo_path}/libmmi-util.profdata", 47c29fa5a6Sopenharmony_ci root_build_dir), 48c29fa5a6Sopenharmony_ci "-Wno-error=backend-plugin", 49c29fa5a6Sopenharmony_ci "-Wno-profile-instr-out-of-date", 50c29fa5a6Sopenharmony_ci "-Wno-profile-instr-unprofiled", 51c29fa5a6Sopenharmony_ci ] 52c29fa5a6Sopenharmony_ci } 53c29fa5a6Sopenharmony_ci if (input_feature_product == "pc" && target_cpu == "arm64") { 54c29fa5a6Sopenharmony_ci cflags += [ "-moutline-atomics" ] 55c29fa5a6Sopenharmony_ci } 56c29fa5a6Sopenharmony_ci } 57c29fa5a6Sopenharmony_ci} 58c29fa5a6Sopenharmony_ci 59c29fa5a6Sopenharmony_ciohos_rust_shared_ffi("mmi_rust_key_config") { 60c29fa5a6Sopenharmony_ci sources = [ "rust_key/src/lib.rs" ] 61c29fa5a6Sopenharmony_ci external_deps = [ "hilog:hilog_rust" ] 62c29fa5a6Sopenharmony_ci subsystem_name = "multimodalinput" 63c29fa5a6Sopenharmony_ci part_name = "input" 64c29fa5a6Sopenharmony_ci} 65c29fa5a6Sopenharmony_ci 66c29fa5a6Sopenharmony_ciohos_rust_unittest("rust_mmi_key_config_test") { 67c29fa5a6Sopenharmony_ci module_out_path = module_output_path 68c29fa5a6Sopenharmony_ci sources = [ "rust_key/src/lib.rs" ] 69c29fa5a6Sopenharmony_ci deps = [ ":mmi_rust_key_config" ] 70c29fa5a6Sopenharmony_ci external_deps = [ "hilog:hilog_rust" ] 71c29fa5a6Sopenharmony_ci subsystem_name = "multimodalinput" 72c29fa5a6Sopenharmony_ci part_name = "input" 73c29fa5a6Sopenharmony_ci} 74c29fa5a6Sopenharmony_ci 75c29fa5a6Sopenharmony_ciohos_shared_library("libmmi-util") { 76c29fa5a6Sopenharmony_ci sources = libmmi_util_sources 77c29fa5a6Sopenharmony_ci public_configs = [ 78c29fa5a6Sopenharmony_ci ":libmmi_util_public_config", 79c29fa5a6Sopenharmony_ci "${mmi_path}:coverage_flags", 80c29fa5a6Sopenharmony_ci ] 81c29fa5a6Sopenharmony_ci version_script = "libmmi-util-map" 82c29fa5a6Sopenharmony_ci configs = [ ":libmmi_util_config" ] 83c29fa5a6Sopenharmony_ci branch_protector_ret = "pac_ret" 84c29fa5a6Sopenharmony_ci deps = [ ":mmi_rust_key_config" ] 85c29fa5a6Sopenharmony_ci 86c29fa5a6Sopenharmony_ci external_deps = [ 87c29fa5a6Sopenharmony_ci "c_utils:utils", 88c29fa5a6Sopenharmony_ci "hilog:libhilog", 89c29fa5a6Sopenharmony_ci "hisysevent:libhisysevent", 90c29fa5a6Sopenharmony_ci ] 91c29fa5a6Sopenharmony_ci public_deps = [ "${mmi_path}/frameworks/proxy:libmmi-common" ] 92c29fa5a6Sopenharmony_ci 93c29fa5a6Sopenharmony_ci if (security_component_enable) { 94c29fa5a6Sopenharmony_ci external_deps += [ "security_component_manager:libsecurity_component_sdk" ] 95c29fa5a6Sopenharmony_ci } 96c29fa5a6Sopenharmony_ci innerapi_tags = [ "platformsdk" ] 97c29fa5a6Sopenharmony_ci part_name = "input" 98c29fa5a6Sopenharmony_ci subsystem_name = "multimodalinput" 99c29fa5a6Sopenharmony_ci} 100c29fa5a6Sopenharmony_ci 101c29fa5a6Sopenharmony_ciohos_unittest("ut-mmi-util-out") { 102c29fa5a6Sopenharmony_ci configs = [ "${mmi_path}:coverage_flags" ] 103c29fa5a6Sopenharmony_ci module_out_path = module_output_path 104c29fa5a6Sopenharmony_ci include_dirs = [ 105c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/event_handler", 106c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/event_handler/include", 107c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/module_loader", 108c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/module_loader/include", 109c29fa5a6Sopenharmony_ci "${mmi_path}/util/common", 110c29fa5a6Sopenharmony_ci "${mmi_path}/util/common/include", 111c29fa5a6Sopenharmony_ci "${mmi_path}/util/network", 112c29fa5a6Sopenharmony_ci "${mmi_path}/util/network/include", 113c29fa5a6Sopenharmony_ci "${mmi_path}/util/socket", 114c29fa5a6Sopenharmony_ci "${mmi_path}/util/socket/include", 115c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/event_handle", 116c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/event_handle/include", 117c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/module_loader", 118c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/module_loader/include", 119c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/common/include", 120c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/proxy/include", 121c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/event/include", 122c29fa5a6Sopenharmony_ci "$root_out_dir/diff_libinput_mmi/export_include", 123c29fa5a6Sopenharmony_ci 124c29fa5a6Sopenharmony_ci "${mmi_path}/util/napi", 125c29fa5a6Sopenharmony_ci "${mmi_path}/util/napi/include", 126c29fa5a6Sopenharmony_ci ] 127c29fa5a6Sopenharmony_ci 128c29fa5a6Sopenharmony_ci cflags = [ 129c29fa5a6Sopenharmony_ci "-Dprivate=public", 130c29fa5a6Sopenharmony_ci "-Dprotected=public", 131c29fa5a6Sopenharmony_ci ] 132c29fa5a6Sopenharmony_ci 133c29fa5a6Sopenharmony_ci sources = [ 134c29fa5a6Sopenharmony_ci "napi/src/key_event_napi.cpp", 135c29fa5a6Sopenharmony_ci "napi/src/util_napi_value.cpp", 136c29fa5a6Sopenharmony_ci "network/test/circle_stream_buffer_test.cpp", 137c29fa5a6Sopenharmony_ci "network/test/net_packet_test.cpp", 138c29fa5a6Sopenharmony_ci "socket/test/stream_buffer_test.cpp", 139c29fa5a6Sopenharmony_ci "socket/test/uds_client_test.cpp", 140c29fa5a6Sopenharmony_ci "socket/test/uds_session_test.cpp", 141c29fa5a6Sopenharmony_ci "socket/test/uds_socket_test.cpp", 142c29fa5a6Sopenharmony_ci ] 143c29fa5a6Sopenharmony_ci 144c29fa5a6Sopenharmony_ci deps = [ 145c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy:libmmi-client", 146c29fa5a6Sopenharmony_ci "${mmi_path}/util:libmmi-util", 147c29fa5a6Sopenharmony_ci ] 148c29fa5a6Sopenharmony_ci external_deps = [ 149c29fa5a6Sopenharmony_ci "c_utils:utils", 150c29fa5a6Sopenharmony_ci "googletest:gmock_main", 151c29fa5a6Sopenharmony_ci "googletest:gtest_main", 152c29fa5a6Sopenharmony_ci "hilog:libhilog", 153c29fa5a6Sopenharmony_ci "image_framework:image_native", 154c29fa5a6Sopenharmony_ci "napi:ace_napi", 155c29fa5a6Sopenharmony_ci ] 156c29fa5a6Sopenharmony_ci} 157c29fa5a6Sopenharmony_ci 158c29fa5a6Sopenharmony_ciohos_unittest("UdsClientTest") { 159c29fa5a6Sopenharmony_ci configs = [ "${mmi_path}:coverage_flags" ] 160c29fa5a6Sopenharmony_ci module_out_path = module_output_path 161c29fa5a6Sopenharmony_ci include_dirs = [ 162c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/event_handler", 163c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/event_handler/include", 164c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/module_loader", 165c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/module_loader/include", 166c29fa5a6Sopenharmony_ci "${mmi_path}/util/common", 167c29fa5a6Sopenharmony_ci "${mmi_path}/util/common/include", 168c29fa5a6Sopenharmony_ci "${mmi_path}/util/network", 169c29fa5a6Sopenharmony_ci "${mmi_path}/util/network/include", 170c29fa5a6Sopenharmony_ci "${mmi_path}/util/socket", 171c29fa5a6Sopenharmony_ci "${mmi_path}/util/socket/include", 172c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/event_handle", 173c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/event_handle/include", 174c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/module_loader", 175c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/module_loader/include", 176c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/common/include", 177c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/proxy/include", 178c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/event/include", 179c29fa5a6Sopenharmony_ci "$root_out_dir/diff_libinput_mmi/export_include", 180c29fa5a6Sopenharmony_ci 181c29fa5a6Sopenharmony_ci "${mmi_path}/util/napi", 182c29fa5a6Sopenharmony_ci "${mmi_path}/util/napi/include", 183c29fa5a6Sopenharmony_ci ] 184c29fa5a6Sopenharmony_ci 185c29fa5a6Sopenharmony_ci cflags = [ 186c29fa5a6Sopenharmony_ci "-Dprivate=public", 187c29fa5a6Sopenharmony_ci "-Dprotected=public", 188c29fa5a6Sopenharmony_ci ] 189c29fa5a6Sopenharmony_ci 190c29fa5a6Sopenharmony_ci sources = [ 191c29fa5a6Sopenharmony_ci "napi/src/key_event_napi.cpp", 192c29fa5a6Sopenharmony_ci "napi/src/util_napi_value.cpp", 193c29fa5a6Sopenharmony_ci "network/test/circle_stream_buffer_test.cpp", 194c29fa5a6Sopenharmony_ci "network/test/net_packet_test.cpp", 195c29fa5a6Sopenharmony_ci "socket/test/stream_buffer_test.cpp", 196c29fa5a6Sopenharmony_ci "socket/test/uds_client_test.cpp", 197c29fa5a6Sopenharmony_ci "socket/test/uds_session_test.cpp", 198c29fa5a6Sopenharmony_ci "socket/test/uds_socket_test.cpp", 199c29fa5a6Sopenharmony_ci ] 200c29fa5a6Sopenharmony_ci 201c29fa5a6Sopenharmony_ci deps = [ 202c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy:libmmi-client", 203c29fa5a6Sopenharmony_ci "${mmi_path}/util:libmmi-util", 204c29fa5a6Sopenharmony_ci ] 205c29fa5a6Sopenharmony_ci external_deps = [ 206c29fa5a6Sopenharmony_ci "c_utils:utils", 207c29fa5a6Sopenharmony_ci "googletest:gmock_main", 208c29fa5a6Sopenharmony_ci "googletest:gtest_main", 209c29fa5a6Sopenharmony_ci "hilog:libhilog", 210c29fa5a6Sopenharmony_ci "image_framework:image_native", 211c29fa5a6Sopenharmony_ci "napi:ace_napi", 212c29fa5a6Sopenharmony_ci ] 213c29fa5a6Sopenharmony_ci} 214