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("../../multimodalinput_mini.gni") 16c29fa5a6Sopenharmony_cimmi_connect_manager_path = "${mmi_path}/service/connect_manager" 17c29fa5a6Sopenharmony_ci 18c29fa5a6Sopenharmony_ciconfig("mmi_connect_manager_config") { 19c29fa5a6Sopenharmony_ci include_dirs = [ 20c29fa5a6Sopenharmony_ci "${mmi_path}/common/anco/comm/include", 21c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/common/include", 22c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/event/include", 23c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/proxy/include", 24c29fa5a6Sopenharmony_ci "${mmi_path}/util/common/include", 25c29fa5a6Sopenharmony_ci "${mmi_path}/util/network/include", 26c29fa5a6Sopenharmony_ci "${mmi_path}/util/socket/include", 27c29fa5a6Sopenharmony_ci "${mmi_path}/service/delegate_task/include", 28c29fa5a6Sopenharmony_ci "${mmi_path}/service/filter/include", 29c29fa5a6Sopenharmony_ci "${mmi_path}/service/message_handle/include", 30c29fa5a6Sopenharmony_ci "${mmi_path}/service/module_loader/include", 31c29fa5a6Sopenharmony_ci "${mmi_path}/service/nap_process/include", 32c29fa5a6Sopenharmony_ci "${mmi_path}/service/permission_helper/include", 33c29fa5a6Sopenharmony_ci "${mmi_path}/frameworks/proxy/event_handler/include", 34c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/include", 35c29fa5a6Sopenharmony_ci ] 36c29fa5a6Sopenharmony_ci} 37c29fa5a6Sopenharmony_ci 38c29fa5a6Sopenharmony_ciohos_source_set("mmi_connect_manager_service") { 39c29fa5a6Sopenharmony_ci part_name = "input" 40c29fa5a6Sopenharmony_ci subsystem_name = "multimodalinput" 41c29fa5a6Sopenharmony_ci 42c29fa5a6Sopenharmony_ci sources = [ 43c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/src/multimodal_input_connect_def_parcel.cpp", 44c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/src/multimodal_input_connect_stub.cpp", 45c29fa5a6Sopenharmony_ci ] 46c29fa5a6Sopenharmony_ci 47c29fa5a6Sopenharmony_ci sources += [ 48c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/src/input_binder_client_death_recipient.cpp", 49c29fa5a6Sopenharmony_ci ] 50c29fa5a6Sopenharmony_ci 51c29fa5a6Sopenharmony_ci branch_protector_ret = "pac_ret" 52c29fa5a6Sopenharmony_ci sanitize = { 53c29fa5a6Sopenharmony_ci cfi = true 54c29fa5a6Sopenharmony_ci cfi_cross_dso = true 55c29fa5a6Sopenharmony_ci debug = false 56c29fa5a6Sopenharmony_ci } 57c29fa5a6Sopenharmony_ci defines = input_default_defines 58c29fa5a6Sopenharmony_ci 59c29fa5a6Sopenharmony_ci configs = [ ":mmi_connect_manager_config" ] 60c29fa5a6Sopenharmony_ci 61c29fa5a6Sopenharmony_ci external_deps = [ 62c29fa5a6Sopenharmony_ci "access_token:libaccesstoken_sdk", 63c29fa5a6Sopenharmony_ci "bounds_checking_function:libsec_shared", 64c29fa5a6Sopenharmony_ci "c_utils:utilsbase", 65c29fa5a6Sopenharmony_ci "eventhandler:libeventhandler", 66c29fa5a6Sopenharmony_ci "graphic_2d:2d_graphics", 67c29fa5a6Sopenharmony_ci "hilog:libhilog", 68c29fa5a6Sopenharmony_ci "image_framework:image_native", 69c29fa5a6Sopenharmony_ci "ipc:ipc_single", 70c29fa5a6Sopenharmony_ci "safwk:system_ability_fwk", 71c29fa5a6Sopenharmony_ci "samgr:samgr_proxy", 72c29fa5a6Sopenharmony_ci ] 73c29fa5a6Sopenharmony_ci 74c29fa5a6Sopenharmony_ci if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64") && 75c29fa5a6Sopenharmony_ci enhanced_opt) { 76c29fa5a6Sopenharmony_ci cflags = [] 77c29fa5a6Sopenharmony_ci if (input_feature_enable_pgo && input_feature_product != "default") { 78c29fa5a6Sopenharmony_ci cflags += [ 79c29fa5a6Sopenharmony_ci "-fprofile-use=" + 80c29fa5a6Sopenharmony_ci rebase_path("${input_feature_pgo_path}/libmmi-server.profdata", 81c29fa5a6Sopenharmony_ci root_build_dir), 82c29fa5a6Sopenharmony_ci "-Wno-error=backend-plugin", 83c29fa5a6Sopenharmony_ci "-Wno-profile-instr-out-of-date", 84c29fa5a6Sopenharmony_ci "-Wno-profile-instr-unprofiled", 85c29fa5a6Sopenharmony_ci ] 86c29fa5a6Sopenharmony_ci } 87c29fa5a6Sopenharmony_ci if (input_feature_product == "pc" && target_cpu == "arm64") { 88c29fa5a6Sopenharmony_ci cflags += [ "-moutline-atomics" ] 89c29fa5a6Sopenharmony_ci } 90c29fa5a6Sopenharmony_ci } 91c29fa5a6Sopenharmony_ci} 92c29fa5a6Sopenharmony_ci 93c29fa5a6Sopenharmony_ciohos_source_set("mmi_connect_manager_proxy") { 94c29fa5a6Sopenharmony_ci part_name = "input" 95c29fa5a6Sopenharmony_ci subsystem_name = "multimodalinput" 96c29fa5a6Sopenharmony_ci 97c29fa5a6Sopenharmony_ci branch_protector_ret = "pac_ret" 98c29fa5a6Sopenharmony_ci sanitize = { 99c29fa5a6Sopenharmony_ci cfi = true 100c29fa5a6Sopenharmony_ci cfi_cross_dso = true 101c29fa5a6Sopenharmony_ci debug = false 102c29fa5a6Sopenharmony_ci } 103c29fa5a6Sopenharmony_ci defines = input_default_defines 104c29fa5a6Sopenharmony_ci 105c29fa5a6Sopenharmony_ci sources = [ 106c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/src/multimodal_input_connect_death_recipient.cpp", 107c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/src/multimodal_input_connect_def_parcel.cpp", 108c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/src/multimodal_input_connect_manager.cpp", 109c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/src/multimodal_input_connect_proxy.cpp", 110c29fa5a6Sopenharmony_ci ] 111c29fa5a6Sopenharmony_ci 112c29fa5a6Sopenharmony_ci sources += [ 113c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/src/input_binder_client_server.cpp", 114c29fa5a6Sopenharmony_ci "${mmi_connect_manager_path}/src/input_binder_client_stub.cpp", 115c29fa5a6Sopenharmony_ci ] 116c29fa5a6Sopenharmony_ci 117c29fa5a6Sopenharmony_ci configs = [ ":mmi_connect_manager_config" ] 118c29fa5a6Sopenharmony_ci 119c29fa5a6Sopenharmony_ci external_deps = [ 120c29fa5a6Sopenharmony_ci "bounds_checking_function:libsec_shared", 121c29fa5a6Sopenharmony_ci "c_utils:utilsbase", 122c29fa5a6Sopenharmony_ci "eventhandler:libeventhandler", 123c29fa5a6Sopenharmony_ci "graphic_2d:2d_graphics", 124c29fa5a6Sopenharmony_ci "hilog:libhilog", 125c29fa5a6Sopenharmony_ci "image_framework:image_native", 126c29fa5a6Sopenharmony_ci "ipc:ipc_single", 127c29fa5a6Sopenharmony_ci "safwk:system_ability_fwk", 128c29fa5a6Sopenharmony_ci "samgr:samgr_proxy", 129c29fa5a6Sopenharmony_ci ] 130c29fa5a6Sopenharmony_ci} 131