Commit Graph

49 Commits

Author SHA1 Message Date
Marius Vikhammer
65a302a6f6 kconfig: confgen.py now handles many-to-one config renames
All old symbols will now be included in the output when renaming
multiple symbols to the same new symbol.
2022-01-31 11:36:13 +08:00
Roland Dobai
b886dc6998 Merge branch 'feature/idf_py_savedefconfig' into 'master'
Tools: Add "idf.py save-defconfig" command to generate sdkconfig.defaults based on current sdkconfig

Closes IDF-2970

See merge request espressif/esp-idf!16409
2021-12-20 08:23:43 +00:00
Roland Dobai
5118dd7cf3 Tools: Add "idf.py save-defconfig" command to generate sdkconfig.defaults 2021-12-15 17:15:31 +01:00
Ivan Grokhotkov
8da98b864d build system: pass semicolon-separated directory lists to kconfig
New —-list-separator argument of confgen.py and
prepare_kconfig_files.py is used to select which character is used
as list separator. For compatibility with esp-docs, we still keep
support for space separator. Otherwise esp-docs would have to choose
the separator depending on the IDF version.
2021-12-14 19:17:53 +01:00
Roland Dobai
9c1d4f5b54 Build & config: Remove the "make" build system
The "make" build system was deprecated in v4.0 in favor of idf.py
(cmake). The remaining support is removed in v5.0.
2021-11-10 09:53:53 +01:00
Renz Bagaporo
89f572c933 kconfig: ignore nonexistent new names 2021-03-31 19:13:03 +08:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Roland Dobai
883cbc416e tools: Use kconfiglib from package 2020-09-22 11:29:30 +02:00
Angus Gratton
16e14104f7 kconfig: Fix generation of hex outputs for Make & CMake
And add tests for hex output formatting in all output formats.

Previously, Make & CMake outputs only formatted hex values with the 0x prefix
if they had the 0x prefix in the sdkconfig file. Now this prefix is always
applied.

Closes https://github.com/espressif/vscode-esp-idf-extension/issues/83
2020-05-05 13:15:54 +10:00
Roland Dobai
935b34e829 confgen.py: Escape special characters for cmake
Closes https://github.com/espressif/esp-idf/issues/4751
2020-02-12 14:30:53 +01:00
Angus Gratton
ac8e931179 confgen: Avoid including invisible (due to target) choice items in kconfig.rst renames 2020-02-07 16:37:45 +11:00
Roland Dobai
5454c268f7 Docs: Omit kconfig configurations not available for the target 2020-01-30 10:30:06 +01:00
Roland Dobai
be749395c4 Menuconfig: Don't ask to save configuration when nothing has changed
Closes https://github.com/espressif/esp-idf/issues/4303
2019-11-21 06:47:11 +00:00
Roland Dobai
84d5cc1c17 Generate source files for kconfiglib from the build system 2019-11-15 15:25:09 +00:00
Roland Dobai
01887f71e7 Update kconfiglib to upstream version and replace mconf-idf
Special thanks to @ulfalizer for the helpful suggestions regarding
kconfiglib.

"rsource" option is available for relative path includes
Closes https://github.com/espressif/esp-idf/issues/4064
2019-10-29 10:40:04 +01:00
Angus Gratton
496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
Roland Dobai
15857d9cbb Handle deprecated values in sdkconfig.defaults
The issue was pointed out also in
https://github.com/espressif/esp-idf/issues/4092
2019-10-02 16:29:25 +00:00
Angus Gratton
438d513a95 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-16 16:18:48 +10:00
Roland Dobai
1dcdc56a7f Use kconfiglib from $IDF_PATH/tools/kconfig_new 2019-09-11 14:30:31 +02:00
Angus Gratton
6990a7cd54 Merge branch 'master' into feature/esp32s2beta_update 2019-08-19 15:03:43 +10:00
Angus Gratton
24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
Roland Dobai
bd21960955 tools: Support sdkconfig.rename files from outside IDF in confgen.py 2019-07-16 20:18:19 +02:00
Roland Dobai
f3d6219c46 tools: Fix indentation in confgen.py 2019-07-06 09:17:31 +02:00
Ivan Grokhotkov
cd89182458 Merge branch 'bugfix/confgen_avoid_write_to_conf' into 'master'
tools: avoid using directly _write_to_conf from Kconfiglib

Closes IDFGH-1246

See merge request espressif/esp-idf!5423
2019-07-04 22:36:23 +08:00
Roland Dobai
510042160d tools: avoid using directly _write_to_conf from kconfiglib
Closes https://github.com/espressif/esp-idf/issues/3543
2019-07-04 10:35:34 +02:00
Roland Dobai
3bd4003e98 tools: Fix hex parsing in confgen.py
Closes https://github.com/espressif/esp-idf/issues/3568
2019-07-04 10:35:03 +02:00
Angus Gratton
26db058339 cmake kconfig: Pass environment variables to confgen.py via a file
Works around "command line too long" errors when using Windows
and CMake < 3.11

