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