# Copyright (c) 2019 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

comment "Available modules."

source "$(KCONFIG_BINARY_DIR)/Kconfig.modules"

comment "Optional modules. Make sure they're installed, via the project manifest."

source "modules/Kconfig.altera"
source "modules/Kconfig.atmel"
source "modules/Kconfig.civetweb"
source "modules/Kconfig.cmsis"
source "modules/Kconfig.cypress"
source "modules/Kconfig.eos_s3"
source "modules/Kconfig.esp32"
source "modules/Kconfig.imx"
source "modules/Kconfig.infineon"
source "modules/Kconfig.libmetal"
source "modules/Kconfig.lvgl"
source "modules/Kconfig.mcux"
source "modules/Kconfig.microchip"
source "modules/Kconfig.nuvoton"
source "modules/Kconfig.open-amp"
source "modules/Kconfig.silabs"
source "modules/Kconfig.simplelink"
source "modules/Kconfig.sof"
source "modules/Kconfig.st"
source "modules/Kconfig.stm32"
source "modules/Kconfig.syst"
source "modules/Kconfig.telink"
source "modules/Kconfig.tinycbor"
source "modules/Kconfig.tinycrypt"
source "modules/Kconfig.vega"
source "modules/Kconfig.xtensa"
source "modules/zcbor/Kconfig"
source "modules/Kconfig.mcuboot_bootutil"

comment "Unavailable modules, please install those via the project manifest."

# List of comments to display when Zephyr modules are not available, please
# use the following syntax:
# ---------------------------------------------------
# comment "<module_name> module not available."
#	depends on !ZEPHYR_<MODULE_NAME_UPPER>_MODULE
#
# Remember to add the following code inside the `<module>/Kconfig file:
# ---------------------------------------------------
# config ZEPHYR_<MODULE_NAME_UPPER>_MODULE
# 	bool

comment "hal_gigadevice module not available."
	depends on !ZEPHYR_HAL_GIGADEVICE_MODULE

comment "hal_nordic module not available."
	depends on !ZEPHYR_HAL_NORDIC_MODULE

comment "liblc3codec module not available."
	depends on !ZEPHYR_LIBLC3CODEC_MODULE

comment "LittleFS module not available."
	depends on !ZEPHYR_LITTLEFS_MODULE

comment "mbedtls module not available."
	depends on !ZEPHYR_MBEDTLS_MODULE

comment "Trusted-firmware-m module not available."
	depends on !ZEPHYR_TRUSTED_FIRMWARE_M_MODULE

comment "Nanopb module not available."
	depends on !ZEPHYR_NANOPB_MODULE

comment "Lz4 module not available."
	depends on !ZEPHYR_LZ4_MODULE

comment "loramac-node module not available."
	depends on !ZEPHYR_LORAMAC_NODE_MODULE

comment "CANopenNode module not available."
	depends on !ZEPHYR_CANOPENNODE_MODULE

comment "FFF module not available."
	depends on !ZEPHYR_FFF_MODULE

comment "zcbor module not available."
	depends on !ZEPHYR_ZCBOR_MODULE

comment "CHRE module not available."
	depends on !ZEPHYR_CHRE_MODULE

# This ensures that symbols are available in Kconfig for dependency checking
# and referencing, while keeping the settings themselves unavailable when the
# modules are not present in the workspace
if 0
osource "modules/*/Kconfig"
endif
