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("//foundation/communication/netmanager_ext/netmanager_ext_config.gni") 16 17config("net_tether_manager_config") { 18 include_dirs = [ 19 "$EXT_INNERKITS_ROOT/include", 20 "$EXT_INNERKITS_ROOT/netshareclient/include", 21 "$EXT_INNERKITS_ROOT/netshareclient/include/proxy", 22 "$EXT_INNERKITS_ROOT/netshareclient/include/proxy/ipccallback", 23 "$NETWORKSHAREMANAGER_SOURCE_DIR/include", 24 "$NETWORKSHAREMANAGER_SOURCE_DIR/include/stub", 25 "$NETWORKSHAREMANAGER_SOURCE_DIR/include/utils", 26 "$NETWORKSHAREMANAGER_UTILS_DIR/event_report/include", 27 ] 28} 29 30ohos_shared_library("net_tether_manager") { 31 sanitize = { 32 cfi = true 33 cfi_cross_dso = true 34 blocklist = "./cfi_blocklist.txt" 35 debug = false 36 } 37 38 branch_protector_ret = "pac_ret" 39 40 sources = [ 41 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp", 42 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp", 43 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp", 44 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp", 45 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp", 46 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp", 47 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp", 48 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp", 49 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp", 50 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_daemon.cpp", 51 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_params.cpp", 52 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/edm_parameter_utils.cpp", 53 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/networkshare_utils.cpp", 54 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/sys_timer.cpp", 55 ] 56 57 configs = [ ":net_tether_manager_config" ] 58 59 deps = [ "$NETMANAGER_EXT_ROOT/utils:net_event_report" ] 60 deps += [ "$EXT_INNERKITS_ROOT/netshareclient:netshare_service_interface_stub" ] 61 62 cflags = common_cflags + memory_optimization_cflags 63 64 cflags_cc = common_cflags + memory_optimization_cflags_cc 65 66 ldflags = memory_optimization_ldflags 67 68 external_deps = [ 69 "ability_base:want", 70 "ability_base:zuri", 71 "ability_runtime:ability_manager", 72 "ability_runtime:extension_manager", 73 "bluetooth:btframework", 74 "c_utils:utils", 75 "common_event_service:cesfwk_innerkits", 76 "dhcp:dhcp_sdk", 77 "eventhandler:libeventhandler", 78 "ffrt:libffrt", 79 "hicollie:libhicollie", 80 "hisysevent:libhisysevent", 81 "init:libbeget_proxy", 82 "init:libbegetutil", 83 "ipc:ipc_core", 84 "netmanager_base:net_conn_manager_if", 85 "netmanager_base:net_data_share", 86 "netmanager_base:net_manager_common", 87 "netmanager_base:net_native_manager_if", 88 "netmanager_base:net_stats_manager_if", 89 "netmanager_base:net_service_common", 90 "netmanager_base:netsys_controller", 91 "safwk:system_ability_fwk", 92 "samgr:samgr_proxy", 93 "time_service:time_client", 94 ] 95 96 defines = [] 97 98 if (communication_wifi_switch_enable) { 99 defines += [ "WIFI_MODOULE" ] 100 external_deps += [ "wifi:wifi_sdk" ] 101 } 102 103 if (battery_manager_switch_enable) { 104 defines += [ "SUPPORT_BATTERY_MANAGER" ] 105 external_deps += [ "battery_manager:batterysrv_client" ] 106 } 107 108 if (usb_manager_enable) { 109 defines += [ "USB_MODOULE" ] 110 external_deps += [ 111 "drivers_interface_usb:usb_idl_headers", 112 "usb_manager:usbsrv_client", 113 ] 114 } 115 116 if (communication_bluetooth_switch_enable) { 117 defines += [ "BLUETOOTH_MODOULE=1" ] 118 external_deps += [ "bluetooth:btframework" ] 119 } 120 121 if (netmanager_ext_share_notification_enable) { 122 defines += [ "SHARE_NOTIFICATION_ENABLE" ] 123 sources += 124 [ "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_notification.cpp" ] 125 } 126 127 if (netmanager_ext_share_traffic_limit_enable) { 128 external_deps += [ 129 "cellular_data:tel_cellular_data_api", 130 "core_service:tel_core_service_api", 131 "data_share:datashare_consumer", 132 ] 133 defines += [ "SHARE_TRAFFIC_LIMIT_ENABLE" ] 134 sources += 135 [ "$NETMANAGER_EXT_ROOT/frameworks/js/napi/vpn/src/networkshare_trafficlimit.cpp" ] 136 } 137 138 defines += [ 139 "NETMGR_LOG_TAG = \"NetworkShareManager\"", 140 "LOG_DOMAIN = 0xD0015B0", 141 "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"", 142 ] 143 144 if (enable_netmgr_ext_debug) { 145 defines += [ "NETMGR_DEBUG" ] 146 } 147 148 external_deps += [ "hilog:libhilog" ] 149 150 part_name = "netmanager_ext" 151 subsystem_name = "communication" 152} 153 154ohos_static_library("net_tether_manager_static") { 155 testonly = true 156 sanitize = { 157 cfi = true 158 cfi_cross_dso = true 159 blocklist = "./cfi_blocklist.txt" 160 debug = false 161 } 162 163 branch_protector_ret = "pac_ret" 164 165 sources = [ 166 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp", 167 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp", 168 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp", 169 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp", 170 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp", 171 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp", 172 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp", 173 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp", 174 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp", 175 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_daemon.cpp", 176 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_params.cpp", 177 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/edm_parameter_utils.cpp", 178 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/networkshare_utils.cpp", 179 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/sys_timer.cpp", 180 ] 181 182 configs = [ ":net_tether_manager_config" ] 183 184 deps = [ 185 "$NETMANAGER_EXT_ROOT/utils:net_event_report", 186 ] 187 deps += [ "$EXT_INNERKITS_ROOT/netshareclient:netshare_service_interface_stub" ] 188 189 external_deps = [ 190 "ability_base:want", 191 "ability_base:zuri", 192 "ability_runtime:ability_manager", 193 "ability_runtime:extension_manager", 194 "bluetooth:btframework", 195 "c_utils:utils", 196 "common_event_service:cesfwk_innerkits", 197 "dhcp:dhcp_sdk", 198 "eventhandler:libeventhandler", 199 "ffrt:libffrt", 200 "hicollie:libhicollie", 201 "hisysevent:libhisysevent", 202 "init:libbeget_proxy", 203 "init:libbegetutil", 204 "ipc:ipc_core", 205 "netmanager_base:netsys_controller", 206 "netmanager_base:net_conn_manager_if", 207 "netmanager_base:net_data_share", 208 "netmanager_base:net_manager_common", 209 "netmanager_base:net_native_manager_if", 210 "netmanager_base:net_service_common", 211 "netmanager_base:net_stats_manager_if", 212 "safwk:system_ability_fwk", 213 "samgr:samgr_proxy", 214 "time_service:time_client", 215 ] 216 217 defines = [] 218 219 if (communication_wifi_switch_enable) { 220 defines += [ "WIFI_MODOULE" ] 221 external_deps += [ "wifi:wifi_sdk" ] 222 } 223 224 if (battery_manager_switch_enable) { 225 defines += [ "SUPPORT_BATTERY_MANAGER" ] 226 external_deps += [ "battery_manager:batterysrv_client" ] 227 } 228 229 if (usb_manager_enable) { 230 defines += [ "USB_MODOULE" ] 231 external_deps += [ 232 "drivers_interface_usb:usb_idl_headers", 233 "usb_manager:usbsrv_client", 234 ] 235 } 236 237 if (communication_bluetooth_switch_enable) { 238 defines += [ "BLUETOOTH_MODOULE=1" ] 239 external_deps += [ "bluetooth:btframework" ] 240 } 241 242 if (netmanager_ext_share_notification_enable) { 243 defines += [ "SHARE_NOTIFICATION_ENABLE" ] 244 sources += 245 [ "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_notification.cpp" ] 246 } 247 248 if (netmanager_ext_share_traffic_limit_enable) { 249 external_deps += [ 250 "cellular_data:tel_cellular_data_api", 251 "core_service:tel_core_service_api", 252 "data_share:datashare_consumer", 253 ] 254 defines += [ "SHARE_TRAFFIC_LIMIT_ENABLE" ] 255 sources += 256 [ "$NETMANAGER_EXT_ROOT/frameworks/js/napi/vpn/src/networkshare_trafficlimit.cpp" ] 257 } 258 259 defines += [ 260 "NETMGR_LOG_TAG = \"NetworkShareManager\"", 261 "LOG_DOMAIN = 0xD0015B0", 262 "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"", 263 ] 264 265 if (enable_netmgr_ext_debug) { 266 defines += [ "NETMGR_DEBUG" ] 267 } 268 269 external_deps += [ "hilog:libhilog" ] 270 271 part_name = "netmanager_ext" 272 subsystem_name = "communication" 273} 274 275## Install network_share_config.cfg to /system/etc/communication/netmanager_ext 276ohos_prebuilt_etc("network_share_config") { 277 source = "$NETMANAGER_EXT_ROOT/services/networksharemanager/network_share_config.cfg" 278 install_enable = true 279 relative_install_dir = "communication/netmanager_ext" 280 part_name = "netmanager_ext" 281 subsystem_name = "communication" 282} 283