| # Copyright (c) 2020 Project CHIP Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| import("//build_overrides/chip.gni") |
| import("${chip_root}/src/ble/ble.gni") |
| |
| declare_args() { |
| # Device platform layer: cc13x2_26x2, cc32xx, darwin, efr32, esp32, external, freertos, linux, nrfconnect, k32w0, qpg, tizen, cyw30739, bl602, mw320, zephyr, beken, none. |
| |
| chip_device_platform = "auto" |
| chip_platform_target = "" |
| |
| # Substitute fake platform when building with chip_device_platform=auto. |
| chip_fake_platform = false |
| } |
| |
| if (chip_device_platform == "auto") { |
| if (chip_fake_platform) { |
| chip_device_platform = "fake" |
| } else if (current_os == "mac" || current_os == "ios") { |
| chip_device_platform = "darwin" |
| } else if (current_os == "linux") { |
| chip_device_platform = "linux" |
| } else if (current_os == "tizen") { |
| chip_device_platform = "tizen" |
| } else if (current_os == "android") { |
| chip_device_platform = "android" |
| } else if (current_os == "webos") { |
| chip_device_platform = "webos" |
| } else if (current_os == "zephyr") { |
| chip_device_platform = "zephyr" |
| } else { |
| chip_device_platform = "none" |
| } |
| } |
| |
| declare_args() { |
| # Enable openthread support. |
| chip_enable_openthread = |
| chip_device_platform == "linux" || chip_device_platform == "qpg" || |
| chip_device_platform == "cc13x2_26x2" || |
| chip_device_platform == "k32w0" || chip_device_platform == "tizen" || |
| chip_device_platform == "webos" |
| } |
| |
| declare_args() { |
| chip_openthread_ftd = chip_enable_openthread |
| |
| # Enable wifi support. |
| chip_enable_wifi = |
| chip_device_platform == "linux" || chip_device_platform == "esp32" || |
| chip_device_platform == "mbed" || chip_device_platform == "tizen" || |
| chip_device_platform == "android" || chip_device_platform == "ameba" || |
| chip_device_platform == "webos" || chip_device_platform == "cc32xx" || |
| chip_device_platform == "bl602" || chip_device_platform == "mw320" || |
| chip_device_platform == "beken" || chip_device_platform == "mt793x" || |
| (chip_device_platform == "darwin" && current_os == "mac") |
| |
| # Enable ble support. |
| if (chip_device_platform == "fake") { |
| chip_enable_ble = false |
| } else { |
| chip_enable_ble = chip_config_network_layer_ble |
| } |
| |
| # Enable NFC support |
| chip_enable_nfc = false |
| |
| # Enable OTA requestor support |
| chip_enable_ota_requestor = false |
| |
| # Select DNS-SD implementation |
| if (chip_device_platform == "linux" || chip_device_platform == "esp32" || |
| chip_device_platform == "mbed" || chip_device_platform == "psoc6" || |
| chip_device_platform == "ameba" || chip_device_platform == "webos" || |
| chip_device_platform == "cc32xx" || chip_device_platform == "bl602" || |
| chip_device_platform == "mw320" || chip_device_platform == "beken" || |
| chip_device_platform == "mt793x") { |
| chip_mdns = "minimal" |
| } else if (chip_device_platform == "darwin" || |
| chip_device_platform == "cc13x2_26x2" || current_os == "android" || |
| chip_device_platform == "fake" || |
| chip_device_platform == "tizen") { |
| chip_mdns = "platform" |
| } else { |
| chip_mdns = "none" |
| } |
| } |
| |
| if (chip_device_platform == "bl702" && chip_enable_openthread) { |
| chip_mdns = "platform" |
| } else if (chip_device_platform == "bl702" && chip_enable_wifi) { |
| chip_mdns = "minimal" |
| } |
| |
| _chip_device_layer = "none" |
| if (chip_device_platform == "cc13x2_26x2") { |
| _chip_device_layer = "cc13x2_26x2" |
| } else if (chip_device_platform == "cc32xx") { |
| _chip_device_layer = "cc32xx" |
| } else if (chip_device_platform == "darwin") { |
| _chip_device_layer = "Darwin" |
| } else if (chip_device_platform == "efr32") { |
| _chip_device_layer = "silabs" |
| } else if (chip_device_platform == "SiWx917") { |
| _chip_device_layer = "silabs" |
| } else if (chip_device_platform == "esp32") { |
| _chip_device_layer = "ESP32" |
| } else if (chip_device_platform == "linux") { |
| _chip_device_layer = "Linux" |
| } else if (chip_device_platform == "tizen") { |
| _chip_device_layer = "Tizen" |
| } else if (chip_device_platform == "nrfconnect") { |
| _chip_device_layer = "nrfconnect" |
| } else if (chip_device_platform == "qpg") { |
| _chip_device_layer = "qpg" |
| } else if (chip_device_platform == "k32w0") { |
| _chip_device_layer = "nxp/k32w/k32w0" |
| } else if (chip_device_platform == "telink") { |
| _chip_device_layer = "telink" |
| } else if (chip_device_platform == "mbed") { |
| _chip_device_layer = "mbed" |
| } else if (chip_device_platform == "psoc6") { |
| _chip_device_layer = "Infineon/PSOC6" |
| } else if (chip_device_platform == "android") { |
| _chip_device_layer = "android" |
| } else if (chip_device_platform == "ameba") { |
| _chip_device_layer = "Ameba" |
| } else if (chip_device_platform == "bl602") { |
| _chip_device_layer = "bouffalolab/BL602" |
| } else if (chip_device_platform == "bl702") { |
| _chip_device_layer = "bouffalolab/BL702" |
| } else if (chip_device_platform == "cyw30739") { |
| _chip_device_layer = "Infineon/CYW30739" |
| } else if (chip_device_platform == "webos") { |
| _chip_device_layer = "webos" |
| } else if (chip_device_platform == "mw320") { |
| _chip_device_layter = "nxp/mw320" |
| } else if (chip_device_platform == "zephyr") { |
| _chip_device_layer = "Zephyr" |
| } else if (chip_device_platform == "beken") { |
| _chip_device_layer = "Beken" |
| } else if (chip_device_platform == "mt793x") { |
| _chip_device_layer = "mt793x" |
| } |
| |
| if (chip_device_platform != "external") { |
| chip_ble_platform_config_include = "" |
| chip_device_platform_config_include = "" |
| chip_platform_config_include = "" |
| chip_inet_platform_config_include = "" |
| chip_system_platform_config_include = "" |
| chip_system_layer_impl_config_file = "" |
| } else { |
| declare_args() { |
| chip_ble_platform_config_include = "" |
| chip_device_platform_config_include = "" |
| chip_platform_config_include = "" |
| chip_inet_platform_config_include = "" |
| chip_system_platform_config_include = "" |
| chip_system_layer_impl_config_file = "" |
| } |
| } |
| |
| declare_args() { |
| # If true, disables KVS implementation for the platform. May not be |
| # supported on all platforms. |
| chip_disable_platform_kvs = false |
| |
| # If true, builds the tv-casting-common static lib |
| build_tv_casting_common_a = false |
| } |
| |
| assert(chip_disable_platform_kvs == false || chip_device_platform == "darwin", |
| "Can only disable KVS on some platforms") |
| |
| if (_chip_device_layer != "none" && chip_device_platform != "external") { |
| chip_ble_platform_config_include = |
| "<platform/" + _chip_device_layer + "/BlePlatformConfig.h>" |
| chip_device_platform_config_include = |
| "<platform/" + _chip_device_layer + "/CHIPDevicePlatformConfig.h>" |
| chip_platform_config_include = |
| "<platform/" + _chip_device_layer + "/CHIPPlatformConfig.h>" |
| chip_inet_platform_config_include = |
| "<platform/" + _chip_device_layer + "/InetPlatformConfig.h>" |
| chip_system_platform_config_include = |
| "<platform/" + _chip_device_layer + "/SystemPlatformConfig.h>" |
| } |
| |
| assert( |
| (current_os != "freertos" && chip_device_platform == "none") || |
| chip_device_platform == "fake" || |
| chip_device_platform == "cc13x2_26x2" || |
| chip_device_platform == "cc32xx" || chip_device_platform == "darwin" || |
| chip_device_platform == "efr32" || chip_device_platform == "esp32" || |
| chip_device_platform == "external" || chip_device_platform == "linux" || |
| chip_device_platform == "tizen" || |
| chip_device_platform == "nrfconnect" || |
| chip_device_platform == "k32w0" || chip_device_platform == "qpg" || |
| chip_device_platform == "telink" || chip_device_platform == "mbed" || |
| chip_device_platform == "psoc6" || chip_device_platform == "android" || |
| chip_device_platform == "ameba" || chip_device_platform == "cyw30739" || |
| chip_device_platform == "webos" || chip_device_platform == "bl602" || |
| chip_device_platform == "mw320" || chip_device_platform == "zephyr" || |
| chip_device_platform == "beken" || chip_device_platform == "bl702" || |
| chip_device_platform == "mt793x" || chip_device_platform == "SiWx917", |
| "Please select a valid value for chip_device_platform") |