1a34a8711Sopenharmony_ci# Copyright (c) 2021 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_ciif (support_jsapi) { 16a34a8711Sopenharmony_ci SUBSYSTEM_DIR = "//foundation/communication/ipc" 17a34a8711Sopenharmony_ci 18a34a8711Sopenharmony_ci config("rpc_public_config") { 19a34a8711Sopenharmony_ci visibility = [ ":*" ] 20a34a8711Sopenharmony_ci include_dirs = [ "$SUBSYSTEM_DIR/ipc/native/src/napi/include" ] 21a34a8711Sopenharmony_ci } 22a34a8711Sopenharmony_ci 23a34a8711Sopenharmony_ci ohos_shared_library("rpc") { 24a34a8711Sopenharmony_ci sanitize = { 25a34a8711Sopenharmony_ci integer_overflow = true 26a34a8711Sopenharmony_ci } 27a34a8711Sopenharmony_ci version_script = "librpc_map" 28a34a8711Sopenharmony_ci branch_protector_ret = "pac_ret" 29a34a8711Sopenharmony_ci include_dirs = [ 30a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/utils/include", 31a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/ipc/native/c/adapter/include", 32a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/ipc/native/c/adapter/access_token/include", 33a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/ipc/native/src/napi_common/include", 34a34a8711Sopenharmony_ci ] 35a34a8711Sopenharmony_ci public_configs = [ ":rpc_public_config" ] 36a34a8711Sopenharmony_ci 37a34a8711Sopenharmony_ci sources = [ 38a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/ipc/native/src/napi/src/napi_ipc_skeleton.cpp", 39a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/ipc/native/src/napi/src/napi_message_option.cpp", 40a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/ipc/native/src/napi/src/napi_remote_proxy.cpp", 41a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/ipc/native/src/napi/src/napi_rpc_native_module.cpp", 42a34a8711Sopenharmony_ci ] 43a34a8711Sopenharmony_ci 44a34a8711Sopenharmony_ci deps = [ 45a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/interfaces/innerkits/ipc_core:ipc_core", 46a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/interfaces/innerkits/ipc_napi_common:ipc_napi", 47a34a8711Sopenharmony_ci ] 48a34a8711Sopenharmony_ci 49a34a8711Sopenharmony_ci external_deps = [ 50a34a8711Sopenharmony_ci "c_utils:utils", 51a34a8711Sopenharmony_ci "hilog:libhilog", 52a34a8711Sopenharmony_ci "hitrace:hitrace_meter", 53a34a8711Sopenharmony_ci "libuv:uv", 54a34a8711Sopenharmony_ci "napi:ace_napi", 55a34a8711Sopenharmony_ci ] 56a34a8711Sopenharmony_ci 57a34a8711Sopenharmony_ci relative_install_dir = "module" 58a34a8711Sopenharmony_ci 59a34a8711Sopenharmony_ci subsystem_name = "communication" 60a34a8711Sopenharmony_ci part_name = "ipc" 61a34a8711Sopenharmony_ci } 62a34a8711Sopenharmony_ci} else { 63a34a8711Sopenharmony_ci ohos_shared_library("rpc") { 64a34a8711Sopenharmony_ci } 65a34a8711Sopenharmony_ci} 66