18e745fdaSopenharmony_ci# Copyright (c) 2024 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("wearable_distributed_net_manager_config") { 188e745fdaSopenharmony_ci include_dirs = [ 198e745fdaSopenharmony_ci "include", 208e745fdaSopenharmony_ci "$EXT_INNERKITS_ROOT/include", 218e745fdaSopenharmony_ci "$NETMANAGER_EXT_ROOT/utils/log/include", 228e745fdaSopenharmony_ci "$WEARABLE_DISTRIBUTED_NET_MANAGER_SOURCE_DIR/include", 238e745fdaSopenharmony_ci "$NETWORKSHAREMANAGER_UTILS_DIR/event_report/include", 248e745fdaSopenharmony_ci ] 258e745fdaSopenharmony_ci 268e745fdaSopenharmony_ci defines = [ 278e745fdaSopenharmony_ci "NETMGR_LOG_TAG = \"WearableDistributedNetManager\"", 288e745fdaSopenharmony_ci "LOG_DOMAIN = 0xD0015B0", 298e745fdaSopenharmony_ci "WEARABLE_DISTRIBUTED_NET_CONFIG_PATH = \"/system/etc/communication/netmanager_ext/wearable_distributed_net_link_info.json\"", 308e745fdaSopenharmony_ci ] 318e745fdaSopenharmony_ci 328e745fdaSopenharmony_ci if (enable_netmgr_ext_debug) { 338e745fdaSopenharmony_ci defines += [ "NETMGR_DEBUG" ] 348e745fdaSopenharmony_ci } 358e745fdaSopenharmony_ci} 368e745fdaSopenharmony_ci 378e745fdaSopenharmony_ciwearable_distributed_net_manager_sources = [ 388e745fdaSopenharmony_ci "$WEARABLE_DISTRIBUTED_NET_MANAGER_SOURCE_DIR/src/wearable_distributed_net_config_forward.cpp", 398e745fdaSopenharmony_ci "$WEARABLE_DISTRIBUTED_NET_MANAGER_SOURCE_DIR/src/wearable_distributed_net_link_info.cpp", 408e745fdaSopenharmony_ci "$WEARABLE_DISTRIBUTED_NET_MANAGER_SOURCE_DIR/src/wearable_distributed_net_supplier_info.cpp", 418e745fdaSopenharmony_ci] 428e745fdaSopenharmony_ci 438e745fdaSopenharmony_ciwearable_distributed_net_manager_deps = 448e745fdaSopenharmony_ci [ "$NETMANAGER_EXT_ROOT/utils:net_event_report" ] 458e745fdaSopenharmony_ci 468e745fdaSopenharmony_ciwearable_distributed_net_manager_external_deps = [ 478e745fdaSopenharmony_ci "ability_base:want", 488e745fdaSopenharmony_ci "ability_base:zuri", 498e745fdaSopenharmony_ci "ability_runtime:app_manager", 508e745fdaSopenharmony_ci "bundle_framework:appexecfwk_base", 518e745fdaSopenharmony_ci "bundle_framework:appexecfwk_core", 528e745fdaSopenharmony_ci "cJSON:cjson", 538e745fdaSopenharmony_ci "c_utils:utils", 548e745fdaSopenharmony_ci "common_event_service:cesfwk_innerkits", 558e745fdaSopenharmony_ci "eventhandler:libeventhandler", 568e745fdaSopenharmony_ci "ffrt:libffrt", 578e745fdaSopenharmony_ci "hilog:libhilog", 588e745fdaSopenharmony_ci "hisysevent:libhisysevent", 598e745fdaSopenharmony_ci "hitrace:hitrace_meter", 608e745fdaSopenharmony_ci "ipc:ipc_core", 618e745fdaSopenharmony_ci "netmanager_base:net_conn_manager_if", 628e745fdaSopenharmony_ci "netmanager_base:net_conn_parcel", 638e745fdaSopenharmony_ci "netmanager_base:net_data_share", 648e745fdaSopenharmony_ci "netmanager_base:net_manager_common", 658e745fdaSopenharmony_ci "netmanager_base:net_native_manager_if", 668e745fdaSopenharmony_ci "netmanager_base:net_service_common", 678e745fdaSopenharmony_ci "netmanager_base:netsys_client", 688e745fdaSopenharmony_ci "netmanager_base:netsys_controller", 698e745fdaSopenharmony_ci "netmanager_base:socket_permission", 708e745fdaSopenharmony_ci "safwk:system_ability_fwk", 718e745fdaSopenharmony_ci "samgr:samgr_proxy", 728e745fdaSopenharmony_ci] 738e745fdaSopenharmony_ci 748e745fdaSopenharmony_ciohos_shared_library("wearable_distributed_net_manager") { 758e745fdaSopenharmony_ci if (netmanager_ext_feature_wearable_distributed_net) { 768e745fdaSopenharmony_ci sanitize = { 778e745fdaSopenharmony_ci cfi = true 788e745fdaSopenharmony_ci cfi_cross_dso = true 798e745fdaSopenharmony_ci debug = false 808e745fdaSopenharmony_ci } 818e745fdaSopenharmony_ci 828e745fdaSopenharmony_ci branch_protector_ret = "pac_ret" 838e745fdaSopenharmony_ci 848e745fdaSopenharmony_ci configs = [ ":wearable_distributed_net_manager_config" ] 858e745fdaSopenharmony_ci 868e745fdaSopenharmony_ci sources = wearable_distributed_net_manager_sources 878e745fdaSopenharmony_ci deps = wearable_distributed_net_manager_deps 888e745fdaSopenharmony_ci external_deps = wearable_distributed_net_manager_external_deps 898e745fdaSopenharmony_ci 908e745fdaSopenharmony_ci cflags = memory_optimization_cflags 918e745fdaSopenharmony_ci cflags += [ 928e745fdaSopenharmony_ci "-fstack-protector-strong", 938e745fdaSopenharmony_ci "-D_FORTIFY_SOURCE=2", 948e745fdaSopenharmony_ci "-O2", 958e745fdaSopenharmony_ci ] 968e745fdaSopenharmony_ci 978e745fdaSopenharmony_ci cflags_cc = memory_optimization_cflags_cc 988e745fdaSopenharmony_ci cflags_cc += [ 998e745fdaSopenharmony_ci "-fstack-protector-strong", 1008e745fdaSopenharmony_ci "-D_FORTIFY_SOURCE=2", 1018e745fdaSopenharmony_ci "-O2", 1028e745fdaSopenharmony_ci ] 1038e745fdaSopenharmony_ci 1048e745fdaSopenharmony_ci ldflags = memory_optimization_ldflags 1058e745fdaSopenharmony_ci 1068e745fdaSopenharmony_ci part_name = "netmanager_ext" 1078e745fdaSopenharmony_ci subsystem_name = "communication" 1088e745fdaSopenharmony_ci } 1098e745fdaSopenharmony_ci} 1108e745fdaSopenharmony_ci 1118e745fdaSopenharmony_ciohos_prebuilt_etc("wearable_distributed_net_link_info") { 1128e745fdaSopenharmony_ci source = "$NETMANAGER_EXT_ROOT/services/wearabledistributednetmanager/config/wearable_distributed_net_link_info.json" 1138e745fdaSopenharmony_ci install_enable = true 1148e745fdaSopenharmony_ci relative_install_dir = "communication/netmanager_ext" 1158e745fdaSopenharmony_ci part_name = "netmanager_ext" 1168e745fdaSopenharmony_ci subsystem_name = "communication" 1178e745fdaSopenharmony_ci} 118