mirror of
https://github.com/espressif/esp-idf.git
synced 2026-02-06 06:18:17 +00:00
Merge branch 'feature/kconfiglib_package' into 'master'
Update kconfiglib to upstream version and replace mconf-idf Closes IDF-314, IDF-739, IDFGH-1857, and IDF-1050 See merge request espressif/esp-idf!6057
This commit is contained in:
@@ -100,6 +100,9 @@ kconfigs = [k for k in kconfigs if "esp32s2beta" not in k]
|
||||
kconfig_projbuilds = [k for k in kconfig_projbuilds if "esp32s2beta" not in k]
|
||||
sdkconfig_renames = [r for r in sdkconfig_renames if "esp32s2beta" not in r]
|
||||
|
||||
kconfigs_source_path = '{}/inc/kconfigs_source.in'.format(builddir)
|
||||
kconfig_projbuilds_source_path = '{}/inc/kconfig_projbuilds_source.in'.format(builddir)
|
||||
|
||||
confgen_args = [sys.executable,
|
||||
"../../tools/kconfig_new/confgen.py",
|
||||
"--kconfig", "../../Kconfig",
|
||||
@@ -108,6 +111,8 @@ confgen_args = [sys.executable,
|
||||
"--env", "COMPONENT_KCONFIGS={}".format(" ".join(kconfigs)),
|
||||
"--env", "COMPONENT_KCONFIGS_PROJBUILD={}".format(" ".join(kconfig_projbuilds)),
|
||||
"--env", "COMPONENT_SDKCONFIG_RENAMES={}".format(" ".join(sdkconfig_renames)),
|
||||
"--env", "COMPONENT_KCONFIGS_SOURCE_FILE={}".format(kconfigs_source_path),
|
||||
"--env", "COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE={}".format(kconfig_projbuilds_source_path),
|
||||
"--env", "IDF_PATH={}".format(idf_path),
|
||||
"--output", "docs", kconfig_inc_path + '.in'
|
||||
]
|
||||
|
||||
@@ -4,7 +4,7 @@ Copyrights and Licenses
|
||||
Software Copyrights
|
||||
===================
|
||||
|
||||
All original source code in this repository is Copyright (C) 2015-2018 Espressif Systems. This source code is licensed under the Apache License 2.0 as described in the file LICENSE.
|
||||
All original source code in this repository is Copyright (C) 2015-2019 Espressif Systems. This source code is licensed under the Apache License 2.0 as described in the file LICENSE.
|
||||
|
||||
Additional third party copyrighted code is included under the following licenses.
|
||||
|
||||
@@ -72,6 +72,10 @@ This is the list of licenses for tools included in this repository, which are us
|
||||
|
||||
* :idf:`KConfig <tools/kconfig>` is Copyright (C) 2002 Roman Zippel and others, and is licensed under the GNU General Public License V2.
|
||||
|
||||
* :idf:`Kconfiglib <tools/kconfig_new/kconfiglib.py>` is Copyright (C) 2011-2019, Ulf Magnusson, and is licensed under the ISC License.
|
||||
|
||||
* :idf:`Menuconfig of Kconfiglib <tools/kconfig_new/menuconfig.py>` is Copyright (C) 2018-2019, Nordic Semiconductor ASA and Ulf Magnusson, and is licensed under the ISC License.
|
||||
|
||||
|
||||
ROM Source Code Copyrights
|
||||
==========================
|
||||
|
||||
@@ -4,7 +4,12 @@ Project Configuration
|
||||
Introduction
|
||||
============
|
||||
|
||||
ESP-IDF uses Kconfig_ system to provide a compile-time project configuration mechanism. Kconfig is based around options of several types: integer, string, boolean. Kconfig files specify dependencies between options, default values of the options, the way the options are grouped together, etc.
|
||||
ESP-IDF uses kconfiglib_ which is a Python-based extension to the Kconfig_ system which provides a compile-time
|
||||
project configuration mechanism. Kconfig is based around options of several types: integer, string, boolean. Kconfig
|
||||
files specify dependencies between options, default values of the options, the way the options are grouped together,
|
||||
etc.
|
||||
|
||||
For the complete list of available features please see Kconfig_ and `kconfiglib extentions`_.
|
||||
|
||||
.. _project-configuration-menu:
|
||||
|
||||
@@ -94,3 +99,5 @@ Because IDF builds by default with :ref:`warn-undefined-variables`, when the Kco
|
||||
When generating header files for C & C++, the behaviour is not customised - so ``#ifdef`` can be used to test if a boolean config item is set or not.
|
||||
|
||||
.. _Kconfig: https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt
|
||||
.. _kconfiglib: https://github.com/ulfalizer/Kconfiglib
|
||||
.. _kconfiglib extentions: https://pypi.org/project/kconfiglib/#kconfig-extensions
|
||||
|
||||
@@ -12,15 +12,15 @@ To compile with ESP-IDF you need to get the following packages:
|
||||
|
||||
- CentOS 7::
|
||||
|
||||
sudo yum install gcc git wget make ncurses-devel flex bison gperf python python2-cryptography
|
||||
sudo yum install gcc git wget make flex bison gperf python python2-cryptography
|
||||
|
||||
- Ubuntu and Debian::
|
||||
|
||||
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools
|
||||
sudo apt-get install gcc git wget make flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools
|
||||
|
||||
- Arch::
|
||||
|
||||
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-cryptography python2-future python2-pyparsing python2-pyelftools
|
||||
sudo pacman -S --needed gcc git make flex bison gperf python2-pyserial python2-cryptography python2-future python2-pyparsing python2-pyelftools
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -86,22 +86,6 @@ Permission issues /dev/ttyUSB0
|
||||
|
||||
With some Linux distributions you may get the ``Failed to open port /dev/ttyUSB0`` error message when flashing the ESP32. :ref:`This can be solved by adding the current user to the dialout group<linux-dialout-group-legacy>`.
|
||||
|
||||
|
||||
Arch Linux Users
|
||||
----------------
|
||||
|
||||
To run the precompiled gdb (xtensa-esp32-elf-gdb) in Arch Linux requires ncurses 5, but Arch uses ncurses 6.
|
||||
|
||||
Backwards compatibility libraries are available in AUR_ for native and lib32 configurations:
|
||||
|
||||
- https://aur.archlinux.org/packages/ncurses5-compat-libs/
|
||||
- https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/
|
||||
|
||||
Before installing these packages you might need to add the author's public key to your keyring as described in the "Comments" section at the links above.
|
||||
|
||||
Alternatively, use crosstool-NG to compile a gdb that links against ncurses 6.
|
||||
|
||||
|
||||
Next Steps
|
||||
==========
|
||||
|
||||
|
||||
@@ -11,15 +11,15 @@ To compile with ESP-IDF you need to get the following packages:
|
||||
|
||||
- CentOS 7::
|
||||
|
||||
sudo yum install git wget ncurses-devel flex bison gperf python pyserial python-pyelftools cmake ninja-build ccache
|
||||
sudo yum install git wget flex bison gperf python pyserial python-pyelftools cmake ninja-build ccache
|
||||
|
||||
- Ubuntu and Debian::
|
||||
|
||||
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
|
||||
sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
|
||||
|
||||
- Arch::
|
||||
|
||||
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pip python2-pyserial python2-click python2-cryptography python2-future python2-pyparsing python2-pyelftools cmake ninja ccache
|
||||
sudo pacman -S --needed gcc git make flex bison gperf python2-pip python2-pyserial python2-click python2-cryptography python2-future python2-pyparsing python2-pyelftools cmake ninja ccache
|
||||
|
||||
.. note::
|
||||
CMake version 3.5 or newer is required for use with ESP-IDF. Older Linux distributions may require updating, enabling of a "backports" repository, or installing of a "cmake3" package rather than "cmake".
|
||||
@@ -32,20 +32,6 @@ Permission issues /dev/ttyUSB0
|
||||
|
||||
With some Linux distributions you may get the ``Failed to open port /dev/ttyUSB0`` error message when flashing the ESP32. :ref:`This can be solved by adding the current user to the dialout group<linux-dialout-group>`.
|
||||
|
||||
ncurses 5 dependency
|
||||
--------------------
|
||||
|
||||
To run the precompiled gdb (xtensa-esp32-elf-gdb) in Linux requires ncurses 5, but some newer distributions only provide ncurses 6 by default.
|
||||
|
||||
Consult your distribution's documentation to see if ncurses 5 libraries are available. Alternatively, use crosstool-NG to compile a gdb that links against ncurses 6.
|
||||
|
||||
For Arch Linux users, ncurses 5 libraries are available in AUR_ for native and lib32 configurations:
|
||||
|
||||
- https://aur.archlinux.org/packages/ncurses5-compat-libs/
|
||||
- https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/
|
||||
|
||||
Before installing these packages you might need to add the author's public key to your keyring as described in the "Comments" section at the links above.
|
||||
|
||||
Next Steps
|
||||
==========
|
||||
|
||||
|
||||
@@ -12,15 +12,15 @@ Linux 平台工具链的标准设置(传统 GNU Make)
|
||||
|
||||
- CentOS 7::
|
||||
|
||||
sudo yum install gcc git wget make ncurses-devel flex bison gperf python python2-cryptography
|
||||
sudo yum install gcc git wget make flex bison gperf python python2-cryptography
|
||||
|
||||
- Ubuntu and Debian::
|
||||
|
||||
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools
|
||||
sudo apt-get install gcc git wget make flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools
|
||||
|
||||
- Arch::
|
||||
|
||||
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-cryptography python2-future python2-pyparsing python2-pyelftools
|
||||
sudo pacman -S --needed gcc git make flex bison gperf python2-pyserial python2-cryptography python2-future python2-pyparsing python2-pyelftools
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -87,21 +87,6 @@ Linux 版的 ESP32 工具链可以从 Espressif 的网站下载:
|
||||
某些 Linux 版本可能在烧写 ESP32 时会出现 ``Failed to open port /dev/ttyUSB0`` 错误消息,这可以通过 :ref:`将当前用户添加到 dialout 组 <linux-dialout-group-legacy>` 来解决。
|
||||
|
||||
|
||||
Arch Linux 用户
|
||||
----------------
|
||||
|
||||
在 Arch Linux 中运行预编译 gdb (xtensa-esp32-elf-gdb) 需要 ncurses 5,但 Arch 会使用 ncurses 6。
|
||||
|
||||
不过,AUR_ 中有针对原生和 lib32 配置的向下兼容库:
|
||||
|
||||
- https://aur.archlinux.org/packages/ncurses5-compat-libs/
|
||||
- https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/
|
||||
|
||||
在安装这些软件包之前,您可能需要将作者的公钥添加到您的密钥环中,具体参考上方的 “注释” 部分。
|
||||
|
||||
此外,您也可以使用 crosstool-NG 编译一个链接到 ncurses 6 的 gdb。
|
||||
|
||||
|
||||
后续步骤
|
||||
==========
|
||||
|
||||
|
||||
@@ -11,15 +11,15 @@ Linux 平台工具链的标准设置
|
||||
|
||||
- CentOS 7::
|
||||
|
||||
sudo yum install git wget ncurses-devel flex bison gperf python pyserial python-pyelftools cmake ninja-build ccache
|
||||
sudo yum install git wget flex bison gperf python pyserial python-pyelftools cmake ninja-build ccache
|
||||
|
||||
- Ubuntu 和 Debian::
|
||||
|
||||
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
|
||||
sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
|
||||
|
||||
- Arch::
|
||||
|
||||
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pip python2-pyserial python2-click python2-cryptography python2-future python2-pyparsing python2-pyelftools cmake ninja ccache
|
||||
sudo pacman -S --needed gcc git make flex bison gperf python2-pip python2-pyserial python2-click python2-cryptography python2-future python2-pyparsing python2-pyelftools cmake ninja ccache
|
||||
|
||||
.. note::
|
||||
使用 ESP-IDF 需要 CMake 3.5 或以上版本。较早版本的 Linux 可能需要升级才能向后移植仓库,或安装 "cmake3" 软件包,而不是安装 "cmake"。
|
||||
@@ -32,20 +32,6 @@ Linux 平台工具链的标准设置
|
||||
|
||||
使用某些 Linux 版本向 ESP32 烧写固件时,可能会出现 ``Failed to open port /dev/ttyUSB0`` 错误消息。此时,可以将当前用户增加至 :ref:` Linux Dialout 组 <linux-dialout-group>`。
|
||||
|
||||
ncurses 5 依赖项
|
||||
--------------------
|
||||
|
||||
在 Linux 上运行预编译的 gdb (xtensa-esp32-elf-gdb) 需要 ncurses 5,但一些较新版本默认只提供 ncurses 6。
|
||||
|
||||
请查看对应版本信息,确认是否存在可用的 ncurses 5。此外,您也可以使用 crosstool-NG 编译一个链接到 ncurses 6 的 gdb。
|
||||
|
||||
Arch Linux 用户可在 AUR_ 中获得 native 和 lib32 配置的 ncurses 5 库:
|
||||
|
||||
- https://aur.archlinux.org/packages/ncurses5-compat-libs/
|
||||
- https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/
|
||||
|
||||
在安装这些软件包之前,您可能需要将作者的公钥添加到您的密钥环中,具体参考上方的“注释”部分。
|
||||
|
||||
后续步骤
|
||||
==========
|
||||
|
||||
|
||||
Reference in New Issue
Block a user