From mboxrd@z Thu Jan 1 00:00:00 1970 From: Masahiro Yamada Date: Fri, 01 Aug 2014 21:22:42 +0900 Subject: [U-Boot] Removing the need for boards.cfg In-Reply-To: References: Message-ID: <20140801212241.D536.AA925319@jp.panasonic.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi. On Fri, 1 Aug 2014 12:48:44 +0100 Simon Glass wrote: > Hi, > > At present, as a work-around, we generate boards.cfg if needed. This > is quite a slow process since each board config must be fully > processed. > > What can we do to improve this? We only need a small number of options > in order to start buildman - things like CONFIG_SYS_ARCH, > CONFIG_SYS_CPU, etc. > > I wonder if we could run a script which adds these to the defconfigs > for each board and then apply a patch to mainline? Would that require > removing the options from the config.h files? Or could we do that > later as a separate step? > We cannot add CONFIG_SYS_ARCH, CONFIG_SYS_CPU, etc. to defconfigs because they are not user-editable options. (They must be always selected in correct combination.) This is already discussed when I posted the RFC version of the Kconfig series. We can easily do [1] Choose boards by arch Just grep CONFIG_ARM=y, CONFIG_MIPS=y, CONFIG_SANDBOX=y in defconfigs [2] Choose boards by board name It is the file name of defconfigs My question is, do we really need to choose by CPU, Vendor, SoC ? I know they are useful. For ex. nvidia developers probably want to build only Tegra boards. One possible idea I come up with is to have 'board group' in .buildman file so people can build only boards they are interested in. Something like this: ---------->8--------------- [board-alisa] tegra20: harmony seaboard ventana tegra30: beaver tegra114: dalmore tegra124: venice2 tegra: tegra20 tegra30 tegra114 tegra124 -----------8<--------------- With the settings above, "tools/buildman/buildman tegra20" is the same as "tools/buildman/buildman harmony seaboard ventana" "tools/buildman/buildman tegra" is the same as "tools/buildman/buildman tegra20 tegra30 tegra114 tegra124" and also the same as "tools/buildman/buildman harmony seaboard ventana beaver dalmore venice2" We have to setup ~/.buildman@the first run. (and modify it when adding new boards) Better to provide a tool to auto-generate .buildman file? Best Regards Masahiro Yamada