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 "$UTILS_ROOT/native/base/include", 20 "$UTILS_ROOT/system/safwk/native/include", 21 "$THIRD_PARTY_ROOT/openssl/include", 22 "$BASE_INNERKITS_ROOT/netshareclient/include", 23 "$BASE_INNERKITS_ROOT/netshareclient/include/proxy", 24 "$BASE_INNERKITS_ROOT/netshareclient/include/proxy/ipccallback", 25 "$BASE_INNERKITS_ROOT/ethernetclient/include/proxy", 26 "$BASE_INNERKITS_ROOT/netstatsclient/include", 27 "$EXT_INNERKITS_ROOT/include", 28 "$EXT_INNERKITS_ROOT/netshareclient/include", 29 "$EXT_INNERKITS_ROOT/netshareclient/include/proxy", 30 "$EXT_INNERKITS_ROOT/netshareclient/include/proxy/ipccallback", 31 "$NETCONNMANAGER_COMMON_DIR/include", 32 "$NETMANAGER_EXT_ROOT/utils/log/include", 33 "$NETWORKSHAREMANAGER_SOURCE_DIR/include", 34 "$NETWORKSHAREMANAGER_SOURCE_DIR/include/stub", 35 "$NETWORKSHAREMANAGER_SOURCE_DIR/include/utils", 36 "$NETWORKSHAREMANAGER_UTILS_DIR/event_report/include", 37 "$BASE_INNERKITS_ROOT/include", 38 "$BASE_INNERKITS_ROOT/netconnclient/include", 39 "$BASE_INNERKITS_ROOT/netmanagernative/include", 40 "$BASE_INNERKITS_ROOT/dnsresolverclient/include", 41 "$NETSYSCONTROLLER_ROOT_DIR/include", 42 "$BLUETOOTH_ROOT/interfaces/inner_api/include", 43 "$NETMANAGER_BASE_ROOT/services/netmanagernative/include/netsys", 44 "$NETMANAGER_BASE_ROOT/utils/common_utils/include", 45 "$SAMGR_MANAGER_ROOT/interfaces/innerkits/samgr_proxy/include", 46 ] 47 if (communication_wifi_switch_enable) { 48 include_dirs += [ 49 "$WIFI_MANAGER_ROOT/interfaces/kits/c", 50 "$WIFI_MANAGER_ROOT/frameworks/native/interfaces", 51 ] 52 } 53 if (usb_manager_enable) { 54 include_dirs += [ 55 "$USB_MANAGER_ROOT/interfaces/innerkits/native/include", 56 "$USB_MANAGER_ROOT/services/zidl/include", 57 "$USB_MANAGER_ROOT/utils/native/include", 58 ] 59 } 60} 61 62ohos_shared_library("net_tether_manager") { 63 sanitize = { 64 cfi = true 65 cfi_cross_dso = true 66 blocklist = "./cfi_blocklist.txt" 67 debug = false 68 } 69 70 branch_protector_ret = "pac_ret" 71 72 sources = [ 73 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp", 74 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp", 75 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp", 76 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp", 77 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp", 78 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp", 79 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp", 80 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp", 81 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp", 82 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_daemon.cpp", 83 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_params.cpp", 84 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/stub/networkshare_service_stub.cpp", 85 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/edm_parameter_utils.cpp", 86 ] 87 88 configs = [ ":net_tether_manager_config" ] 89 90 deps = [ "$NETMANAGER_EXT_ROOT/utils:net_event_report" ] 91 92 cflags = [ 93 "-fvisibility=hidden", 94 "-fdata-sections", 95 "-ffunction-sections", 96 "-Os", 97 "-fstack-protector-strong", 98 "-D_FORTIFY_SOURCE=2", 99 "-O2", 100 ] 101 102 cflags_cc = [ 103 "-fvisibility-inlines-hidden", 104 "-Os", 105 "-fstack-protector-strong", 106 "-D_FORTIFY_SOURCE=2", 107 "-O2", 108 ] 109 110 ldflags = [ 111 "-Wl,--exclude-libs=ALL", 112 "-Wl,--gc-sections", 113 ] 114 115 external_deps = [ 116 "c_utils:utils", 117 "dhcp:dhcp_sdk", 118 "eventhandler:libeventhandler", 119 "ffrt:libffrt", 120 "init:libbeget_proxy", 121 "init:libbegetutil", 122 "ipc:ipc_core", 123 "netmanager_base:net_conn_manager_if", 124 "netmanager_base:net_data_share", 125 "netmanager_base:net_manager_common", 126 "netmanager_base:netsys_controller", 127 "safwk:system_ability_fwk", 128 ] 129 130 defines = [] 131 132 if (communication_wifi_switch_enable) { 133 defines += [ "WIFI_MODOULE" ] 134 external_deps += [ "wifi:wifi_sdk" ] 135 } 136 137 if (usb_manager_enable) { 138 defines += [ "USB_MODOULE" ] 139 external_deps += [ 140 "drivers_interface_usb:usb_idl_headers", 141 "usb_manager:usbsrv_client", 142 ] 143 } 144 145 if (communication_bluetooth_switch_enable) { 146 defines += [ "BLUETOOTH_MODOULE=1" ] 147 external_deps += [ "bluetooth:btframework" ] 148 } 149 150 defines += [ 151 "NETMGR_LOG_TAG = \"NetworkShareManager\"", 152 "LOG_DOMAIN = 0xD0015B0", 153 "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"", 154 ] 155 156 if (enable_netmgr_ext_debug) { 157 defines += [ "NETMGR_DEBUG" ] 158 } 159 160 external_deps += [ "hilog:libhilog" ] 161 162 part_name = "netmanager_ext" 163 subsystem_name = "communication" 164} 165 166ohos_static_library("net_tether_manager_static") { 167 testonly = true 168 sanitize = { 169 cfi = true 170 cfi_cross_dso = true 171 blocklist = "./cfi_blocklist.txt" 172 debug = false 173 } 174 175 branch_protector_ret = "pac_ret" 176 177 sources = [ 178 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp", 179 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp", 180 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp", 181 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp", 182 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp", 183 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp", 184 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp", 185 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp", 186 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp", 187 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_daemon.cpp", 188 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/router_advertisement_params.cpp", 189 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/stub/networkshare_service_stub.cpp", 190 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/utils/edm_parameter_utils.cpp", 191 ] 192 193 configs = [ ":net_tether_manager_config" ] 194 195 deps = [ 196 "$BASE_INNERKITS_ROOT/netconnclient:net_conn_manager_if", 197 "$NETMANAGER_BASE_ROOT/utils:net_data_share", 198 "$NETMANAGER_BASE_ROOT/utils:net_manager_common", 199 "$NETMANAGER_EXT_ROOT/utils:net_event_report", 200 "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller", 201 ] 202 203 external_deps = [ 204 "c_utils:utils", 205 "dhcp:dhcp_sdk", 206 "eventhandler:libeventhandler", 207 "ffrt:libffrt", 208 "init:libbeget_proxy", 209 "init:libbegetutil", 210 "ipc:ipc_core", 211 "safwk:system_ability_fwk", 212 ] 213 214 defines = [] 215 216 if (communication_wifi_switch_enable) { 217 defines += [ "WIFI_MODOULE" ] 218 external_deps += [ "wifi:wifi_sdk" ] 219 } 220 221 if (usb_manager_enable) { 222 defines += [ "USB_MODOULE" ] 223 external_deps += [ 224 "drivers_interface_usb:usb_idl_headers", 225 "usb_manager:usbsrv_client", 226 ] 227 } 228 229 if (communication_bluetooth_switch_enable) { 230 defines += [ "BLUETOOTH_MODOULE=1" ] 231 external_deps += [ "bluetooth:btframework" ] 232 } 233 234 defines += [ 235 "NETMGR_LOG_TAG = \"NetworkShareManager\"", 236 "LOG_DOMAIN = 0xD0015B0", 237 "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"", 238 ] 239 240 if (enable_netmgr_ext_debug) { 241 defines += [ "NETMGR_DEBUG" ] 242 } 243 244 external_deps += [ "hilog:libhilog" ] 245 246 part_name = "netmanager_ext" 247 subsystem_name = "communication" 248} 249 250## Install network_share_config.cfg to /system/etc/communication/netmanager_ext 251ohos_prebuilt_etc("network_share_config") { 252 source = "$NETMANAGER_EXT_ROOT/services/networksharemanager/network_share_config.cfg" 253 install_enable = true 254 relative_install_dir = "communication/netmanager_ext" 255 part_name = "netmanager_ext" 256} 257