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]
