[gPXE-devel] Local config support

Michael Brown mbrown at fensystems.co.uk
Mon Mar 22 16:35:15 EDT 2010


On Monday 22 March 2010 20:20:43 Piotr Jaroszyński wrote:
> before the config split (e817a [makefile] Split config.h out into
> config/*.h and kill off mkconfig.pl) there was support for local config. It
> seemed very handy to me so attached is my attempt at resurrecting it. 
> Including the local config only in config/config.c seems to the job for me
> (only needed CONSOLE_SERIAL and GDBSERIAL yet), but I am very new to the
> project so my knowledge of potential use cases is limited. Is that going to
> cover all your use cases?

It will mostly cover the most common use cases, i.e. enabling/disabling 
specific features.  You'll find some oddities; such as that enabling 
CONSOLE_SERIAL in your config/local.h will enable the serial console but will 
cause the COMBOOT API to report that no serial console is present.

I wonder if the same goal could be accomplished by having each config/*.h file 
#include its own local file.  For example, in config/general.h, have a

  #include <config/local/general.h>

with a Makefile rule to generate empty files in config/local as necessary, and 
a .gitignore containing "*" in config/local to specify that all files should 
be ignored.

If this works, it would avoid the oddities you're going to get from having 
only config/config.c #include the local file, without incurring the rebuild 
costs associated with having all files implicitly #include the local file.  
The Makefile changes would probably also be simpler, with no need for 
*_EXTRA_DEPS or explicit existence checks for local config files.  Worth 
trying?

Michael


More information about the gPXE-devel mailing list