1# Copyright (c) 2021-2024 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 14hispark_pegasus_sdk_path = "//device/soc/hisilicon/hi3861v100/sdk_liteos" 15dsoftbus_root_path = rebase_path(".") 16dsoftbus_sdk_path = "${dsoftbus_root_path}/sdk" 17dsoftbus_core_path = "${dsoftbus_root_path}/core" 18dsoftbus_dfx_path = "${dsoftbus_root_path}/dfx" 19dsoftbus_test_path = "${dsoftbus_root_path}/tests" 20dsoftbus_test_dfx_path = "${dsoftbus_test_path}/dfx" 21dsoftbus_fuzz_out_path = "dsoftbus/soft_bus" 22 23import("adapter/feature_config/external_deps_feature/external_deps_feature.gni") 24import("adapter/feature_config/inner_feature/conn_inner_feature.gni") 25import("adapter/feature_config/inner_feature/disc_inner_feature.gni") 26import("adapter/feature_config/inner_feature/lnn_inner_feature.gni") 27import("adapter/feature_config/inner_feature/softbus_common_feature.gni") 28import("adapter/feature_config/inner_feature/t2stack_inner_feature.gni") 29import("adapter/feature_config/inner_feature/trans_inner_feature.gni") 30import("adapter/feature_config/public_feature/public_feature.gni") 31 32declare_args() { 33 softbus_adapter_common = "${dsoftbus_root_path}/adapter/common" 34 softbus_adapter_config = "${dsoftbus_root_path}/adapter/default_config" 35 dsoftbus_feature_product_config_path = 36 "${dsoftbus_root_path}/adapter/default_config" 37} 38 39declare_args() { 40 softbus_communication_wifi_feature = true 41 softbus_os_account = true 42 dsoftbus_build_eng = false 43 dsoftbus_access_token_feature = true 44 dsoftbus_ipc_feature = true 45 46 if (product_name != "qemu-arm-linux-min") { 47 qemu_arm_disable = true 48 } else { 49 qemu_arm_disable = false 50 } 51} 52 53dsoftbus_feature_lnn_frame = true 54 55if (defined(global_parts_info) && 56 !defined(global_parts_info.communication_wifi)) { 57 softbus_communication_wifi_feature = false 58} 59 60if (defined(global_parts_info) && 61 !defined(global_parts_info.account_os_account)) { 62 softbus_os_account = false 63} 64 65if (defined(global_parts_info) && 66 !defined(global_parts_info.communication_bluetooth)) { 67 support_bluetooth = false 68} else { 69 support_bluetooth = true 70} 71 72if (defined(global_parts_info) && 73 !defined(global_parts_info.security_access_token)) { 74 dsoftbus_access_token_feature = false 75} 76 77if (defined(global_parts_info) && 78 !defined(global_parts_info.communication_ipc)) { 79 dsoftbus_ipc_feature = false 80} 81 82if (defined(ohos_lite)) { 83 import("//build/lite/config/component/lite_component.gni") 84 if (ohos_kernel_type == "liteos_m") { 85 defines = [ "SOFTBUS_LITEOS_M" ] 86 import("$softbus_adapter_config/feature_config/mini/config.gni") 87 } else { 88 defines = [ "SOFTBUS_LITEOS_A" ] 89 import("$softbus_adapter_config/feature_config/small/config.gni") 90 } 91} else { 92 if (defined(os_win)) { 93 os_type = "windows" 94 } else { 95 os_type = "standard" 96 } 97 defines = [ "SOFTBUS_LINUX" ] 98 if (is_standard_system) { 99 defines += [ "SOFTBUS_STANDARD_OS" ] 100 } 101 import("//build/ohos.gni") 102 import( 103 "$dsoftbus_feature_product_config_path/feature_config/standard/config.gni") 104 105 if (build_variant == "root") { 106 defines += [ "BUILD_VARIANT_ENG" ] 107 dsoftbus_build_eng = true 108 } else { 109 dsoftbus_build_eng = false 110 } 111} 112 113defines += [ "OPENSSL_NO_FILENAMES" ] 114 115if (dsoftbus_feature_disc_notification && 116 dsoftbus_feature_inner_disc_broadcast) { 117 defines += [ "DSOFTBUS_FEATURE_DISC_NOTIFICATION" ] 118} 119 120if (dsoftbus_feature_disc_notification_rx && 121 dsoftbus_feature_inner_disc_broadcast) { 122 defines += [ "DSOFTBUS_FEATURE_DISC_NOTIFICATION_RX" ] 123} 124 125if (dsoftbus_feature_disc_link_ble && dsoftbus_feature_inner_disc_broadcast) { 126 defines += [ "DSOFTBUS_FEATURE_DISC_LINK_BLE" ] 127} 128 129if (dsoftbus_feature_disc_coap && dsoftbus_feature_inner_disc_coap) { 130 defines += [ "DSOFTBUS_FEATURE_DISC_COAP" ] 131} 132 133if (dsoftbus_feature_disc_lnn_coap && dsoftbus_feature_inner_disc_coap) { 134 defines += [ "DSOFTBUS_FEATURE_DISC_LNN_COAP" ] 135} 136 137if (dsoftbus_feature_disc_share_coap && dsoftbus_feature_inner_disc_coap) { 138 defines += [ "DSOFTBUS_FEATURE_DISC_SHARE_COAP" ] 139} 140 141if (defined(global_parts_info) && 142 !defined(global_parts_info.distributeddatamgr_kv_store)) { 143 dsoftbus_feature_lnn_cloud_sync = false 144} else { 145 dsoftbus_feature_lnn_cloud_sync = true 146} 147 148if (defined(global_parts_info) && !defined(global_parts_info.global_i18n)) { 149 support_i18n = false 150} else { 151 support_i18n = true 152} 153 154import("$dsoftbus_dfx_path/dsoftbus_dfx.gni") 155if (defined(global_parts_info) && 156 !defined(global_parts_info.notification_common_event_service)) { 157 has_ces_part = false 158} else { 159 has_ces_part = true 160} 161 162if (dsoftbus_feature_lnn_wifi) { 163 defines += [ "ENABLE_FEATURE_LNN_WIFI" ] 164} 165 166if (dsoftbus_feature_lnn_ble) { 167 defines += [ "ENABLE_FEATURE_LNN_BLE" ] 168} 169 170if (dsoftbus_feature_deps_data_share && dsoftbus_feature_deps_datamgr_service) { 171 defines += [ "ENABLE_FEATURE_DATAMGR_SERVICE" ] 172} 173 174if (dsoftbus_feature_conn_pv1 && softbus_communication_wifi_feature && 175 dsoftbus_feature_conn_tcp_comm) { 176 defines += [ "DSOFTBUS_FEATURE_CONN_PV1" ] 177 if (dsoftbus_feature_conn_pv2 && dsoftbus_feature_conn_pv1) { 178 defines += [ "DSOFTBUS_FEATURE_CONN_PV2" ] 179 } 180 if (dsoftbus_feature_conn_action) { 181 defines += [ "DSOFTBUS_FEATURE_CONN_ACTION" ] 182 if (dsoftbus_feature_conn_hv2 && dsoftbus_feature_disc_link_ble) { 183 defines += [ "DSOFTBUS_FEATURE_CONN_HV2" ] 184 if (dsoftbus_feature_conn_hv1 && dsoftbus_feature_conn_pv2 && 185 dsoftbus_feature_conn_pv1) { 186 defines += [ "DSOFTBUS_FEATURE_CONN_HV1" ] 187 } 188 if (dsoftbus_feature_conn_hv2c) { 189 defines += [ "DSOFTBUS_FEATURE_CONN_HV2C" ] 190 } 191 } 192 } 193} 194