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