[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