Есть ли способ игнорировать ошибку разбора в файле KConfig для Nuttx? Make menuconfig setup
С помощью menuconfig
для развития психов.
Попытка сделать ниже для пользовательской настройки платы:
if ARCH_BOARD_FOO
source "configs/FOO/Kconfig"
endif
Проблема здесь, я хотел бы иметь некоторый контроль разрешений для FOO
каталог. Так что не все пользователи могут это видеть.
Тем не менее, язык kconfig всегда будет анализировать файл независимо от того, является ли условие истинным или нет. Поэтому это вызывает menuconfig
не может открыть для пользователей не имеют разрешения FOO
каталог.
Кто-нибудь знает решение для этого?
2 ответа
Попробуйте использовать пользовательскую конфигурацию платы. Тогда ваша директория форума может находиться внутри или снаружи дерева исходных текстов NuttX. В любом случае, он не будет виден системе конфигурации. вы бы настроили это так:
CONFIG_ARCH_BOARD_CUSTOM=y
CONFIG_ARCH_BOARD_CUSTOM_NAME="myboard"
CONFIG_ARCH_BOARD_CUSTOM_DIR="/home/users/me/myboard"
... and other options ...
В приведенном выше примере каталог платы находится вне дерева исходных текстов NuttX и является абсолютным путем. Конфигурация платы также может находиться внутри NuttX, и путь может быть указан относительно каталога верхнего уровня с помощью:
CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
Например:
CONFIG_ARCH_BOARD_CUSTOM_DIR="configs/FOO"
CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
Теперь, если CONFIG_ARCH_BOARD_CUSTOM=y не определено, нет способа получить доступ к / home / users / me / myboard или config /FOO из системы конфигурации.
Это работает, потому что файл пользовательской платы Kconfig будет связан с config /dummy/Kconfig в пользовательской конфигурации с CONFIG_ARCH_BOARD_CUSTOM=y. В противном случае config /dummy/Kconfig будет связан с пустой конфигурацией, чтобы удовлетворить систему конфигурации.
Чтобы игнорировать ошибку, вы можете использовать:
if ARCH_BOARD_FOO
-source "configs/FOO/Kconfig"
endif