1cc290419Sopenharmony_ci# Copyright (C) 2024 Huawei Device Co., Ltd. 2cc290419Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3cc290419Sopenharmony_ci# you may not use this file except in compliance with the License. 4cc290419Sopenharmony_ci# You may obtain a copy of the License at 5cc290419Sopenharmony_ci# 6cc290419Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7cc290419Sopenharmony_ci# 8cc290419Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9cc290419Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10cc290419Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11cc290419Sopenharmony_ci# See the License for the specific language governing permissions and 12cc290419Sopenharmony_ci# limitations under the License. 13cc290419Sopenharmony_ci 14cc290419Sopenharmony_ciimport("//build/ohos.gni") 15cc290419Sopenharmony_ciimport("//developtools/hdc/hdc.gni") 16cc290419Sopenharmony_ci 17cc290419Sopenharmony_ciohos_executable("exec_sudo") { 18cc290419Sopenharmony_ci if (hdc_feature_support_sudo) { 19cc290419Sopenharmony_ci sources = [ 20cc290419Sopenharmony_ci "src/main.cpp", 21cc290419Sopenharmony_ci "src/sudo_iam.cpp", 22cc290419Sopenharmony_ci ] 23cc290419Sopenharmony_ci sanitize = { 24cc290419Sopenharmony_ci cfi = true 25cc290419Sopenharmony_ci cfi_cross_dso = true 26cc290419Sopenharmony_ci cfi_vcall_icall_only = true 27cc290419Sopenharmony_ci debug = false 28cc290419Sopenharmony_ci } 29cc290419Sopenharmony_ci 30cc290419Sopenharmony_ci deps = [] 31cc290419Sopenharmony_ci 32cc290419Sopenharmony_ci external_deps = [ 33cc290419Sopenharmony_ci "c_utils:utils", 34cc290419Sopenharmony_ci "ipc:ipc_single", 35cc290419Sopenharmony_ci "os_account:account_iam_innerkits", 36cc290419Sopenharmony_ci "os_account:os_account_innerkits", 37cc290419Sopenharmony_ci "pin_auth:pinauth_framework", 38cc290419Sopenharmony_ci "user_auth_framework:userauth_client", 39cc290419Sopenharmony_ci ] 40cc290419Sopenharmony_ci 41cc290419Sopenharmony_ci defines = [ "HAS_PIN_AUTH_PART" ] 42cc290419Sopenharmony_ci 43cc290419Sopenharmony_ci if (build_selinux) { 44cc290419Sopenharmony_ci external_deps += [ "selinux:libselinux" ] 45cc290419Sopenharmony_ci defines += [ "SURPPORT_SELINUX" ] 46cc290419Sopenharmony_ci } 47cc290419Sopenharmony_ci 48cc290419Sopenharmony_ci subsystem_name = "developtools" 49cc290419Sopenharmony_ci output_name = "sudo" 50cc290419Sopenharmony_ci part_name = "hdc" 51cc290419Sopenharmony_ci } 52cc290419Sopenharmony_ci} 53cc290419Sopenharmony_ci 54cc290419Sopenharmony_cigroup("sudo") { 55cc290419Sopenharmony_ci if (hdc_feature_support_sudo) { 56cc290419Sopenharmony_ci deps = [ ":exec_sudo" ] 57cc290419Sopenharmony_ci } 58cc290419Sopenharmony_ci} 59