1# Copyright (c) 2022-2023 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/json/include", 22 "$THIRD_PARTY_ROOT/openssl/include", 23 "$BASE_INNERKITS_ROOT/netshareclient/include", 24 "$BASE_INNERKITS_ROOT/netshareclient/include/proxy", 25 "$BASE_INNERKITS_ROOT/netshareclient/include/proxy/ipccallback", 26 "$BASE_INNERKITS_ROOT/ethernetclient/include/proxy", 27 "$BASE_INNERKITS_ROOT/netstatsclient/include", 28 "$EXT_INNERKITS_ROOT/include", 29 "$EXT_INNERKITS_ROOT/netshareclient/include", 30 "$EXT_INNERKITS_ROOT/netshareclient/include/proxy", 31 "$EXT_INNERKITS_ROOT/netshareclient/include/proxy/ipccallback", 32 "$NETCONNMANAGER_COMMON_DIR/include", 33 "$NETMANAGER_EXT_ROOT/utils/log/include", 34 "$NETWORKSHAREMANAGER_SOURCE_DIR/include", 35 "$NETWORKSHAREMANAGER_SOURCE_DIR/include/stub", 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 "$WIFI_MANAGER_ROOT/interfaces/kits/c", 43 "$WIFI_MANAGER_ROOT/frameworks/native/interfaces", 44 "$DHCP_MANAGER_ROOT/interfaces/inner_api/interfaces", 45 "$DHCP_MANAGER_ROOT/interfaces/inner_api/include", 46 "$BLUETOOTH_ROOT/interfaces/inner_api/include", 47 "$USB_MANAGER_ROOT/interfaces/innerkits/native/include", 48 "$USB_MANAGER_ROOT/utils/native/include", 49 "$USB_MANAGER_ROOT/services/zidl/include", 50 "//third_party/jsoncpp/include/json", 51 "$NETMANAGER_BASE_ROOT/services/netmanagernative/include/netsys", 52 "$NETMANAGER_BASE_ROOT/utils/common_utils/include", 53 "$SAMGR_MANAGER_ROOT/interfaces/innerkits/samgr_proxy/include", 54 ] 55} 56 57ohos_shared_library("net_tether_manager") { 58 sources = [ 59 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp", 60 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp", 61 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp", 62 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp", 63 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp", 64 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp", 65 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp", 66 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp", 67 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp", 68 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/stub/networkshare_service_stub.cpp", 69 ] 70 71 configs = [ ":net_tether_manager_config" ] 72 73 deps = [ "$NETMANAGER_EXT_ROOT/utils:net_event_report" ] 74 75 cflags = [ 76 "-fvisibility=hidden", 77 "-fdata-sections", 78 "-ffunction-sections", 79 "-Os", 80 ] 81 82 cflags_cc = [ 83 "-fvisibility-inlines-hidden", 84 "-Os", 85 ] 86 87 ldflags = [ 88 "-Wl,--exclude-libs=ALL", 89 "-Wl,--gc-sections", 90 ] 91 92 external_deps = [ 93 "c_utils:utils", 94 "dhcp:dhcp_manager_service", 95 "drivers_interface_usb:usb_idl_headers", 96 "eventhandler:libeventhandler", 97 "ipc:ipc_core", 98 "netmanager_base:net_conn_manager_if", 99 "netmanager_base:net_manager_common", 100 "netmanager_base:netsys_controller", 101 "safwk:system_ability_fwk", 102 "usb_manager:usbsrv_client", 103 "wifi:wifi_sdk", 104 ] 105 106 if (!defined(global_parts_info) || 107 defined(global_parts_info.communication_bluetooth)) { 108 defines = [ "BLUETOOTH_MODOULE=1" ] 109 external_deps += [ "bluetooth:btframework" ] 110 } else { 111 defines = [] 112 } 113 114 defines += [ 115 "NETMGR_LOG_TAG = \"NetworkShareManager\"", 116 "LOG_DOMAIN = 0xD0015B0", 117 "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"", 118 ] 119 120 if (enable_netmgr_ext_debug) { 121 defines += [ "NETMGR_DEBUG" ] 122 } 123 124 external_deps += [ "hilog:libhilog" ] 125 126 part_name = "netmanager_ext" 127 subsystem_name = "communication" 128} 129 130ohos_static_library("net_tether_manager_static") { 131 testonly = true 132 sources = [ 133 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_proxy.cpp", 134 "$NETWORKSHAREMANAGER_INNERKITS_SOURCE_DIR/src/proxy/ipccallback/sharing_event_callback_stub.cpp", 135 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_configuration.cpp", 136 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_hisysevent.cpp", 137 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_main_statemachine.cpp", 138 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_service.cpp", 139 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_sub_statemachine.cpp", 140 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_tracker.cpp", 141 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/networkshare_upstreammonitor.cpp", 142 "$NETWORKSHAREMANAGER_SOURCE_DIR/src/stub/networkshare_service_stub.cpp", 143 ] 144 145 configs = [ ":net_tether_manager_config" ] 146 147 deps = [ 148 "$BASE_INNERKITS_ROOT/netconnclient:net_conn_manager_if", 149 "$DHCP_MANAGER_ROOT/services/mgr_service:dhcp_manager_service", 150 "$NETMANAGER_BASE_ROOT/utils:net_manager_common", 151 "$NETMANAGER_EXT_ROOT/utils:net_event_report", 152 "$NETSYSCONTROLLER_ROOT_DIR:netsys_controller", 153 "$USB_MANAGER_ROOT/interfaces/innerkits:usbsrv_client", 154 ] 155 156 external_deps = [ 157 "c_utils:utils", 158 "drivers_interface_usb:usb_idl_headers", 159 "eventhandler:libeventhandler", 160 "ipc:ipc_core", 161 "safwk:system_ability_fwk", 162 "wifi:wifi_sdk", 163 ] 164 165 if (!defined(global_parts_info) || 166 defined(global_parts_info.communication_bluetooth)) { 167 defines = [ "BLUETOOTH_MODOULE=1" ] 168 external_deps += [ "bluetooth:btframework" ] 169 } else { 170 defines = [] 171 } 172 173 defines += [ 174 "NETMGR_LOG_TAG = \"NetworkShareManager\"", 175 "LOG_DOMAIN = 0xD0015B0", 176 "NETWORK_SHARING_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/network_share_config.cfg\"", 177 ] 178 179 if (enable_netmgr_ext_debug) { 180 defines += [ "NETMGR_DEBUG" ] 181 } 182 183 external_deps += [ "hilog:libhilog" ] 184 185 part_name = "netmanager_ext" 186 subsystem_name = "communication" 187} 188 189## Install network_share_config.cfg to /system/etc/communication/netmanager_ext 190ohos_prebuilt_etc("network_share_config") { 191 source = "$NETMANAGER_EXT_ROOT/services/networksharemanager/network_share_config.cfg" 192 install_enable = true 193 relative_install_dir = "communication/netmanager_ext" 194 part_name = "netmanager_ext" 195} 196