• 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_conn_manager_if_config") {
18  # header file path
19  include_dirs = [
20    "$INNERKITS_ROOT/netconnclient/include",
21    "$INNERKITS_ROOT/netconnclient/include/proxy",
22    "$INNERKITS_ROOT/include",
23  ]
24
25  cflags = []
26  if (is_double_framework) {
27    cflags += [ "-DCONFIG_DUAL_FRAMEWORK" ]
28  }
29  if (target_cpu == "arm") {
30    cflags += [ "-DBINDER_IPC_32BIT" ]
31  }
32  if (is_standard_system) {
33    cflags += [ "-DCONFIG_STANDARD_SYSTEM" ]
34  }
35  if (defined(build_public_version) && build_public_version) {
36    cflags += [ "-DBUILD_PUBLIC_VERSION" ]
37  }
38}
39
40ohos_source_set("net_conn_parcel") {
41  sources = [
42    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/http_proxy.cpp",
43    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/inet_addr.cpp",
44    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/net_all_capabilities.cpp",
45    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/net_interface_config.cpp",
46    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/net_link_info.cpp",
47    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/net_specifier.cpp",
48    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/net_supplier_info.cpp",
49    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/route.cpp",
50  ]
51  sanitize = {
52    cfi = true
53    debug = false
54  }
55  include_dirs = [
56    "$INNERKITS_ROOT/include",
57    "$INNERKITS_ROOT/netconnclient/include",
58    "$INNERKITS_ROOT/netmanagernative/include",
59    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
60  ]
61
62  deps = [ "$NETMANAGER_BASE_ROOT/utils:net_manager_common" ]
63
64  external_deps = [ "c_utils:utils" ]
65  external_deps += [ "hilog:libhilog" ]
66
67  part_name = "netmanager_base"
68  subsystem_name = "communication"
69}
70
71ohos_shared_library("net_conn_manager_if") {
72  sanitize = {
73    cfi = true
74    blocklist = "./connect_blocklist.txt"
75    debug = false
76  }
77  cflags = [
78    "-fstack-protector-strong",
79    "-D_FORTIFY_SOURCE=2",
80    "-O2",
81  ]
82
83  cflags_cc = [
84    "-fstack-protector-strong",
85    "-D_FORTIFY_SOURCE=2",
86    "-O2",
87  ]
88
89  sources = [
90    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/net_conn_client.cpp",
91    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/net_handle.cpp",
92    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/net_supplier_callback_base.cpp",
93    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/network_security_config.cpp",
94    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/proxy/net_conn_callback_stub.cpp",
95    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/proxy/net_conn_service_proxy.cpp",
96    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/proxy/net_detection_callback_stub.cpp",
97    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/proxy/net_factoryreset_callback_stub.cpp",
98    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/proxy/net_interface_callback_stub.cpp",
99    "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/proxy/net_supplier_callback_stub.cpp",
100  ]
101
102  include_dirs = [
103    "$INNERKITS_ROOT/netmanagernative/include",
104    "$NETMANAGERNATIVE_ROOT/fwmarkclient/include",
105    "$NETMANAGER_BASE_ROOT/utils/log/include",
106    "$NETMANAGER_BASE_ROOT/utils/bundle_utils/include",
107    "//third_party/musl/porting/linux/user/src/hook",
108    "//third_party/openssl/include",
109  ]
110
111  version_script = "libnetconn_kits.map"
112
113  public_configs = [ ":net_conn_manager_if_config" ]
114
115  deps = [
116    ":net_conn_parcel",
117    "$NETMANAGER_BASE_ROOT/services/netmanagernative/fwmarkclient:fwmark_client",
118    "$THIRD_PARTY_ROOT/jsoncpp:jsoncpp",
119    "$THIRD_PARTY_ROOT/openssl:libcrypto_shared",
120    "$THIRD_PARTY_ROOT/openssl:libssl_shared",
121  ]
122
123  external_deps = [
124    "ipc:ipc_core",
125    "samgr:samgr_proxy",
126  ]
127
128  defines = [
129    "NETMGR_LOG_TAG = \"NetConnManager\"",
130    "LOG_DOMAIN = 0xD0015B0",
131  ]
132
133  if (enable_netmgr_debug) {
134    defines += [ "NETMGR_DEBUG" ]
135  }
136
137  external_deps += [ "hilog:libhilog" ]
138
139  innerapi_tags = [
140    "platformsdk",
141    "sasdk",
142  ]
143  part_name = "netmanager_base"
144  subsystem_name = "communication"
145}
146
147config("socket_permission_config") {
148  include_dirs = [ "$INNERKITS_ROOT/netconnclient/include" ]
149}
150
151ohos_shared_library("socket_permission") {
152  sanitize = {
153    cfi = true
154    boundary_sanitize = true
155    all_ubsan = true
156    debug = false
157  }
158
159  cflags = [
160    "-fstack-protector-strong",
161    "-D_FORTIFY_SOURCE=2",
162    "-O2",
163  ]
164
165  cflags_cc = [
166    "-fstack-protector-strong",
167    "-D_FORTIFY_SOURCE=2",
168    "-O2",
169  ]
170
171  sources = [ "$NETCONNMANAGER_INNERKITS_SOURCE_DIR/src/socket_permission.cpp" ]
172  deps = [ "$INNERKITS_ROOT/netconnclient:net_conn_manager_if" ]
173  public_configs = [ ":socket_permission_config" ]
174  part_name = "netmanager_base"
175  subsystem_name = "communication"
176}
177