1a34a8711Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 2a34a8711Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3a34a8711Sopenharmony_ci# you may not use this file except in compliance with the License. 4a34a8711Sopenharmony_ci# You may obtain a copy of the License at 5a34a8711Sopenharmony_ci# 6a34a8711Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7a34a8711Sopenharmony_ci# 8a34a8711Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9a34a8711Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10a34a8711Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11a34a8711Sopenharmony_ci# See the License for the specific language governing permissions and 12a34a8711Sopenharmony_ci# limitations under the License. 13a34a8711Sopenharmony_ci 14a34a8711Sopenharmony_ciimport("//build/ohos.gni") 15a34a8711Sopenharmony_ci 16a34a8711Sopenharmony_ciif (support_jsapi) { 17a34a8711Sopenharmony_ci config("napi_common_deps_config") { 18a34a8711Sopenharmony_ci include_dirs = [ 19a34a8711Sopenharmony_ci "include", 20a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/include", 21a34a8711Sopenharmony_ci ] 22a34a8711Sopenharmony_ci } 23a34a8711Sopenharmony_ci 24a34a8711Sopenharmony_ci ohos_shared_library("ipc_napi") { 25a34a8711Sopenharmony_ci sanitize = { 26a34a8711Sopenharmony_ci integer_overflow = true 27a34a8711Sopenharmony_ci } 28a34a8711Sopenharmony_ci branch_protector_ret = "pac_ret" 29a34a8711Sopenharmony_ci include_dirs = [ 30a34a8711Sopenharmony_ci "include", 31a34a8711Sopenharmony_ci "../../../utils/include", 32a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/include", 33a34a8711Sopenharmony_ci ] 34a34a8711Sopenharmony_ci all_dependent_configs = [ ":napi_common_deps_config" ] 35a34a8711Sopenharmony_ci public_configs = [ ":napi_common_deps_config" ] 36a34a8711Sopenharmony_ci 37a34a8711Sopenharmony_ci sources = [ 38a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_ashmem.cpp", 39a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_message_parcel_read.cpp", 40a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_message_parcel_write.cpp", 41a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_message_sequence_read.cpp", 42a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_message_sequence_write.cpp", 43a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_process_skeleton.cpp", 44a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_remote_object.cpp", 45a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_remote_object_holder.cpp", 46a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_remote_proxy_holder.cpp", 47a34a8711Sopenharmony_ci "../../../ipc/native/src/napi_common/source/napi_rpc_error.cpp", 48a34a8711Sopenharmony_ci ] 49a34a8711Sopenharmony_ci 50a34a8711Sopenharmony_ci deps = [ "../../../interfaces/innerkits/ipc_core:ipc_core" ] 51a34a8711Sopenharmony_ci 52a34a8711Sopenharmony_ci external_deps = [ 53a34a8711Sopenharmony_ci "c_utils:utils", 54a34a8711Sopenharmony_ci "hilog:libhilog", 55a34a8711Sopenharmony_ci "hitrace:hitrace_meter", 56a34a8711Sopenharmony_ci "libuv:uv", 57a34a8711Sopenharmony_ci "napi:ace_napi", 58a34a8711Sopenharmony_ci ] 59a34a8711Sopenharmony_ci 60a34a8711Sopenharmony_ci install_images = [ system_base_dir ] 61a34a8711Sopenharmony_ci subsystem_name = "communication" 62a34a8711Sopenharmony_ci innerapi_tags = [ "platformsdk" ] 63a34a8711Sopenharmony_ci part_name = "ipc" 64a34a8711Sopenharmony_ci } 65a34a8711Sopenharmony_ci} else { 66a34a8711Sopenharmony_ci ohos_shared_library("ipc_napi") { 67a34a8711Sopenharmony_ci } 68a34a8711Sopenharmony_ci} 69