Closes IDF-711
2019-07-01 15:54:10 +10:00
Ivan Grokhotkov
73b30af2b3 confgen.py: don't output compatibility definitions for options which are not defined
For example, if a renamed option CONFIG_NEW is a bool with value "n", kconfiglib will not generate a define for it in the Kconfig file. The define (#define CONFIG_NEW 1) will only be generated if the option is "y" or "m".
However the compatibility definition was always generated: #define CONFIG_OLD CONFIG_NEW. This broke the #ifdef checks which depended on the old option names.
2019-06-11 13:07:37 +08:00
Ivan Grokhotkov
912c75372c confgen.py: don't output compatibility definitions for options which are not defined
For example, if a renamed option CONFIG_NEW is a bool with value “n”,
kconfiglib will not generate a define for it in the Kconfig file. The
define (#define CONFIG_NEW 1) will only be generated if the option is
“y” or “m”. However the compatibility definition was always
generated: #define CONFIG_OLD CONFIG_NEW. This broke the #ifdef
checks which depended on the old option names.

This commit wraps each compatibility definition:

    #ifdef CONFIG_NEW
    #define CONFIG_OLD CONFIG_NEW
    #endif

so that the CONFIG_OLD definition is only generated if CONFIG_NEW is
defined.
2019-06-10 06:56:07 +00:00
Roland Dobai
5b15686e29 docs: Kconfig formatting rules and backward compatibility of options 2019-05-29 14:56:23 +02:00
Roland Dobai
979e1e32cb tools: Ignore sdkconfig.rename files from the example directory 2019-05-21 09:09:01 +02:00
Roland Dobai
254c1c1085 Confgen: link config options to parent choices in the docs 2019-05-21 09:09:01 +02:00
Roland Dobai
30ca5c7a88 Confgen: Fix prefix removal to work for exact match only 2019-05-21 09:09:01 +02:00
Renz Christian Bagaporo
c6dc47b3e2 cmake: build system changes 2019-05-13 19:57:39 +08:00
Roland Dobai
23ee93ea76 Rename deprecated Kconfig options in a backward compatible way 2019-04-24 12:53:02 +02:00
Angus Gratton
02802a5113 confserver: Add support for new V2 protocol
V2 adds:
* Independent result for visibility (showing/hiding menus)
* Includes adding IDs for all items (menus & symbols) in kconfig_menus.json

Still backwards compatible with V1, with some small changes (menu items now listed in results).

Also added some protocol docs, changed the "listening on stdin" message to come after any kconfiglib warnings
2019-03-15 14:31:45 +11:00
Angus Gratton
673441aba0 confgen: Fix bug with JSON metadata conditional range generation
When generating JSON metadata for ranges where there are conditional ranges (ie different allowed range
depending on another config setting), the JSON metadata would always have the last named range as
the expression was not evaluated properly.

Thanks to ulfalizer on GitHub for pointing this out.

Closes https://github.com/espressif/esp-idf/issues/2195
2019-03-01 15:38:23 +11:00
Renz Christian Bagaporo
00e53f447a confgen: disable config override warnings 2019-01-29 11:17:02 +08:00
Renz Christian Bagaporo
5a4fe0bac8 confgen: disable redundant assignment warning 2019-01-25 18:35:58 +08:00
Renz Christian Bagaporo
61329f60c3 confgen: base config creation on output type args 2019-01-16 08:16:09 +08:00
Roland Dobai
bfa9610f58 tools: Fix the Python coding style 2018-12-19 11:56:24 +01:00
Ivan Grokhotkov
e2ca285fae confgen.py: allow multiple defaults files 2018-11-11 21:44:35 +08:00
Roland Dobai
173e6aab3e tools: Make kconfig_new Python3-compatible and enable Python3 in idf.py 2018-09-19 08:38:09 +02:00
Angus Gratton
191557db02 docs: Copy CMake docs to a separate set of directories
Required first step before merging back to mainline.
2018-08-13 15:37:03 +10:00
Angus Gratton
6065d2fd08 kconfig: Add confserver.py to expose sdkconfig to clients 2018-06-07 14:23:08 +10:00
Angus Gratton
efb5928934 idf.py build & flash tool
Generate flasher args files & .json project info file as part of cmake build
2018-04-30 09:59:20 +10:00
Angus Gratton
1f8e07fd8f cmake: Add sdkconfig.defaults support 2018-04-30 09:59:20 +10:00
Angus Gratton
99a2359c5c confgen: Create config file if missing 2018-04-30 09:59:20 +10:00
Angus Gratton
a538644560 config: Add new Python & kconfiglib-based config management tool 2018-04-30 09:59:20 +10:00