public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [RFC] u-boot migration to kconfig
@ 2007-09-22 10:27 Jean-Christophe PLAGNIOL-VILLARD
  2007-09-22 15:41 ` Grant Likely
  0 siblings, 1 reply; 26+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2007-09-22 10:27 UTC (permalink / raw)
  To: u-boot

Hi,

    I'd like to be involved in the migration to Kconfig.
    How could it be possible?

Best regards

^ permalink raw reply	[flat|nested] 26+ messages in thread
* [U-Boot-Users] [RFC] u-boot migration to kconfig
@ 2007-09-13 23:28 Grant Likely
  2007-09-14 17:11 ` Jon Loeliger
  0 siblings, 1 reply; 26+ messages in thread
From: Grant Likely @ 2007-09-13 23:28 UTC (permalink / raw)
  To: u-boot

As per Wolfgang & my conversation on IRC this morning; here is the
proposed approach for migrating the mainline u-boot tree to use
kconfig:

First, some background:
By convention, u-boot uses two prefixes for configuration macros.  In
general, CFG_* macros are used to define board properties, and
CONFIG_* macros are for user configurable options.  However, if we
migrate to using Kconfig for managing the config macros, then all the
macros need to be prefixed with CONFIG_ (not CFG_).  As such, there
needs to be a mass rename of the CFG_ prefix to CONFIG_<something>_.

For lack of a better name, Wolfgang and I have settled on replacing
all instances of CFG_* with CONFIG_BSP_*.

So, here's the proposed migration approach...

Commit early in the next merge window (1.3.1?):
1. Perform mass rename of CFG_ macros to CONFIG_BSP_*
2. Perform mass split of COBJS makefile macros to prepare for
conditional compiling.
3. Add cpp/sed postprocessor to generate an autoconf.mk file from the
existing include/configs/*.h files (already posted a patch for this)
and include config files
4. Include autoconf.mk into the Makefiles to support conditional
compiling of .c files.
At this point there should be no difference in the u-boot binaries produced.

Commit in 1.3.2 merge window:
1. Import kconfig source into u-boot tree
2. Create giant Kconfig file containing all possible CONFIG_ macros.
Populate with macro types (bool, string, hex, etc) but don't include
any dependencies between values (yet)
3. Use kconfig to postprocess autoconf.mk for validation and generate autoconf.h
4. Modify mkconfig to allow a board port to specify a *_defconfig file
instead of a header file.  If a defconfig is provided, then
include/config.h will include autoconf.h instead of a config file from
include/configs.
At this point u-boot should still be producing identical binaries.
kconfig is in the u-boot build process, but menuconfig build targets
are not enabled.

In the 1.3.3 merge window:
1. Split/Reorganize the big Kconfig file into smaller logically
organized Kconfig files.  Each board port should define a top level
target and the target will select config options which are required
for the board port (CONFIG_BSP_*).  Organization of this will probably
require some thought.
2. Migrate board ports over to the new approach.
3. Enable menuconfig and oldconfig targets to allow u-boot config to
be manipulated by the user.
This step is probably going to be the riskiest and the most work.  It
will probably take a number of merge windows to get it all right
without causing instability.

Cheers,
g.





-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely at secretlab.ca
(403) 399-0195

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2007-09-24 21:22 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-22 10:27 [U-Boot-Users] [RFC] u-boot migration to kconfig Jean-Christophe PLAGNIOL-VILLARD
2007-09-22 15:41 ` Grant Likely
2007-09-22 17:18   ` Jean-Christophe PLAGNIOL-VILLARD
2007-09-22 19:08     ` Wolfgang Denk
2007-09-22 21:06       ` Jean-Christophe PLAGNIOL-VILLARD
2007-09-22 22:32         ` Grant Likely
2007-09-23 18:10           ` Jean-Christophe PLAGNIOL-VILLARD
2007-09-23 21:37             ` Wolfgang Denk
2007-09-23 21:53               ` Jean-Christophe PLAGNIOL-VILLARD
2007-09-24  5:06                 ` Grant Likely
2007-09-24  9:37                 ` Wolfgang Denk
2007-09-24 21:22                   ` Jean-Christophe PLAGNIOL-VILLARD
2007-09-23 22:13               ` Ulf Samuelsson
2007-09-24  3:31                 ` Shinya Kuribayashi
2007-09-24  5:12                   ` Grant Likely
2007-09-24  5:52                     ` Shinya Kuribayashi
2007-09-24  8:18                       ` Ulf Samuelsson
2007-09-24  8:15                     ` Ulf Samuelsson
2007-09-24  8:09                   ` Ulf Samuelsson
2007-09-24  9:40                 ` Wolfgang Denk
2007-09-24 11:16                   ` Ulf Samuelsson
2007-09-24  4:58             ` Grant Likely
2007-09-24  8:47               ` Haavard Skinnemoen
  -- strict thread matches above, loose matches on Subject: below --
2007-09-13 23:28 Grant Likely
2007-09-14 17:11 ` Jon Loeliger
2007-09-14 22:20   ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox