1# Copyright (c) 2022-2024 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")
15import(
16    "//foundation/distributedhardware/distributed_hardware_fwk/distributedhardwarefwk.gni")
17
18config("innerkits_external_config") {
19  include_dirs = [
20    "${innerkits_path}/include",
21    "${innerkits_path}/include/ipc",
22  ]
23}
24
25ohos_shared_library("libdhfwk_sdk") {
26  sanitize = {
27    boundary_sanitize = true
28    integer_overflow = true
29    ubsan = true
30    cfi = true
31    cfi_cross_dso = true
32    debug = false
33  }
34  branch_protector_ret = "pac_ret"
35  public_configs = [ ":innerkits_external_config" ]
36
37  include_dirs = [
38    "${av_center_kits_path}/include",
39    "${av_trans_path}/common/include",
40    "${av_trans_path}/interface",
41    "${innerkits_path}/include",
42    "${innerkits_path}/include/ipc",
43    "${common_path}/log/include",
44    "${common_path}/utils/include",
45    "${utils_path}/include",
46    "${utils_path}/include/log",
47    "${services_path}/distributedhardwarefwkservice/include",
48  ]
49
50  sources = [
51    "${av_center_kits_path}/src/av_trans_control_center_callback.cpp",
52    "${av_center_kits_path}/src/av_trans_control_center_callback_stub.cpp",
53    "${innerkits_path}/src/distributed_hardware_fwk_kit.cpp",
54    "${innerkits_path}/src/ipc/dhfwk_sa_manager.cpp",
55    "${innerkits_path}/src/ipc/distributed_hardware_proxy.cpp",
56    "${innerkits_path}/src/ipc/publisher_listener_stub.cpp",
57  ]
58
59  deps = [
60    "${services_path}/distributedhardwarefwkservice:distributedhardwarefwksvr",
61    "${utils_path}:distributedhardwareutils",
62  ]
63
64  defines = [
65    "HI_LOG_ENABLE",
66    "DH_LOG_TAG=\"dhfwkkit\"",
67    "LOG_DOMAIN=0xD004100",
68  ]
69
70  cflags = [
71    "-fstack-protector-strong",
72    "-D_FORTIFY_SOURCE=2",
73    "-O2",
74  ]
75
76  external_deps = [
77    "cJSON:cjson",
78    "c_utils:utils",
79    "hilog:libhilog",
80    "hisysevent:libhisysevent",
81    "ipc:ipc_core",
82    "safwk:system_ability_fwk",
83    "samgr:samgr_proxy",
84  ]
85
86  cflags_cc = [
87    "-DHILOG_ENABLE",
88    "-fstack-protector-strong",
89    "-D_FORTIFY_SOURCE=2",
90    "-O2",
91  ]
92
93  subsystem_name = "distributedhardware"
94
95  part_name = "distributed_hardware_fwk"
96}
97