11e934351Sopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd. 21e934351Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 31e934351Sopenharmony_ci# you may not use this file except in compliance with the License. 41e934351Sopenharmony_ci# You may obtain a copy of the License at 51e934351Sopenharmony_ci# 61e934351Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 71e934351Sopenharmony_ci# 81e934351Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 91e934351Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 101e934351Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 111e934351Sopenharmony_ci# See the License for the specific language governing permissions and 121e934351Sopenharmony_ci# limitations under the License. 131e934351Sopenharmony_ci 141e934351Sopenharmony_ciimport("//build/ohos.gni") 151e934351Sopenharmony_ciimport("//foundation/communication/netstack/netstack_config.gni") 161e934351Sopenharmony_ci 171e934351Sopenharmony_cigroup("common_utils") { 181e934351Sopenharmony_ci deps = [ 191e934351Sopenharmony_ci ":stack_utils_common", 201e934351Sopenharmony_ci "napi_utils:napi_utils", 211e934351Sopenharmony_ci ] 221e934351Sopenharmony_ci} 231e934351Sopenharmony_ci 241e934351Sopenharmony_ciconfig("stack_utils_common_public_config") { 251e934351Sopenharmony_ci include_dirs = [ 261e934351Sopenharmony_ci "common_utils/include", 271e934351Sopenharmony_ci "log/include", 281e934351Sopenharmony_ci "$THIRD_PARTY_ROOT/curl/include", 291e934351Sopenharmony_ci ] 301e934351Sopenharmony_ci if (product_name == "ohcore") { 311e934351Sopenharmony_ci defines = [ "OH_CORE_NETSTACK_PERMISSION_CHECK" ] 321e934351Sopenharmony_ci } 331e934351Sopenharmony_ci if (is_mingw) { 341e934351Sopenharmony_ci defines = [ "WINDOWS_PLATFORM" ] 351e934351Sopenharmony_ci } 361e934351Sopenharmony_ci} 371e934351Sopenharmony_ci 381e934351Sopenharmony_ciohos_shared_library("stack_utils_common") { 391e934351Sopenharmony_ci sanitize = { 401e934351Sopenharmony_ci cfi = true 411e934351Sopenharmony_ci cfi_cross_dso = true 421e934351Sopenharmony_ci debug = false 431e934351Sopenharmony_ci } 441e934351Sopenharmony_ci 451e934351Sopenharmony_ci branch_protector_ret = "pac_ret" 461e934351Sopenharmony_ci 471e934351Sopenharmony_ci cflags = [ 481e934351Sopenharmony_ci "-fstack-protector-strong", 491e934351Sopenharmony_ci "-D_FORTIFY_SOURCE=2", 501e934351Sopenharmony_ci "-O2", 511e934351Sopenharmony_ci ] 521e934351Sopenharmony_ci cflags_cc = [ 531e934351Sopenharmony_ci "-fstack-protector-strong", 541e934351Sopenharmony_ci "-D_FORTIFY_SOURCE=2", 551e934351Sopenharmony_ci "-O2", 561e934351Sopenharmony_ci ] 571e934351Sopenharmony_ci 581e934351Sopenharmony_ci sources = [ 591e934351Sopenharmony_ci "common_utils/src/netstack_apipolicy_utils.cpp", 601e934351Sopenharmony_ci "common_utils/src/netstack_bundle_utils.cpp", 611e934351Sopenharmony_ci "common_utils/src/netstack_common_utils.cpp", 621e934351Sopenharmony_ci "common_utils/src/netstack_hisysevent.cpp", 631e934351Sopenharmony_ci "common_utils/src/request_tracer.cpp", 641e934351Sopenharmony_ci ] 651e934351Sopenharmony_ci 661e934351Sopenharmony_ci public_configs = [ ":stack_utils_common_public_config" ] 671e934351Sopenharmony_ci 681e934351Sopenharmony_ci external_deps = [ 691e934351Sopenharmony_ci "bounds_checking_function:libsec_shared", 701e934351Sopenharmony_ci "hilog:libhilog", 711e934351Sopenharmony_ci "hisysevent:libhisysevent", 721e934351Sopenharmony_ci ] 731e934351Sopenharmony_ci 741e934351Sopenharmony_ci if (defined(global_parts_info) && 751e934351Sopenharmony_ci defined(global_parts_info.communication_netmanager_base) && 761e934351Sopenharmony_ci global_parts_info.communication_netmanager_base) { 771e934351Sopenharmony_ci external_deps += [ 781e934351Sopenharmony_ci "hitrace:hitrace_meter", 791e934351Sopenharmony_ci "netmanager_base:net_conn_manager_if", 801e934351Sopenharmony_ci ] 811e934351Sopenharmony_ci defines = [ "HAS_NETMANAGER_BASE=1" ] 821e934351Sopenharmony_ci } else { 831e934351Sopenharmony_ci defines = [ "HAS_NETMANAGER_BASE=0" ] 841e934351Sopenharmony_ci } 851e934351Sopenharmony_ci 861e934351Sopenharmony_ci innerapi_tags = [ "platformsdk" ] 871e934351Sopenharmony_ci part_name = "netstack" 881e934351Sopenharmony_ci subsystem_name = "communication" 891e934351Sopenharmony_ci} 90