1eace7efcSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd. 2eace7efcSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3eace7efcSopenharmony_ci# you may not use this file except in compliance with the License. 4eace7efcSopenharmony_ci# You may obtain a copy of the License at 5eace7efcSopenharmony_ci# 6eace7efcSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7eace7efcSopenharmony_ci# 8eace7efcSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9eace7efcSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10eace7efcSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11eace7efcSopenharmony_ci# See the License for the specific language governing permissions and 12eace7efcSopenharmony_ci# limitations under the License. 13eace7efcSopenharmony_ci 14eace7efcSopenharmony_ciimport("//build/ohos.gni") 15eace7efcSopenharmony_ciimport("//foundation/ability/ability_runtime/ability_runtime.gni") 16eace7efcSopenharmony_ci 17eace7efcSopenharmony_ciconfig("child_process_ndk_config") { 18eace7efcSopenharmony_ci include_dirs = 19eace7efcSopenharmony_ci [ "${ability_runtime_ndk_path}/ability/ability_runtime/child_process" ] 20eace7efcSopenharmony_ci 21eace7efcSopenharmony_ci if (target_cpu == "arm") { 22eace7efcSopenharmony_ci cflags = [ "-DBINDER_IPC_32BIT" ] 23eace7efcSopenharmony_ci } 24eace7efcSopenharmony_ci} 25eace7efcSopenharmony_ci 26eace7efcSopenharmony_ciohos_shared_library("child_process") { 27eace7efcSopenharmony_ci sanitize = { 28eace7efcSopenharmony_ci integer_overflow = true 29eace7efcSopenharmony_ci ubsan = true 30eace7efcSopenharmony_ci boundary_sanitize = true 31eace7efcSopenharmony_ci cfi = true 32eace7efcSopenharmony_ci cfi_cross_dso = true 33eace7efcSopenharmony_ci cfi_vcall_icall_only = true 34eace7efcSopenharmony_ci debug = false 35eace7efcSopenharmony_ci } 36eace7efcSopenharmony_ci branch_protector_ret = "pac_ret" 37eace7efcSopenharmony_ci 38eace7efcSopenharmony_ci include_dirs = [ "include" ] 39eace7efcSopenharmony_ci 40eace7efcSopenharmony_ci configs = [ "${ability_runtime_services_path}/common:common_config" ] 41eace7efcSopenharmony_ci public_configs = [ ":child_process_ndk_config" ] 42eace7efcSopenharmony_ci 43eace7efcSopenharmony_ci sources = [ 44eace7efcSopenharmony_ci "${ability_runtime_native_path}/child_process/src/native_child_callback.cpp", 45eace7efcSopenharmony_ci "${ability_runtime_native_path}/child_process/src/native_child_process.cpp", 46eace7efcSopenharmony_ci ] 47eace7efcSopenharmony_ci 48eace7efcSopenharmony_ci deps = [ 49eace7efcSopenharmony_ci "${ability_runtime_innerkits_path}/app_manager:app_manager", 50eace7efcSopenharmony_ci "${ability_runtime_innerkits_path}/child_process_manager:child_process_manager", 51eace7efcSopenharmony_ci "${ability_runtime_native_path}/ability/native:ability_business_error", 52eace7efcSopenharmony_ci ] 53eace7efcSopenharmony_ci 54eace7efcSopenharmony_ci external_deps = [ 55eace7efcSopenharmony_ci "c_utils:utils", 56eace7efcSopenharmony_ci "hilog:libhilog", 57eace7efcSopenharmony_ci "ipc:ipc_capi", 58eace7efcSopenharmony_ci "ipc:ipc_core", 59eace7efcSopenharmony_ci ] 60eace7efcSopenharmony_ci 61eace7efcSopenharmony_ci output_extension = "so" 62eace7efcSopenharmony_ci innerapi_tags = [ "ndk" ] 63eace7efcSopenharmony_ci install_images = [ "system" ] 64eace7efcSopenharmony_ci subsystem_name = "ability" 65eace7efcSopenharmony_ci part_name = "ability_runtime" 66eace7efcSopenharmony_ci} 67