1# Copyright (c) 2021-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("//foundation/communication/netmanager_base/netmanager_base_config.gni") 16 17config("net_conn_manager_config") { 18 include_dirs = [ 19 "include", 20 "include/stub", 21 "$INNERKITS_ROOT/netconnclient/include/proxy", 22 "$INNERKITS_ROOT/netmanagernative/include", 23 "$NETCONNMANAGER_COMMON_DIR/include", 24 "$NETPOLICYMANAGER_SOURCE_DIR/include", 25 "$NETPOLICYMANAGER_SOURCE_DIR/include/stub", 26 "$NETSYSNATIVE_SOURCE_DIR/include/netsys", 27 "$NETSYSCONTROLLER_ROOT_DIR/include", 28 "$NETMANAGER_BASE_ROOT/services/netmanagernative/fwmarkclient/include", 29 "$INNERKITS_ROOT/netmanagernative/include", 30 ] 31} 32 33ohos_shared_library("net_conn_manager") { 34 sanitize = { 35 cfi = true 36 cfi_cross_dso = true 37 debug = false 38 } 39 40 branch_protector_ret = "pac_ret" 41 42 sources = [ 43 "$NETCONNMANAGER_COMMON_DIR/src/route_utils.cpp", 44 "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netpolicy/src/net_conn_service.cpp", 45 "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_factoryreset_callback.cpp", 46 "src/dns_result_call_back.cpp", 47 "src/nat464_service.cpp", 48 "src/net_activate.cpp", 49 "src/net_caps.cpp", 50 "src/net_conn_callback_proxy_wrapper.cpp", 51 "src/net_conn_event_handler.cpp", 52 "src/net_conn_service_iface.cpp", 53 "src/net_datashare_utils.cpp", 54 "src/net_http_probe.cpp", 55 "src/net_http_probe_result.cpp", 56 "src/net_http_proxy_tracker.cpp", 57 "src/net_monitor.cpp", 58 "src/net_proxy_userinfo.cpp", 59 "src/net_supplier.cpp", 60 "src/network.cpp", 61 "src/probe_thread.cpp", 62 "src/net_trace_route_probe.cpp", 63 "src/stub/net_conn_callback_proxy.cpp", 64 "src/stub/net_conn_service_stub.cpp", 65 "src/stub/net_detection_callback_proxy.cpp", 66 "src/stub/net_factoryreset_callback_proxy.cpp", 67 "src/stub/net_interface_callback_proxy.cpp", 68 "src/stub/net_supplier_callback_proxy.cpp", 69 ] 70 use_exceptions = true 71 72 configs = [ ":net_conn_manager_config" ] 73 74 deps = [ 75 "$INNERKITS_ROOT/netpolicyclient:net_policy_manager_if", 76 "$INNERKITS_ROOT/netstatsclient:net_stats_manager_if", 77 "$NETCONNMANAGER_COMMON_DIR:net_service_common", 78 "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager", 79 "$NETMANAGER_BASE_ROOT/services/netmanagernative/fwmarkclient:fwmark_client", 80 "$NETMANAGER_BASE_ROOT/utils:net_manager_common", 81 "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller", 82 ] 83 84 cflags = common_cflags + [ 85 "-fvisibility=hidden", 86 ] 87 88 cflags_cc = common_cflags + [ 89 "-fvisibility=hidden", 90 "-fvisibility-inlines-hidden", 91 ] 92 93 ldflags = [ 94 "-Wl,--exclude-libs=ALL", 95 "-Wl,--gc-sections", 96 ] 97 98 external_deps = [ 99 "ability_base:want", 100 "ability_base:zuri", 101 "ability_runtime:ability_manager", 102 "cJSON:cjson", 103 "c_utils:utils", 104 "common_event_service:cesfwk_innerkits", 105 "curl:curl_shared", 106 "data_share:datashare_common", 107 "data_share:datashare_consumer", 108 "eventhandler:libeventhandler", 109 "ffrt:libffrt", 110 "hisysevent:libhisysevent", 111 "hitrace:hitrace_meter", 112 "init:libbegetutil", 113 "ipc:ipc_core", 114 "os_account:os_account_innerkits", 115 "relational_store:native_rdb", 116 "safwk:system_ability_fwk", 117 "samgr:samgr_proxy", 118 "jerryscript:jerryscript_shared_not_lite", 119 ] 120 121 defines = [ 122 "NETMGR_LOG_TAG = \"NetConnManager\"", 123 "LOG_DOMAIN = 0xD0015B0", 124 ] 125 126 if (netmanager_base_enable_feature_sysvpn) { 127 defines += [ "SUPPORT_SYSVPN" ] 128 } 129 130 if(netmanager_base_enable_pac_proxy){ 131 defines += [ "NETMANAGER_ENABLE_PAC_PROXY" ] 132 external_deps += [ "jerryscript:jerryscript_shared_not_lite" ] 133 sources += [ "src/pac_functions.cpp" ] 134 sources += [ "src/net_pac_local_proxy_server.cpp" ] 135 sources += [ "src/net_pac_manager.cpp" ] 136 } 137 138 if (enable_netmgr_debug) { 139 defines += [ "NETMGR_DEBUG" ] 140 } 141 142 if (enable_sys_func) { 143 defines += [ "SYS_FUNC" ] 144 } 145 146 if (netmanager_base_enable_feature_wearable_distributed_net) { 147 defines += [ "FEATURE_WEARABLE_DISTRIBUTED_NET_ENABLE" ] 148 } 149 150 if (netmanager_base_feature_support_powermanager) { 151 defines += [ "FEATURE_SUPPORT_POWERMANAGER" ] 152 } 153 154 if (netmanager_base_enable_set_app_frozened) { 155 defines += [ "ENABLE_SET_APP_FROZENED" ] 156 } 157 158 if (netmanager_base_enable_feature_net_firewall) { 159 defines += [ "FEATURE_NET_FIREWALL_ENABLE" ] 160 } 161 162 if (netmanager_base_feature_enterprise_route_custom) { 163 defines += [ "FEATURE_ENTERPRISE_ROUTE_CUSTOM" ] 164 } 165 166 external_deps += [ "hilog:libhilog" ] 167 168 part_name = "netmanager_base" 169 subsystem_name = "communication" 170} 171 172ohos_static_library("net_conn_manager_static") { 173 testonly = true 174 use_exceptions = true 175 sources = [ 176 "$NETCONNMANAGER_COMMON_DIR/src/route_utils.cpp", 177 "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netpolicy/src/net_conn_service.cpp", 178 "$NETMANAGER_BASE_ROOT/frameworks/js/napi/netstats/src/net_factoryreset_callback.cpp", 179 "src/dns_result_call_back.cpp", 180 "src/nat464_service.cpp", 181 "src/net_activate.cpp", 182 "src/net_caps.cpp", 183 "src/net_conn_callback_proxy_wrapper.cpp", 184 "src/net_conn_event_handler.cpp", 185 "src/net_conn_service_iface.cpp", 186 "src/net_datashare_utils.cpp", 187 "src/net_http_probe.cpp", 188 "src/net_http_probe_result.cpp", 189 "src/net_http_proxy_tracker.cpp", 190 "src/net_monitor.cpp", 191 "src/net_proxy_userinfo.cpp", 192 "src/net_supplier.cpp", 193 "src/network.cpp", 194 "src/probe_thread.cpp", 195 "src/net_trace_route_probe.cpp", 196 "src/stub/net_conn_callback_proxy.cpp", 197 "src/stub/net_conn_service_stub.cpp", 198 "src/stub/net_detection_callback_proxy.cpp", 199 "src/stub/net_factoryreset_callback_proxy.cpp", 200 "src/stub/net_interface_callback_proxy.cpp", 201 "src/stub/net_supplier_callback_proxy.cpp", 202 ] 203 204 configs = [ ":net_conn_manager_config" ] 205 206 deps = [ 207 "$INNERKITS_ROOT/netpolicyclient:net_policy_manager_if", 208 "$INNERKITS_ROOT/netstatsclient:net_stats_manager_if", 209 "$NETCONNMANAGER_COMMON_DIR:net_service_common", 210 "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager", 211 "$NETMANAGER_BASE_ROOT/services/netmanagernative/fwmarkclient:fwmark_client", 212 "$NETMANAGER_BASE_ROOT/utils:net_manager_common", 213 "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller", 214 ] 215 216 external_deps = [ 217 "ability_base:zuri", 218 "ability_runtime:ability_manager", 219 "cJSON:cjson", 220 "c_utils:utils", 221 "common_event_service:cesfwk_innerkits", 222 "curl:curl_shared", 223 "data_share:datashare_common", 224 "data_share:datashare_consumer", 225 "eventhandler:libeventhandler", 226 "ffrt:libffrt", 227 "hisysevent:libhisysevent", 228 "hitrace:hitrace_meter", 229 "init:libbegetutil", 230 "ipc:ipc_core", 231 "os_account:os_account_innerkits", 232 "relational_store:native_rdb", 233 "safwk:system_ability_fwk", 234 "samgr:samgr_proxy", 235 "jerryscript:jerryscript_shared_not_lite", 236 ] 237 238 defines = [ 239 "NETMGR_LOG_TAG = \"NetConnManager\"", 240 "LOG_DOMAIN = 0xD0015B0", 241 "NETMANAGER_TEST", 242 ] 243 244 if (netmanager_base_enable_feature_sysvpn) { 245 defines += [ "SUPPORT_SYSVPN" ] 246 } 247 248 if(netmanager_base_enable_pac_proxy){ 249 defines += [ "NETMANAGER_ENABLE_PAC_PROXY" ] 250 external_deps += [ "jerryscript:jerryscript_shared_not_lite" ] 251 sources += [ "src/pac_functions.cpp" ] 252 sources += [ "src/net_pac_local_proxy_server.cpp" ] 253 sources += [ "src/net_pac_manager.cpp" ] 254 } 255 256 if (enable_netmgr_debug) { 257 defines += [ "NETMGR_DEBUG" ] 258 } 259 260 if (enable_sys_func) { 261 defines += [ "SYS_FUNC" ] 262 } 263 264 external_deps += [ "hilog:libhilog" ] 265 266 part_name = "netmanager_base" 267 subsystem_name = "communication" 268} 269