1a34a8711Sopenharmony_ci# Copyright (C) 2024 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_ciimport("../../../config.gni") 16a34a8711Sopenharmony_ci 17a34a8711Sopenharmony_ciSUBSYSTEM_DIR = "../../.." 18a34a8711Sopenharmony_ciIPC_CORE_ROOT = "$SUBSYSTEM_DIR/ipc/native" 19a34a8711Sopenharmony_ci 20a34a8711Sopenharmony_ciconfig("libipc_capi_private_config") { 21a34a8711Sopenharmony_ci cflags_cc = [ "-O2" ] 22a34a8711Sopenharmony_ci} 23a34a8711Sopenharmony_ci 24a34a8711Sopenharmony_ciconfig("libipc_capi_public_config") { 25a34a8711Sopenharmony_ci include_dirs = [ "$SUBSYSTEM_DIR/interfaces/innerkits/c_api/include" ] 26a34a8711Sopenharmony_ci} 27a34a8711Sopenharmony_ci 28a34a8711Sopenharmony_ciohos_shared_library("ipc_capi") { 29a34a8711Sopenharmony_ci branch_protector_ret = "pac_ret" 30a34a8711Sopenharmony_ci include_dirs = [ 31a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/interfaces/innerkits/ipc_core/include", 32a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/interfaces/innerkits/c_api/include", 33a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/ipc/native/src/core/include", 34a34a8711Sopenharmony_ci "$IPC_CORE_ROOT/src/c_api/include", 35a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/utils/include", 36a34a8711Sopenharmony_ci ] 37a34a8711Sopenharmony_ci 38a34a8711Sopenharmony_ci sources = [ 39a34a8711Sopenharmony_ci "$IPC_CORE_ROOT/src/c_api/source/ipc_cparcel.cpp", 40a34a8711Sopenharmony_ci "$IPC_CORE_ROOT/src/c_api/source/ipc_cremote_object.cpp", 41a34a8711Sopenharmony_ci "$IPC_CORE_ROOT/src/c_api/source/ipc_cskeleton.cpp", 42a34a8711Sopenharmony_ci "$IPC_CORE_ROOT/src/c_api/source/ipc_inner_object.cpp", 43a34a8711Sopenharmony_ci "$IPC_CORE_ROOT/src/c_api/source/ipc_internal_utils.cpp", 44a34a8711Sopenharmony_ci "$IPC_CORE_ROOT/src/c_api/source/ipc_remote_object_internal.cpp", 45a34a8711Sopenharmony_ci ] 46a34a8711Sopenharmony_ci 47a34a8711Sopenharmony_ci configs = [ 48a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/config:ipc_util_config", 49a34a8711Sopenharmony_ci ":libipc_capi_private_config", 50a34a8711Sopenharmony_ci ] 51a34a8711Sopenharmony_ci 52a34a8711Sopenharmony_ci public_configs = [ ":libipc_capi_public_config" ] 53a34a8711Sopenharmony_ci 54a34a8711Sopenharmony_ci deps = [ 55a34a8711Sopenharmony_ci "$IPC_CORE_ROOT/src/core:ipc_common", 56a34a8711Sopenharmony_ci "$SUBSYSTEM_DIR/interfaces/innerkits/ipc_core:ipc_core", 57a34a8711Sopenharmony_ci ] 58a34a8711Sopenharmony_ci 59a34a8711Sopenharmony_ci external_deps = [ 60a34a8711Sopenharmony_ci "c_utils:utils", 61a34a8711Sopenharmony_ci "hilog:libhilog", 62a34a8711Sopenharmony_ci ] 63a34a8711Sopenharmony_ci 64a34a8711Sopenharmony_ci innerapi_tags = [ 65a34a8711Sopenharmony_ci "platformsdk", 66a34a8711Sopenharmony_ci "sasdk", 67a34a8711Sopenharmony_ci ] 68a34a8711Sopenharmony_ci 69a34a8711Sopenharmony_ci symlink_target_name = [ "libipc_capi.so" ] 70a34a8711Sopenharmony_ci 71a34a8711Sopenharmony_ci relative_install_dir = "./ndk/" 72a34a8711Sopenharmony_ci 73a34a8711Sopenharmony_ci install_images = [ system_base_dir ] 74a34a8711Sopenharmony_ci 75a34a8711Sopenharmony_ci subsystem_name = "communication" 76a34a8711Sopenharmony_ci part_name = "ipc" 77a34a8711Sopenharmony_ci} 78