1060ff233Sopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd. 2060ff233Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3060ff233Sopenharmony_ci# you may not use this file except in compliance with the License. 4060ff233Sopenharmony_ci# You may obtain a copy of the License at 5060ff233Sopenharmony_ci# 6060ff233Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7060ff233Sopenharmony_ci# 8060ff233Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9060ff233Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10060ff233Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11060ff233Sopenharmony_ci# See the License for the specific language governing permissions and 12060ff233Sopenharmony_ci# limitations under the License. 13060ff233Sopenharmony_ci 14060ff233Sopenharmony_ciimport("../core/common/dfx/dsoftbus_dfx.gni") 15060ff233Sopenharmony_ciimport("../dsoftbus.gni") 16060ff233Sopenharmony_ci 17060ff233Sopenharmony_cidsoftbus_root_path = ".." 18060ff233Sopenharmony_cisoftbus_adapter_common = "${dsoftbus_root_path}/adapter/common" 19060ff233Sopenharmony_cidsoftbus_feature_product_config_path = 20060ff233Sopenharmony_ci "${dsoftbus_root_path}/adapter/default_config" 21060ff233Sopenharmony_cisoftbus_adapter_config = "${dsoftbus_root_path}/adapter/default_config" 22060ff233Sopenharmony_cinative_source_path = rebase_path("$dsoftbus_root_path") 23060ff233Sopenharmony_cidep_feature = "dsoftbus_enhance/adapter/default_config/spec_config/softbus_config_adapter.c" 24060ff233Sopenharmony_cienhance_feature = exec_script("$dsoftbus_root_path/check_sub_module.py", 25060ff233Sopenharmony_ci [ 26060ff233Sopenharmony_ci "$native_source_path", 27060ff233Sopenharmony_ci "$dep_feature", 28060ff233Sopenharmony_ci ], 29060ff233Sopenharmony_ci "value") 30060ff233Sopenharmony_ci 31060ff233Sopenharmony_ciif (defined(ohos_lite)) { 32060ff233Sopenharmony_ci import("//build/lite/config/component/lite_component.gni") 33060ff233Sopenharmony_ci config("dsoftbus_adapter_common_interface") { 34060ff233Sopenharmony_ci include_dirs = [ 35060ff233Sopenharmony_ci "$softbus_adapter_common/include", 36060ff233Sopenharmony_ci "$softbus_adapter_common/include/OS_adapter_define/linux", 37060ff233Sopenharmony_ci "$softbus_adapter_config/spec_config", 38060ff233Sopenharmony_ci "$dsoftbus_root_path/core/common/include", 39060ff233Sopenharmony_ci "$hilog_lite_include_path", 40060ff233Sopenharmony_ci "$utils_lite_include_path", 41060ff233Sopenharmony_ci ] 42060ff233Sopenharmony_ci if (board_name == "v200zr") { 43060ff233Sopenharmony_ci defines += [ "DSOFTBUS_V200ZR" ] 44060ff233Sopenharmony_ci } 45060ff233Sopenharmony_ci } 46060ff233Sopenharmony_ci 47060ff233Sopenharmony_ci common_include = [ 48060ff233Sopenharmony_ci "$dsoftbus_root_path/core/common/dfx/interface/include", 49060ff233Sopenharmony_ci "$dsoftbus_root_path/interfaces/kits", 50060ff233Sopenharmony_ci "$dsoftbus_root_path/interfaces/kits/common", 51060ff233Sopenharmony_ci ] 52060ff233Sopenharmony_ci 53060ff233Sopenharmony_ci if (ohos_kernel_type == "liteos_m") { 54060ff233Sopenharmony_ci static_library("softbus_adapter") { 55060ff233Sopenharmony_ci include_dirs = common_include 56060ff233Sopenharmony_ci include_dirs += [ "//kernel/liteos_m/kal/cmsis" ] 57060ff233Sopenharmony_ci external_deps = [ 58060ff233Sopenharmony_ci "bounds_checking_function:libsec_static", 59060ff233Sopenharmony_ci "init:libbegetutil", 60060ff233Sopenharmony_ci ] 61060ff233Sopenharmony_ci public_external_deps = [ "json:nlohmann_json_static" ] 62060ff233Sopenharmony_ci if (board_name == "hispark_pegasus") { 63060ff233Sopenharmony_ci include_dirs += 64060ff233Sopenharmony_ci [ "$hispark_pegasus_sdk_path/third_party/lwip_sack/include" ] 65060ff233Sopenharmony_ci defines += [ "HISPARK_PEGASUS_USE_NETIF_GET_ADDR" ] 66060ff233Sopenharmony_ci } 67060ff233Sopenharmony_ci if (board_toolchain_type == "iccarm") { 68060ff233Sopenharmony_ci include_dirs += [ 69060ff233Sopenharmony_ci "//kernel/liteos_m/components/net/lwip-2.1/porting/include", 70060ff233Sopenharmony_ci "//third_party/lwip/src/include", 71060ff233Sopenharmony_ci ] 72060ff233Sopenharmony_ci cflags = [ 73060ff233Sopenharmony_ci "--diag_suppress", 74060ff233Sopenharmony_ci "Pe226,Pe513", 75060ff233Sopenharmony_ci ] 76060ff233Sopenharmony_ci ldflags = [ "-lpthread" ] 77060ff233Sopenharmony_ci } else { 78060ff233Sopenharmony_ci cflags = [ "-Wall" ] 79060ff233Sopenharmony_ci } 80060ff233Sopenharmony_ci sources = [ 81060ff233Sopenharmony_ci "$softbus_adapter_common/dfx/softbus_adapter_hisysevent_mini.c", 82060ff233Sopenharmony_ci "$softbus_adapter_common/dfx/softbus_adapter_hitrace_virtual.c", 83060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/liteos_m/lnn_ip_utils_adapter.c", 84060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/liteos_m/softbus_adapter_file.c", 85060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/liteos_m/softbus_adapter_mem.c", 86060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/liteos_m/softbus_adapter_timer.c", 87060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_socket.c", 88060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_thread.c", 89060ff233Sopenharmony_ci "$softbus_adapter_common/range/softbus_adapter_range.c", 90060ff233Sopenharmony_ci ] 91060ff233Sopenharmony_ci 92060ff233Sopenharmony_ci if (enhance_feature) { 93060ff233Sopenharmony_ci sources += [ "$dsoftbus_root_path/dsoftbus_enhance/adapter/default_config/spec_config/softbus_config_adapter.c" ] 94060ff233Sopenharmony_ci } else { 95060ff233Sopenharmony_ci sources += 96060ff233Sopenharmony_ci [ "$softbus_adapter_config/spec_config/softbus_config_adapter.c" ] 97060ff233Sopenharmony_ci } 98060ff233Sopenharmony_ci 99060ff233Sopenharmony_ci if (board_name == "v200zr") { 100060ff233Sopenharmony_ci external_deps += [ "json:nlohmann_json_static" ] 101060ff233Sopenharmony_ci sources = [] 102060ff233Sopenharmony_ci sources = [ 103060ff233Sopenharmony_ci "$softbus_adapter_common/dfx/softbus_adapter_hisysevent_mini.c", 104060ff233Sopenharmony_ci "$softbus_adapter_common/dfx/softbus_adapter_hitrace_virtual.c", 105060ff233Sopenharmony_ci "$softbus_adapter_common/json/nlohmann/softbus_adapter_json.cpp", 106060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/liteos_m/lnn_ip_utils_adapter.c", 107060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/liteos_m/softbus_adapter_mem.c", 108060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/liteos_m/softbus_adapter_timer.c", 109060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_file.c", 110060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_socket.c", 111060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_thread.c", 112060ff233Sopenharmony_ci "$softbus_adapter_common/perf/softbus_adapter_perf.c", 113060ff233Sopenharmony_ci "$softbus_adapter_common/range/softbus_adapter_range.c", 114060ff233Sopenharmony_ci ] 115060ff233Sopenharmony_ci 116060ff233Sopenharmony_ci if (enhance_feature) { 117060ff233Sopenharmony_ci sources += [ "$dsoftbus_root_path/dsoftbus_enhance/adapter/default_config/spec_config/softbus_config_adapter.c" ] 118060ff233Sopenharmony_ci } else { 119060ff233Sopenharmony_ci sources += 120060ff233Sopenharmony_ci [ "$softbus_adapter_config/spec_config/softbus_config_adapter.c" ] 121060ff233Sopenharmony_ci } 122060ff233Sopenharmony_ci } 123060ff233Sopenharmony_ci 124060ff233Sopenharmony_ci deps = [ 125060ff233Sopenharmony_ci "$dsoftbus_dfx_path/event:softbus_dfx_event", 126060ff233Sopenharmony_ci "$dsoftbus_dfx_path/log:softbus_dfx_log", 127060ff233Sopenharmony_ci "$hilog_lite_deps_path", 128060ff233Sopenharmony_ci ] 129060ff233Sopenharmony_ci 130060ff233Sopenharmony_ci if (dsoftbus_feature_encrypt == 0) { 131060ff233Sopenharmony_ci sources += [ 132060ff233Sopenharmony_ci "$softbus_adapter_common/mbedtls/softbus_adapter_crypto.c", 133060ff233Sopenharmony_ci "$softbus_adapter_common/mbedtls/softbus_aes_encrypt_virtual.c", 134060ff233Sopenharmony_ci ] 135060ff233Sopenharmony_ci deps += [ "//third_party/mbedtls" ] 136060ff233Sopenharmony_ci } else if (dsoftbus_feature_encrypt == 1) { 137060ff233Sopenharmony_ci sources += [ 138060ff233Sopenharmony_ci "$softbus_adapter_common/openssl/softbus_adapter_crypto.c", 139060ff233Sopenharmony_ci "$softbus_adapter_common/openssl/softbus_aes_encrypt.c", 140060ff233Sopenharmony_ci ] 141060ff233Sopenharmony_ci deps += [ "//third_party/openssl/ohos_lite:openssl_shared" ] 142060ff233Sopenharmony_ci } 143060ff233Sopenharmony_ci public_configs = [ ":dsoftbus_adapter_common_interface" ] 144060ff233Sopenharmony_ci } 145060ff233Sopenharmony_ci } else { 146060ff233Sopenharmony_ci shared_library("softbus_adapter") { 147060ff233Sopenharmony_ci include_dirs = common_include 148060ff233Sopenharmony_ci cflags = [ 149060ff233Sopenharmony_ci "-Wall", 150060ff233Sopenharmony_ci "-Werror", 151060ff233Sopenharmony_ci "-fPIC", 152060ff233Sopenharmony_ci "-fno-builtin", 153060ff233Sopenharmony_ci "-std=c99", 154060ff233Sopenharmony_ci ] 155060ff233Sopenharmony_ci cflags_cc = [ "-fPIC" ] 156060ff233Sopenharmony_ci sources = [ 157060ff233Sopenharmony_ci "$softbus_adapter_common/dfx/softbus_adapter_hisysevent_mini.c", 158060ff233Sopenharmony_ci "$softbus_adapter_common/dfx/softbus_adapter_hitrace_virtual.c", 159060ff233Sopenharmony_ci "$softbus_adapter_common/json/nlohmann/softbus_adapter_json.cpp", 160060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/lnn_ip_utils_adapter.c", 161060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_file.c", 162060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_mem.c", 163060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_socket.c", 164060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_thread.c", 165060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_timer.c", 166060ff233Sopenharmony_ci "$softbus_adapter_common/perf/softbus_adapter_perf.c", 167060ff233Sopenharmony_ci "$softbus_adapter_common/range/softbus_adapter_range.c", 168060ff233Sopenharmony_ci ] 169060ff233Sopenharmony_ci 170060ff233Sopenharmony_ci if (enhance_feature) { 171060ff233Sopenharmony_ci sources += [ "$dsoftbus_root_path/dsoftbus_enhance/adapter/default_config/spec_config/softbus_config_adapter.c" ] 172060ff233Sopenharmony_ci } else { 173060ff233Sopenharmony_ci sources += 174060ff233Sopenharmony_ci [ "$softbus_adapter_config/spec_config/softbus_config_adapter.c" ] 175060ff233Sopenharmony_ci } 176060ff233Sopenharmony_ci 177060ff233Sopenharmony_ci deps = [ 178060ff233Sopenharmony_ci "$dsoftbus_dfx_path/event:softbus_dfx_event", 179060ff233Sopenharmony_ci "$dsoftbus_dfx_path/log:softbus_dfx_log", 180060ff233Sopenharmony_ci "$hilog_lite_deps_path", 181060ff233Sopenharmony_ci ] 182060ff233Sopenharmony_ci external_deps = [ 183060ff233Sopenharmony_ci "bounds_checking_function:libsec_shared", 184060ff233Sopenharmony_ci "init:libbegetutil", 185060ff233Sopenharmony_ci ] 186060ff233Sopenharmony_ci public_external_deps = [ "json:nlohmann_json_static" ] 187060ff233Sopenharmony_ci 188060ff233Sopenharmony_ci if (dsoftbus_feature_encrypt == 0) { 189060ff233Sopenharmony_ci sources += [ 190060ff233Sopenharmony_ci "$softbus_adapter_common/mbedtls/softbus_adapter_crypto.c", 191060ff233Sopenharmony_ci "$softbus_adapter_common/mbedtls/softbus_aes_encrypt_virtual.c", 192060ff233Sopenharmony_ci ] 193060ff233Sopenharmony_ci deps += [ "//third_party/mbedtls" ] 194060ff233Sopenharmony_ci } else if (dsoftbus_feature_encrypt == 1) { 195060ff233Sopenharmony_ci sources += [ 196060ff233Sopenharmony_ci "$softbus_adapter_common/openssl/softbus_adapter_crypto.c", 197060ff233Sopenharmony_ci "$softbus_adapter_common/openssl/softbus_aes_encrypt.c", 198060ff233Sopenharmony_ci ] 199060ff233Sopenharmony_ci deps += [ "//third_party/openssl/ohos_lite:openssl_shared" ] 200060ff233Sopenharmony_ci } 201060ff233Sopenharmony_ci public_configs = [ ":dsoftbus_adapter_common_interface" ] 202060ff233Sopenharmony_ci } 203060ff233Sopenharmony_ci } 204060ff233Sopenharmony_ci} else { 205060ff233Sopenharmony_ci config("config_adapter_common") { 206060ff233Sopenharmony_ci include_dirs = [ 207060ff233Sopenharmony_ci "$softbus_adapter_common/include", 208060ff233Sopenharmony_ci "$softbus_adapter_common/include/OS_adapter_define/linux", 209060ff233Sopenharmony_ci "$dsoftbus_feature_product_config_path/spec_config", 210060ff233Sopenharmony_ci "$dsoftbus_root_path/core/common/dfx/interface/include", 211060ff233Sopenharmony_ci "$dsoftbus_root_path/core/common/include", 212060ff233Sopenharmony_ci ] 213060ff233Sopenharmony_ci } 214060ff233Sopenharmony_ci 215060ff233Sopenharmony_ci ohos_shared_library("softbus_adapter") { 216060ff233Sopenharmony_ci sanitize = { 217060ff233Sopenharmony_ci ubsan = true 218060ff233Sopenharmony_ci integer_overflow = true 219060ff233Sopenharmony_ci boundary_sanitize = true 220060ff233Sopenharmony_ci cfi = true 221060ff233Sopenharmony_ci cfi_cross_dso = true 222060ff233Sopenharmony_ci debug = false 223060ff233Sopenharmony_ci } 224060ff233Sopenharmony_ci branch_protector_ret = "pac_ret" 225060ff233Sopenharmony_ci 226060ff233Sopenharmony_ci include_dirs = [ 227060ff233Sopenharmony_ci "$dsoftbus_root_path/core/common/dfx/interface/include", 228060ff233Sopenharmony_ci "$dsoftbus_root_path/interfaces/kits", 229060ff233Sopenharmony_ci "$dsoftbus_root_path/interfaces/kits/common", 230060ff233Sopenharmony_ci ] 231060ff233Sopenharmony_ci external_deps = [ "bounds_checking_function:libsec_shared" ] 232060ff233Sopenharmony_ci if (is_standard_system) { 233060ff233Sopenharmony_ci external_deps += [ 234060ff233Sopenharmony_ci "c_utils:utils", 235060ff233Sopenharmony_ci "json:nlohmann_json_static", 236060ff233Sopenharmony_ci ] 237060ff233Sopenharmony_ci } 238060ff233Sopenharmony_ci sources = [ 239060ff233Sopenharmony_ci "$softbus_adapter_common/dfx/softbus_adapter_hisysevent.cpp", 240060ff233Sopenharmony_ci "$softbus_adapter_common/dfx/softbus_adapter_hitrace.c", 241060ff233Sopenharmony_ci "$softbus_adapter_common/json/nlohmann/softbus_adapter_json.cpp", 242060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/lnn_ip_utils_adapter.c", 243060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_file.c", 244060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_mem.c", 245060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_socket.c", 246060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_thread.c", 247060ff233Sopenharmony_ci "$softbus_adapter_common/kernel/posix/softbus_adapter_timer.c", 248060ff233Sopenharmony_ci "$softbus_adapter_common/perf/softbus_adapter_perf.c", 249060ff233Sopenharmony_ci ] 250060ff233Sopenharmony_ci 251060ff233Sopenharmony_ci if (enhance_feature) { 252060ff233Sopenharmony_ci sources += [ "$dsoftbus_root_path/dsoftbus_enhance/adapter/default_config/spec_config/softbus_config_adapter.c" ] 253060ff233Sopenharmony_ci } else { 254060ff233Sopenharmony_ci sources += 255060ff233Sopenharmony_ci [ "$softbus_adapter_config/spec_config/softbus_config_adapter.c" ] 256060ff233Sopenharmony_ci } 257060ff233Sopenharmony_ci 258060ff233Sopenharmony_ci public_deps = [ 259060ff233Sopenharmony_ci "$dsoftbus_dfx_path/event:softbus_dfx_event", 260060ff233Sopenharmony_ci "$dsoftbus_dfx_path/log:softbus_dfx_log", 261060ff233Sopenharmony_ci ] 262060ff233Sopenharmony_ci public_external_deps = [ 263060ff233Sopenharmony_ci "bounds_checking_function:libsec_shared", 264060ff233Sopenharmony_ci "json:nlohmann_json_static", 265060ff233Sopenharmony_ci ] 266060ff233Sopenharmony_ci 267060ff233Sopenharmony_ci ble_enhanced_impl = 268060ff233Sopenharmony_ci "dsoftbus_enhance/adapter/common/range/softbus_adapter_range.c" 269060ff233Sopenharmony_ci enhanced_range = exec_script("$dsoftbus_root_path/check_sub_module.py", 270060ff233Sopenharmony_ci [ 271060ff233Sopenharmony_ci "$native_source_path", 272060ff233Sopenharmony_ci "$ble_enhanced_impl", 273060ff233Sopenharmony_ci ], 274060ff233Sopenharmony_ci "value") 275060ff233Sopenharmony_ci if (enhanced_range && defined(global_parts_info.msdp_algorithm)) { 276060ff233Sopenharmony_ci sources += [ "$dsoftbus_root_path/dsoftbus_enhance/adapter/common/range/softbus_adapter_range.c" ] 277060ff233Sopenharmony_ci external_deps += [ "algorithm:msdp_ble_range" ] 278060ff233Sopenharmony_ci } else { 279060ff233Sopenharmony_ci sources += [ "$softbus_adapter_common/range/softbus_adapter_range.c" ] 280060ff233Sopenharmony_ci } 281060ff233Sopenharmony_ci 282060ff233Sopenharmony_ci if (dsoftbus_feature_encrypt == 0) { 283060ff233Sopenharmony_ci sources += [ 284060ff233Sopenharmony_ci "$softbus_adapter_common/mbedtls/softbus_adapter_crypto.c", 285060ff233Sopenharmony_ci "$softbus_adapter_common/mbedtls/softbus_aes_encrypt_virtual.c", 286060ff233Sopenharmony_ci ] 287060ff233Sopenharmony_ci public_deps += [ "//third_party/mbedtls" ] 288060ff233Sopenharmony_ci } else if (dsoftbus_feature_encrypt == 1) { 289060ff233Sopenharmony_ci sources += [ 290060ff233Sopenharmony_ci "$softbus_adapter_common/openssl/softbus_adapter_crypto.c", 291060ff233Sopenharmony_ci "$softbus_adapter_common/openssl/softbus_aes_encrypt.c", 292060ff233Sopenharmony_ci ] 293060ff233Sopenharmony_ci public_external_deps += [ "openssl:libcrypto_shared" ] 294060ff233Sopenharmony_ci } 295060ff233Sopenharmony_ci public_configs = [ ":config_adapter_common" ] 296060ff233Sopenharmony_ci public_external_deps += [ "hitrace:libhitracechain" ] 297060ff233Sopenharmony_ci if (is_standard_system) { 298060ff233Sopenharmony_ci external_deps += [ 299060ff233Sopenharmony_ci "hilog:libhilog", 300060ff233Sopenharmony_ci "hisysevent:libhisysevent", 301060ff233Sopenharmony_ci "hitrace:libhitracechain", 302060ff233Sopenharmony_ci "init:libbegetutil", 303060ff233Sopenharmony_ci ] 304060ff233Sopenharmony_ci } 305060ff233Sopenharmony_ci innerapi_tags = [ "platformsdk_indirect" ] 306060ff233Sopenharmony_ci part_name = "dsoftbus" 307060ff233Sopenharmony_ci subsystem_name = "communication" 308060ff233Sopenharmony_ci } 309060ff233Sopenharmony_ci} 310