# 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("//build_overrides/k32w0_sdk.gni")
import("//build_overrides/openthread.gni")

chip_device_platform = "k32w0"

lwip_platform = "k32w0"

chip_inet_config_enable_ipv4 = false

chip_inet_config_enable_tcp_endpoint = false

chip_build_tests = false

chip_mdns = "platform"

# Logs are enabled by default, but can be disabled by setting
# chip_logging=false in the build command.
# Alternatively, a user can overwrite the value for different logging levels
# by uncommenting the lines below and setting the corresponding value.
# A user can disable some logging levels to decrease flash usage.
#chip_detail_logging = true
#chip_progress_logging = true
#chip_automation_logging = true
#chip_error_logging = true

chip_system_config_use_open_thread_inet_endpoints = true
chip_with_lwip = false

mbedtls_target = "${chip_root}/third_party/nxp/k32w0_sdk:mbedtls"
openthread_external_mbedtls = mbedtls_target

openthread_project_core_config_file = "OpenThreadConfig.h"
openthread_core_config_platform_check_file =
    "openthread-core-k32w061-config-check.h"
openthread_core_config_deps = [ "${chip_root}/examples/platform/nxp/k32w/k32w0:openthread_core_config_k32w0_chip_examples" ]

openthread_external_platform = "${chip_root}/third_party/openthread/platforms/nxp/k32w/k32w0:libopenthread-k32w0"
