18e745fdaSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 28e745fdaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 38e745fdaSopenharmony_ci# you may not use this file except in compliance with the License. 48e745fdaSopenharmony_ci# You may obtain a copy of the License at 58e745fdaSopenharmony_ci# 68e745fdaSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 78e745fdaSopenharmony_ci# 88e745fdaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 98e745fdaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 108e745fdaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 118e745fdaSopenharmony_ci# See the License for the specific language governing permissions and 128e745fdaSopenharmony_ci# limitations under the License. 138e745fdaSopenharmony_ci 148e745fdaSopenharmony_ciimport("//build/ohos.gni") 158e745fdaSopenharmony_ciimport("//foundation/communication/netmanager_ext/netmanager_ext_config.gni") 168e745fdaSopenharmony_ci 178e745fdaSopenharmony_ciconfig("net_vpn_extension_if_config") { 188e745fdaSopenharmony_ci visibility = [ ":*" ] 198e745fdaSopenharmony_ci include_dirs = [ 208e745fdaSopenharmony_ci "include", 218e745fdaSopenharmony_ci "include/ipc", 228e745fdaSopenharmony_ci "$BASE_INNERKITS_ROOT/include", 238e745fdaSopenharmony_ci "$BASE_INNERKITS_ROOT/netconnclient/include", 248e745fdaSopenharmony_ci "$BASE_INNERKITS_ROOT/netmanagernative/include", 258e745fdaSopenharmony_ci "$NETMANAGERNATIVE_ROOT/fwmarkclient/include", 268e745fdaSopenharmony_ci "$EXT_INNERKITS_ROOT/include", 278e745fdaSopenharmony_ci "$NETMANAGER_EXT_ROOT/utils/log/include", 288e745fdaSopenharmony_ci "$ABILITY_RUNTIME_SERVICES_PATH/common/include", 298e745fdaSopenharmony_ci "$ABILITY_RUNTIME_NAPI_PATH/inner/napi_common", 308e745fdaSopenharmony_ci "$ABILITY_RUNTIME_INNER_API_PATH/dataobs_manager/include", 318e745fdaSopenharmony_ci "$ABILITY_RUNTIME_INNER_API_PATH/runtime/include", 328e745fdaSopenharmony_ci "$ABILITY_RUNTIME_KITS_PATH/native/appkit/ability_runtime", 338e745fdaSopenharmony_ci "$ABILITY_RUNTIME_KITS_PATH/native/ability/ability_runtime", 348e745fdaSopenharmony_ci "$ABILITY_RUNTIME_KITS_PATH/native/ability/native", 358e745fdaSopenharmony_ci "$ABILITY_DISPLAY_MANAGER/interfaces/innerkits/dm", 368e745fdaSopenharmony_ci ] 378e745fdaSopenharmony_ci 388e745fdaSopenharmony_ci defines = [] 398e745fdaSopenharmony_ci if (is_double_framework) { 408e745fdaSopenharmony_ci defines += [ "CONFIG_DUAL_FRAMEWORK" ] 418e745fdaSopenharmony_ci } 428e745fdaSopenharmony_ci if (target_cpu == "arm") { 438e745fdaSopenharmony_ci defines += [ "BINDER_IPC_32BIT" ] 448e745fdaSopenharmony_ci } 458e745fdaSopenharmony_ci if (is_standard_system) { 468e745fdaSopenharmony_ci defines += [ "CONFIG_STANDARD_SYSTEM" ] 478e745fdaSopenharmony_ci } 488e745fdaSopenharmony_ci if (defined(build_public_version) && build_public_version) { 498e745fdaSopenharmony_ci defines += [ "BUILD_PUBLIC_VERSION" ] 508e745fdaSopenharmony_ci } 518e745fdaSopenharmony_ci} 528e745fdaSopenharmony_ci 538e745fdaSopenharmony_ciohos_shared_library("vpn_extension") { 548e745fdaSopenharmony_ci sanitize = { 558e745fdaSopenharmony_ci cfi = true 568e745fdaSopenharmony_ci cfi_cross_dso = true 578e745fdaSopenharmony_ci debug = false 588e745fdaSopenharmony_ci } 598e745fdaSopenharmony_ci 608e745fdaSopenharmony_ci branch_protector_ret = "pac_ret" 618e745fdaSopenharmony_ci 628e745fdaSopenharmony_ci sources = [ 638e745fdaSopenharmony_ci "$ABILITY_RUNTIME_PATH/frameworks/native/ability/native/ability_business_error/ability_business_error.cpp", 648e745fdaSopenharmony_ci "$VPN_EXTENSION_SOURCE_DIR/src/js_vpn_extension.cpp", 658e745fdaSopenharmony_ci "$VPN_EXTENSION_SOURCE_DIR/src/js_vpn_extension_context.cpp", 668e745fdaSopenharmony_ci "$VPN_EXTENSION_SOURCE_DIR/src/vpn_extension.cpp", 678e745fdaSopenharmony_ci "$VPN_EXTENSION_SOURCE_DIR/src/vpn_extension_context.cpp", 688e745fdaSopenharmony_ci ] 698e745fdaSopenharmony_ci configs = [ ":net_vpn_extension_if_config" ] 708e745fdaSopenharmony_ci public_configs = [ ":net_vpn_extension_if_config" ] 718e745fdaSopenharmony_ci 728e745fdaSopenharmony_ci include_dirs = [ 738e745fdaSopenharmony_ci "$BASE_INNERKITS_ROOT/include", 748e745fdaSopenharmony_ci "$BASE_INNERKITS_ROOT/netconnclient/include", 758e745fdaSopenharmony_ci "$EXT_INNERKITS_ROOT/include", 768e745fdaSopenharmony_ci "$NETMANAGER_EXT_ROOT/utils/log/include", 778e745fdaSopenharmony_ci "$BASE_INNERKITS_ROOT/netvpnclient/include", 788e745fdaSopenharmony_ci "${ABILITY_RUNTIME_PATH}/interfaces/kits/native/ability/native", 798e745fdaSopenharmony_ci "$NETMANAGER_BASE_ROOT/utils/napi_utils/include", 808e745fdaSopenharmony_ci ] 818e745fdaSopenharmony_ci 828e745fdaSopenharmony_ci deps = [ 838e745fdaSopenharmony_ci "$NETMANAGER_EXT_ROOT/interfaces/innerkits/netvpnclient:net_vpn_manager_if", 848e745fdaSopenharmony_ci "$NETMANAGER_EXT_ROOT/utils:net_manager_ext_common", 858e745fdaSopenharmony_ci ] 868e745fdaSopenharmony_ci 878e745fdaSopenharmony_ci external_deps = [ 888e745fdaSopenharmony_ci "ability_base:configuration", 898e745fdaSopenharmony_ci "ability_base:want", 908e745fdaSopenharmony_ci "ability_runtime:ability_connect_callback_stub", 918e745fdaSopenharmony_ci "ability_runtime:ability_context_native", 928e745fdaSopenharmony_ci "ability_runtime:ability_manager", 938e745fdaSopenharmony_ci "ability_runtime:abilitykit_native", 948e745fdaSopenharmony_ci "ability_runtime:app_context", 958e745fdaSopenharmony_ci "ability_runtime:dataobs_manager", 968e745fdaSopenharmony_ci "ability_runtime:extensionkit_native", 978e745fdaSopenharmony_ci "ability_runtime:napi_common", 988e745fdaSopenharmony_ci "ability_runtime:runtime", 998e745fdaSopenharmony_ci "access_token:libaccesstoken_sdk", 1008e745fdaSopenharmony_ci "access_token:libtokenid_sdk", 1018e745fdaSopenharmony_ci "c_utils:utils", 1028e745fdaSopenharmony_ci "common_event_service:cesfwk_innerkits", 1038e745fdaSopenharmony_ci "eventhandler:libeventhandler", 1048e745fdaSopenharmony_ci "hilog:libhilog", 1058e745fdaSopenharmony_ci "hitrace:hitrace_meter", 1068e745fdaSopenharmony_ci "ipc:ipc_core", 1078e745fdaSopenharmony_ci "ipc:ipc_napi", 1088e745fdaSopenharmony_ci "ipc:ipc_single", 1098e745fdaSopenharmony_ci "napi:ace_napi", 1108e745fdaSopenharmony_ci "netmanager_base:fwmark_client", 1118e745fdaSopenharmony_ci "netmanager_base:napi_utils", 1128e745fdaSopenharmony_ci "netmanager_base:net_conn_parcel", 1138e745fdaSopenharmony_ci "netmanager_base:net_manager_common", 1148e745fdaSopenharmony_ci "safwk:system_ability_fwk", 1158e745fdaSopenharmony_ci "samgr:samgr_proxy", 1168e745fdaSopenharmony_ci "window_manager:libdm", 1178e745fdaSopenharmony_ci "window_manager:libwm", 1188e745fdaSopenharmony_ci ] 1198e745fdaSopenharmony_ci 1208e745fdaSopenharmony_ci defines = [ 1218e745fdaSopenharmony_ci "NETMGR_LOG_TAG = \"NetworkVpn\"", 1228e745fdaSopenharmony_ci "LOG_DOMAIN = 0xD0015B0", 1238e745fdaSopenharmony_ci ] 1248e745fdaSopenharmony_ci 1258e745fdaSopenharmony_ci if (enable_netmgr_ext_debug) { 1268e745fdaSopenharmony_ci defines += [ "NETMGR_DEBUG" ] 1278e745fdaSopenharmony_ci } 1288e745fdaSopenharmony_ci 1298e745fdaSopenharmony_ci part_name = "netmanager_ext" 1308e745fdaSopenharmony_ci subsystem_name = "communication" 1318e745fdaSopenharmony_ci} 1328e745fdaSopenharmony_ci 1338e745fdaSopenharmony_ciohos_shared_library("vpn_extension_module") { 1348e745fdaSopenharmony_ci sanitize = { 1358e745fdaSopenharmony_ci cfi = true 1368e745fdaSopenharmony_ci cfi_cross_dso = true 1378e745fdaSopenharmony_ci debug = false 1388e745fdaSopenharmony_ci } 1398e745fdaSopenharmony_ci 1408e745fdaSopenharmony_ci branch_protector_ret = "pac_ret" 1418e745fdaSopenharmony_ci 1428e745fdaSopenharmony_ci include_dirs = 1438e745fdaSopenharmony_ci [ "$VPN_EXTENSION_SOURCE_DIR/interfaces/innerkits/vpnextension" ] 1448e745fdaSopenharmony_ci 1458e745fdaSopenharmony_ci sources = [ "$VPN_EXTENSION_SOURCE_DIR/src/vpn_extension_module_loader.cpp" ] 1468e745fdaSopenharmony_ci 1478e745fdaSopenharmony_ci configs = [ ":net_vpn_extension_if_config" ] 1488e745fdaSopenharmony_ci public_configs = [ ":net_vpn_extension_if_config" ] 1498e745fdaSopenharmony_ci 1508e745fdaSopenharmony_ci deps = [ ":vpn_extension" ] 1518e745fdaSopenharmony_ci 1528e745fdaSopenharmony_ci external_deps = [ 1538e745fdaSopenharmony_ci "ability_base:configuration", 1548e745fdaSopenharmony_ci "ability_base:session_info", 1558e745fdaSopenharmony_ci "ability_runtime:abilitykit_native", 1568e745fdaSopenharmony_ci "ability_runtime:runtime", 1578e745fdaSopenharmony_ci "bundle_framework:appexecfwk_base", 1588e745fdaSopenharmony_ci "bundle_framework:appexecfwk_core", 1598e745fdaSopenharmony_ci "c_utils:utils", 1608e745fdaSopenharmony_ci "hilog:libhilog", 1618e745fdaSopenharmony_ci "napi:ace_napi", 1628e745fdaSopenharmony_ci ] 1638e745fdaSopenharmony_ci 1648e745fdaSopenharmony_ci relative_install_dir = "extensionability/" 1658e745fdaSopenharmony_ci part_name = "netmanager_ext" 1668e745fdaSopenharmony_ci subsystem_name = "communication" 1678e745fdaSopenharmony_ci} 168