Make menuconfig generate local headers

tbitowt
Posts: 4
Joined: Sun Feb 17, 2019 5:09 pm

Make menuconfig generate local headers

Postby tbitowt » Sun Feb 17, 2019 5:14 pm

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.

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: Make menuconfig generate local headers

Postby ESP_Angus » Mon Feb 18, 2019 1:12 am

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

tbitowt
Posts: 4
Joined: Sun Feb 17, 2019 5:09 pm

Re: Make menuconfig generate local headers

Postby tbitowt » Mon Feb 18, 2019 1:55 pm

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!

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: Make menuconfig generate local headers

Postby ESP_Angus » Tue Feb 19, 2019 2:16 am

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.)

Who is online

Users browsing this forum: letter57 and 217 guests