blob: 6c30da58d7c032e30560bab28d972bbf9f0dd4af [file] [log] [blame]
# Copyright (c) 2023 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/jlink.gni")
import("//build_overrides/mbedtls.gni")
import("//build_overrides/asr.gni")
# Defines an asr SDK build target.
#
# Parameters:
# sources - The sources files to build.
#
template("asr_sdk_sources") {
if (defined(invoker.asr_project_dir)) {
asr_project_dir = invoker.asr_project_dir
}
# While most asr sdk includes come from the asr_sdk_config config (in
# BUILD.gn), this template gets instantiated by each project each of which
# provides a few extra includes/defines. Handle those here.
config("project_configs") {
include_dirs = []
if (defined(invoker.include_dirs)) {
include_dirs += invoker.include_dirs
}
include_dirs += [ "${asr_project_dir}/include" ]
defines = []
if (defined(invoker.defines)) {
defines += invoker.defines
}
}
sdk_target_name = target_name
# Add sources here
source_set(sdk_target_name) {
sources = []
if (defined(invoker.sources)) {
sources += invoker.sources
}
_third_party_src = [
#at
"at_cmd/atcmd_comm.c",
"at_cmd/atcmd_user.c",
"at_cmd/atcmd_matter.c",
#common
"common/alto/src/alto_common.c",
"common/alto/src/hbird_common.c",
"common/alto/src/system_hbird.c",
"common/alto/src/GCC/startup_hbird.S",
"common/alto/src/GCC/intexc_hbird.S",
#rtos
"freertos/Source/croutine.c",
"freertos/Source/event_groups.c",
"freertos/Source/list.c",
"freertos/Source/portable/GCC/port.c",
"freertos/Source/portable/GCC/portasm.S",
"freertos/Source/portable/MemMang/heap_5.c",
"freertos/Source/queue.c",
"freertos/Source/stream_buffer.c",
"freertos/Source/tasks.c",
"freertos/Source/timers.c",
"legartos/lega_rtos.c",
#peripheral
"peripheral/asr/src/alto/asr_alto_apll_rf.c",
"peripheral/asr/src/alto/asr_alto_board.c",
"peripheral/asr/src/alto/asr_alto_efuse.c",
"peripheral/asr/src/alto/asr_alto_pinmux.c",
"peripheral/asr/src/alto/asr_alto_port.c",
"peripheral/asr/src/alto/asr_alto_boot.c",
"peripheral/asr/src/alto/asr_alto_ram_layout.c",
"peripheral/asr/src/asr_dma.c",
"peripheral/asr/src/asr_efuse.c",
"peripheral/asr/src/asr_flash.c",
"peripheral/asr/src/asr_flash_alg.c",
"peripheral/asr/src/asr_i2c.c",
"peripheral/asr/src/asr_gpio.c",
"peripheral/asr/src/asr_pwm.c",
"peripheral/asr/src/asr_pinmux.c",
"peripheral/asr/src/asr_adc.c",
"peripheral/asr/src/asr_psram.c",
"peripheral/asr/src/asr_rf_spi.c",
"peripheral/asr/src/asr_rtc.c",
"peripheral/asr/src/asr_timer.c",
"peripheral/asr/src/asr_uart.c",
"peripheral/asr/src/asr_wdg.c",
#platform
"platform/alto/system/prinfs/printf-stdarg.c",
"platform/alto/system/prinfs/printf_uart.c",
"platform/alto/system/prinfs/sysCalls.c",
"platform/alto/system/soc/soc_init.c",
"platform/alto/system/soc/system_cm4.c",
"platform/alto/system/soc/systick_delay.c",
#elog
"common/alto/easylogger/elog_async.c",
"common/alto/easylogger/elog_buf.c",
"common/alto/easylogger/elog_module.c",
"common/alto/easylogger/elog_port.c",
"common/alto/easylogger/elog_utils.c",
"common/alto/easylogger/elog.c",
#ble
"projects/alto_demo/ble_demo/duet_hl_matter/app.c",
"projects/alto_demo/ble_demo/duet_hl_matter/user_platform.c",
#matter
"matter/asr_factory_config.c",
#lwip
"lwip/lwip_2.1.2/netif/ethernet.c",
"lwip/lwip_2.1.2/port/sys_arch.c",
"lwip/lwip_2.1.2/api/api_lib.c",
"lwip/lwip_2.1.2/api/api_msg.c",
"lwip/lwip_2.1.2/api/err.c",
"lwip/lwip_2.1.2/api/if_api.c",
"lwip/lwip_2.1.2/api/netbuf.c",
"lwip/lwip_2.1.2/api/netdb.c",
"lwip/lwip_2.1.2/api/netifapi.c",
"lwip/lwip_2.1.2/api/sockets.c",
"lwip/lwip_2.1.2/api/tcpip.c",
"lwip/lwip_2.1.2/core/altcp.c",
"lwip/lwip_2.1.2/core/altcp_alloc.c",
"lwip/lwip_2.1.2/core/altcp_tcp.c",
"lwip/lwip_2.1.2/core/def.c",
"lwip/lwip_2.1.2/core/dns.c",
"lwip/lwip_2.1.2/core/inet_chksum.c",
"lwip/lwip_2.1.2/core/init.c",
"lwip/lwip_2.1.2/core/ip.c",
"lwip/lwip_2.1.2/core/ipv4/autoip.c",
"lwip/lwip_2.1.2/core/ipv4/dhcp.c",
"lwip/lwip_2.1.2/core/ipv4/etharp.c",
"lwip/lwip_2.1.2/core/ipv4/icmp.c",
"lwip/lwip_2.1.2/core/ipv4/igmp.c",
"lwip/lwip_2.1.2/core/ipv4/ip4.c",
"lwip/lwip_2.1.2/core/ipv4/ip4_addr.c",
"lwip/lwip_2.1.2/core/ipv4/ip4_frag.c",
"lwip/lwip_2.1.2/core/ipv6/dhcp6.c",
"lwip/lwip_2.1.2/core/ipv6/ethip6.c",
"lwip/lwip_2.1.2/core/ipv6/icmp6.c",
"lwip/lwip_2.1.2/core/ipv6/inet6.c",
"lwip/lwip_2.1.2/core/ipv6/ip6.c",
"lwip/lwip_2.1.2/core/ipv6/ip6_addr.c",
"lwip/lwip_2.1.2/core/ipv6/ip6_frag.c",
"lwip/lwip_2.1.2/core/ipv6/mld6.c",
"lwip/lwip_2.1.2/core/ipv6/nd6.c",
"lwip/lwip_2.1.2/core/lwip_hooks.c",
"lwip/lwip_2.1.2/core/mem.c",
"lwip/lwip_2.1.2/core/memp.c",
"lwip/lwip_2.1.2/core/netif.c",
"lwip/lwip_2.1.2/core/pbuf.c",
"lwip/lwip_2.1.2/core/raw.c",
"lwip/lwip_2.1.2/core/stats.c",
"lwip/lwip_2.1.2/core/sys.c",
"lwip/lwip_2.1.2/core/tcp.c",
"lwip/lwip_2.1.2/core/tcp_in.c",
"lwip/lwip_2.1.2/core/tcp_out.c",
"lwip/lwip_2.1.2/core/timeouts.c",
"lwip/lwip_2.1.2/core/udp.c",
#mbedtls
"lwip/mbedtls-mbedtls-2.18/library/aes.c",
"lwip/mbedtls-mbedtls-2.18/library/aesni.c",
"lwip/mbedtls-mbedtls-2.18/library/arc4.c",
"lwip/mbedtls-mbedtls-2.18/library/aria.c",
"lwip/mbedtls-mbedtls-2.18/library/asn1parse.c",
"lwip/mbedtls-mbedtls-2.18/library/asn1write.c",
"lwip/mbedtls-mbedtls-2.18/library/base64.c",
"lwip/mbedtls-mbedtls-2.18/library/bignum.c",
"lwip/mbedtls-mbedtls-2.18/library/blowfish.c",
"lwip/mbedtls-mbedtls-2.18/library/camellia.c",
"lwip/mbedtls-mbedtls-2.18/library/ccm.c",
"lwip/mbedtls-mbedtls-2.18/library/certs.c",
"lwip/mbedtls-mbedtls-2.18/library/chacha20.c",
"lwip/mbedtls-mbedtls-2.18/library/chachapoly.c",
"lwip/mbedtls-mbedtls-2.18/library/cipher.c",
"lwip/mbedtls-mbedtls-2.18/library/cipher_wrap.c",
"lwip/mbedtls-mbedtls-2.18/library/cmac.c",
"lwip/mbedtls-mbedtls-2.18/library/ctr_drbg.c",
"lwip/mbedtls-mbedtls-2.18/library/debug.c",
"lwip/mbedtls-mbedtls-2.18/library/des.c",
"lwip/mbedtls-mbedtls-2.18/library/dhm.c",
"lwip/mbedtls-mbedtls-2.18/library/ecdh.c",
"lwip/mbedtls-mbedtls-2.18/library/ecdsa.c",
"lwip/mbedtls-mbedtls-2.18/library/ecjpake.c",
"lwip/mbedtls-mbedtls-2.18/library/ecp.c",
"lwip/mbedtls-mbedtls-2.18/library/ecp_curves.c",
"lwip/mbedtls-mbedtls-2.18/library/entropy.c",
"lwip/mbedtls-mbedtls-2.18/library/entropy_poll.c",
"lwip/mbedtls-mbedtls-2.18/library/error.c",
"lwip/mbedtls-mbedtls-2.18/library/gcm.c",
"lwip/mbedtls-mbedtls-2.18/library/havege.c",
"lwip/mbedtls-mbedtls-2.18/library/hkdf.c",
"lwip/mbedtls-mbedtls-2.18/library/hmac_drbg.c",
"lwip/mbedtls-mbedtls-2.18/library/md.c",
"lwip/mbedtls-mbedtls-2.18/library/md2.c",
"lwip/mbedtls-mbedtls-2.18/library/md4.c",
"lwip/mbedtls-mbedtls-2.18/library/md5.c",
"lwip/mbedtls-mbedtls-2.18/library/md_wrap.c",
"lwip/mbedtls-mbedtls-2.18/library/memory_buffer_alloc.c",
"lwip/mbedtls-mbedtls-2.18/library/nist_kw.c",
"lwip/mbedtls-mbedtls-2.18/library/oid.c",
"lwip/mbedtls-mbedtls-2.18/library/padlock.c",
"lwip/mbedtls-mbedtls-2.18/library/pem.c",
"lwip/mbedtls-mbedtls-2.18/library/pk.c",
"lwip/mbedtls-mbedtls-2.18/library/pk_wrap.c",
"lwip/mbedtls-mbedtls-2.18/library/pkcs11.c",
"lwip/mbedtls-mbedtls-2.18/library/pkcs12.c",
"lwip/mbedtls-mbedtls-2.18/library/pkcs5.c",
"lwip/mbedtls-mbedtls-2.18/library/pkparse.c",
"lwip/mbedtls-mbedtls-2.18/library/pkwrite.c",
"lwip/mbedtls-mbedtls-2.18/library/platform.c",
"lwip/mbedtls-mbedtls-2.18/library/platform_util.c",
"lwip/mbedtls-mbedtls-2.18/library/poly1305.c",
"lwip/mbedtls-mbedtls-2.18/library/ripemd160.c",
"lwip/mbedtls-mbedtls-2.18/library/rsa.c",
"lwip/mbedtls-mbedtls-2.18/library/rsa_internal.c",
"lwip/mbedtls-mbedtls-2.18/library/sha1.c",
"lwip/mbedtls-mbedtls-2.18/library/sha256.c",
"lwip/mbedtls-mbedtls-2.18/library/sha512.c",
"lwip/mbedtls-mbedtls-2.18/library/ssl_cache.c",
"lwip/mbedtls-mbedtls-2.18/library/ssl_ciphersuites.c",
"lwip/mbedtls-mbedtls-2.18/library/ssl_cli.c",
"lwip/mbedtls-mbedtls-2.18/library/ssl_cookie.c",
"lwip/mbedtls-mbedtls-2.18/library/ssl_srv.c",
"lwip/mbedtls-mbedtls-2.18/library/ssl_ticket.c",
"lwip/mbedtls-mbedtls-2.18/library/ssl_tls.c",
"lwip/mbedtls-mbedtls-2.18/library/threading.c",
"lwip/mbedtls-mbedtls-2.18/library/timing.c",
"lwip/mbedtls-mbedtls-2.18/library/version.c",
"lwip/mbedtls-mbedtls-2.18/library/version_features.c",
"lwip/mbedtls-mbedtls-2.18/library/x509.c",
"lwip/mbedtls-mbedtls-2.18/library/x509_create.c",
"lwip/mbedtls-mbedtls-2.18/library/x509_crl.c",
"lwip/mbedtls-mbedtls-2.18/library/x509_crt.c",
"lwip/mbedtls-mbedtls-2.18/library/x509_csr.c",
"lwip/mbedtls-mbedtls-2.18/library/x509write_crt.c",
"lwip/mbedtls-mbedtls-2.18/library/x509write_csr.c",
"lwip/mbedtls-mbedtls-2.18/library/xtea.c",
"lwip/mbedtls-mbedtls-2.18/asr_mbedtls/alt/entropy_hardware_alt.c",
"lwip/mbedtls-mbedtls-2.18/asr_mbedtls/alt/aes_alt.c",
"lwip/mbedtls-mbedtls-2.18/asr_mbedtls/alt/sha1_alt.c",
"lwip/mbedtls-mbedtls-2.18/asr_mbedtls/alt/sha256_alt.c",
]
foreach(src, _third_party_src) {
sources += [ rebase_path(src,
"${asr_project_dir}",
"${asr_sdk_build_root}/asr_sdk/") ]
}
public_deps = [ "${chip_root}/src/lwip:lwip" ]
public_configs = [ ":project_configs" ]
if (defined(invoker.public_configs)) {
public_configs += invoker.public_configs
}
}
}