Page 1 of 1

Make menuconfig generate local headers

Posted: Sun Feb 17, 2019 5:14 pm
by tbitowt
Hello,

I would like to ask you, if it's possible to make menuconfig create local configuration headers instead of a global one. Right now, if I'm creating/editing any configuration via menuconfig, it updates sdkconfig.h file and all of *.c files has to be re-compiled. If it would generate only local header, this would need only to re-compile my component/application files.

It would be nice to have an option to create config file with configuration used only in my application.

Re: Make menuconfig generate local headers

Posted: Mon Feb 18, 2019 1:12 am
by ESP_Angus
Hi tbitowt,

We're aware of this problem (any change to menuconfig rebuilds the entire project), however there's no solution for this yet.

In the new CMake-based build system, each component declares which component(s) it depends on. This means that it should now be possible to make per-component sdkconfig.h files, so (for example) if you change something in the mbedTLS configuration then only components which depend on mbedTLS will need recompiling. However we don't have this functionality, yet.

If you can enable "ccache" on your platform, this is the easiest way to make full project rebuilds faster.


Angus

Re: Make menuconfig generate local headers

Posted: Mon Feb 18, 2019 1:55 pm
by tbitowt
Hello ESP_Angus,

by
If you can enable "ccache" on your platform, this is the easiest way to make full project rebuilds faster.
you mean platform = Windows/Linux/MacOs?

I'm using Windows with mingw (https://dl.espressif.com/dl/esp32_win32 ... 180110.zip). Could you give any instructions for enabling this?

Many thanks!

Re: Make menuconfig generate local headers

Posted: Tue Feb 19, 2019 2:16 am
by ESP_Angus
On Windows with MINGW32 the easiest way to make builds faster is actually to move to CMake and not use MINGW32:
https://docs.espressif.com/projects/esp ... ted-cmake/

To add ccache to mingw32, do "pacman -S ccache" and then set the toolchain prefix to "ccache xtensa-esp32-elf-" in kconfig: https://docs.espressif.com/projects/esp ... TOOLPREFIX

(Ironically, changing this config item will trigger a full rebuild. If you use the CMake-based build system then ccache will be automatically detected and used, if it's installed on the PATH.)