• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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")
15import("//foundation/communication/netmanager_base/netmanager_base_config.gni")
16
17config("net_policy_manager_if_config") {
18  # header file path
19  include_dirs = [
20    "$INNERKITS_ROOT/include",
21    "$INNERKITS_ROOT/netpolicyclient/include",
22    "$INNERKITS_ROOT/netpolicyclient/include/proxy",
23    "$INNERKITS_ROOT/netconnclient/include",
24    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
25  ]
26
27  cflags = []
28  if (is_double_framework) {
29    cflags += [ "-DCONFIG_DUAL_FRAMEWORK" ]
30  }
31  if (target_cpu == "arm") {
32    cflags += [ "-DBINDER_IPC_32BIT" ]
33  }
34  if (is_standard_system) {
35    cflags += [ "-DCONFIG_STANDARD_SYSTEM" ]
36  }
37  if (defined(build_public_version) && build_public_version) {
38    cflags += [ "-DBUILD_PUBLIC_VERSION" ]
39  }
40}
41
42ohos_source_set("net_policy_parcel") {
43  sources =
44      [ "$NETPOLICYMANAGER_INNERKITS_SOURCE_DIR/src/net_quota_policy.cpp" ]
45
46  include_dirs = [
47    "$INNERKITS_ROOT/include",
48    "$INNERKITS_ROOT/netpolicyclient/include",
49    "$INNERKITS_ROOT/netconnclient/include",
50    "$NETMANAGER_BASE_ROOT/utils/log/include",
51  ]
52
53  deps = [ "$NETMANAGER_BASE_ROOT/utils:net_manager_common" ]
54  cflags = [
55    "-flto",
56    "-fsanitize=cfi",
57    "-fsanitize-cfi-cross-dso",
58    "-fvisibility=hidden",
59  ]
60  ldflags = [
61    "-flto",
62    "-fsanitize=cfi",
63    "-fsanitize-cfi-cross-dso",
64  ]
65  external_deps = [ "c_utils:utils" ]
66  external_deps += [ "hilog:libhilog" ]
67
68  part_name = "netmanager_base"
69  subsystem_name = "communication"
70}
71
72ohos_shared_library("net_policy_manager_if") {
73  sanitize = {
74    cfi = true
75    cfi_cross_dso = true
76    boundary_sanitize = true
77    all_ubsan = true
78    debug = false
79  }
80
81  include_dirs = [ "$NETMANAGER_BASE_ROOT/utils/log/include" ]
82
83  sources = [
84    "$NETPOLICYMANAGER_INNERKITS_SOURCE_DIR/src/net_policy_client.cpp",
85    "$NETPOLICYMANAGER_INNERKITS_SOURCE_DIR/src/proxy/net_policy_callback_stub.cpp",
86    "$NETPOLICYMANAGER_INNERKITS_SOURCE_DIR/src/proxy/net_policy_service_proxy.cpp",
87  ]
88
89  version_script = "libnetpolicy_kits.map"
90
91  public_configs = [ ":net_policy_manager_if_config" ]
92
93  deps = [ ":net_policy_parcel" ]
94
95  external_deps = [
96    "ipc:ipc_single",
97    "samgr:samgr_proxy",
98  ]
99
100  defines = [
101    "NETMGR_LOG_TAG = \"NetPolicyManager\"",
102    "LOG_DOMAIN = 0xD0015B0",
103  ]
104
105  if (enable_netmgr_debug) {
106    defines += [ "NETMGR_DEBUG" ]
107  }
108
109  external_deps += [ "hilog:libhilog" ]
110
111  innerapi_tags = [ "platformsdk" ]
112  part_name = "netmanager_base"
113  subsystem_name = "communication"
114}
115