v01d opened a new issue #3142:
URL: https://github.com/apache/incubator-nuttx/issues/3142


   This is a proposal for reworking how we handle board configs in order to 
simplify maintenance by greatly reducing the number of configurations to keep 
in sync and at the same time facilitate enabling/disabling "features" 
(consiting of a series of config options to be set to some value) which can be 
more independent of a given board/arch.
   
   The idea is to have one main defconfig (although having more than one would 
still be possible, if really required) for a board, which sets the minimal set 
of options for that board (e.g. configs related to plaform) and nothing else. 
Then, the build system would support applying a set of options from a separate 
file (e.g. `nsh.conf`) with the minimal set of features required to enable NSH 
(in some general purpose configuration, for example). This `.conf` file is 
intended to be hand-editable. 
   
   This means that such `.conf` files can be stored somewhere only once and not 
repeated for every board since it does not depend on it (there could be `.conf` 
related to example apps, or `.conf` related to common features such as 
debugging). Other .conf files may actualy depend on hardware and can thus be 
stored inside the board directory. As a result, the number of configs in each 
board would be greatly reduced, which minimizes maintenance issues. Also, 
updating board-independent .conf files does not require "refreshing" all 
configs.
   
   The procedure to include this in the build would possibly be done by 
extending the configure.sh script so that it does the defconfig as usual, and 
then applies the `.conf` file by calling kconfig-tweak over each line of this 
file (and then `make oldconfig` or similar to finish the configuration).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to