blob: 82db0affed9cf92cd46850ca15c16018898a56ec [file] [log] [blame]
# Copyright (c) 2022 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/mbedtls.gni")
import("//build_overrides/mt793x_sdk.gni")
import("${chip_root}/src/crypto/crypto.gni")
import("${chip_root}/src/platform/mt793x/args.gni")
import("${chip_root}/src/platform/mt793x/lwip/lwip.gni")
#
# Defines an mt793x SDK build target.
#
# Parameters:
# sources - Extra source files to build.
#
declare_args() {
mt793x_sdk_developer = getenv("MTK_DEV")
}
if (mt793x_sdk_developer == "") {
import(
"${mt793x_sdk_build_root}/filogic/project/mt7933_hdk/apps/matter_sdk/matter_sdk.gni")
} else {
import(
"${mt793x_sdk_build_root}/filogic/project/mt7933_hdk/apps/matter_sdk/matter_sdk_internal.gni")
}
template("mt793x_sdk") {
sdk_target_name = target_name
matter_sdk("matter_sdk") {
include_dirs = []
if (defined(invoker.include_dirs)) {
include_dirs += invoker.include_dirs
}
include_dirs += [
"${lwip_root}/repo/lwip/ports/include",
"${lwip_root}/repo/lwip/src/include",
]
defines = []
if (chip_mdns == "platform") {
defines += [
"OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE=1",
"OPENTHREAD_CONFIG_ECDSA_ENABLE=1",
"OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE=1",
"OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1",
]
}
}
config("${sdk_target_name}_config") {
if (!defined(include_dirs)) {
include_dirs = []
}
if (defined(invoker.include_dirs)) {
include_dirs += invoker.include_dirs
}
libs = []
defines = []
if (defined(invoker.defines)) {
defines += invoker.defines
}
}
# TODO - Break up this monolith and make it configurable.
source_set(sdk_target_name) {
forward_variables_from(invoker, "*")
if (!defined(sources)) {
sources = []
}
if (!defined(public_configs)) {
public_configs = []
}
public_deps = [ ":matter_sdk" ]
public_configs += [ ":${sdk_target_name}_config" ]
}
}