1# Copyright (C) 2021 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15 16SUBSYSTEM_DIR = "//foundation/communication/ipc" 17IPC_CORE_ROOT = "$SUBSYSTEM_DIR/ipc/native" 18 19config("libipc_single_private_config") { 20 cflags_cc = [ 21 "-DCONFIG_IPC_SINGLE", 22 "-O2", 23 ] 24} 25ohos_shared_library("ipc_single") { 26 sanitize = { 27 integer_overflow = true 28 } 29 version_script = "libipc_single_map" 30 include_dirs = [ 31 "$IPC_CORE_ROOT/c/adapter/access_token/include", 32 "$SUBSYSTEM_DIR/utils/include", 33 "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include", 34 ] 35 sources = [ 36 "$IPC_CORE_ROOT/c/adapter/access_token/src/access_token_adapter.c", 37 "$IPC_CORE_ROOT/src/core/source/ipc_file_descriptor.cpp", 38 "$IPC_CORE_ROOT/src/core/source/ipc_object_proxy.cpp", 39 "$IPC_CORE_ROOT/src/core/source/ipc_object_stub.cpp", 40 "$IPC_CORE_ROOT/src/core/source/ipc_process_skeleton.cpp", 41 "$IPC_CORE_ROOT/src/core/source/ipc_skeleton.cpp", 42 "$IPC_CORE_ROOT/src/core/source/ipc_thread_pool.cpp", 43 "$IPC_CORE_ROOT/src/core/source/ipc_thread_skeleton.cpp", 44 "$IPC_CORE_ROOT/src/core/source/ipc_workthread.cpp", 45 "$IPC_CORE_ROOT/src/core/source/iremote_broker.cpp", 46 "$IPC_CORE_ROOT/src/core/source/iremote_object.cpp", 47 "$IPC_CORE_ROOT/src/core/source/message_option.cpp", 48 "$IPC_CORE_ROOT/src/core/source/message_parcel.cpp", 49 "$IPC_CORE_ROOT/src/core/source/peer_holder.cpp", 50 "$IPC_CORE_ROOT/src/mock/source/binder_connector.cpp", 51 "$IPC_CORE_ROOT/src/mock/source/binder_debug.cpp", 52 "$IPC_CORE_ROOT/src/mock/source/binder_invoker.cpp", 53 "$IPC_CORE_ROOT/src/mock/source/hitrace_invoker.cpp", 54 "$IPC_CORE_ROOT/src/mock/source/invoker_factory.cpp", 55 "$IPC_CORE_ROOT/src/mock/source/invoker_rawdata.cpp", 56 ] 57 58 configs = [ 59 "$SUBSYSTEM_DIR:ipc_util_config", 60 ":libipc_single_private_config", 61 ] 62 public_configs = [ "$SUBSYSTEM_DIR:ipc_util_config" ] 63 64 deps = [ "$IPC_CORE_ROOT/src/core:ipc_common" ] 65 66 external_deps = [ 67 "c_utils:utils", 68 "hilog:libhilog", 69 "hitrace:libhitracechain", 70 ] 71 72 innerapi_tags = [ 73 "chipsetsdk", 74 "platformsdk", 75 ] 76 install_images = [ system_base_dir ] 77 78 subsystem_name = "communication" 79 part_name = "ipc" 80} 81