On Sun, 2011-01-16 at 16:20 -0500, Kevin O'Connor wrote:
On Sun, Jan 16, 2011 at 09:38:37PM +0100, Marc Bertens wrote:
> Kevin,
> 
> Finally here is the patch for Kconfig build system for SeaBIOS, the
> patch exists out of two files;
> 1.    kconfig-for-seabios-patch.1.diff    this is the part where the new
> files are added.
> 2.    kconfig-for-seabios-patch.2.diff    this is the part with the
> changes to the existing files.

Thanks Marc.

Your patch was too large for the mailing list.  Can you put future
versions online somewhere or send compressed?

> I hope that you agree with the changes :-) and that the kconfig will
> here to stay....
> 
> I loaned the kconfig build system from the coreboot project, maybe there
> are some references there what i missed.

[...]
> +++ b/src/configh.h
> @@ -0,0 +1,248 @@
> +/*
> + * This file is part of the seabios project.
> + *
> + * Copyright (C) 2011       Marc Bertens <mbertens@xs4all.nl>
> + * Copyright (C) 2008-2010  Kevin O'Connor <kevin@koconnor.net>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; version 2 of the License.
[...]

I really don't like these big copyright banners.  I don't see much
point in copyrighting a header file.  SeaBIOS is LGPLv3, and all core
files must use that copyright.

Oke, not a problem, was trying to do it right :-)

This doesn't apply to non-core files copied from other projects, so
doesn't need to be true for tools/kconfig.

Also, your first patch modifies seabios, but I thought you were going
to do that in patch2?  I don't see a reason to have old way and new
way in parallel - lets just go right to the kconfig way.  The way
you've introduced configh.h, configu.h, and configk.h in addition to
the existing config.h is confusing.

I did not know how you wanted to proceed with this, that why i made it backwards compatible.
But we can drop it, if we go direcly to the kconfig build system.

configk.h    are the leftovers from the orginal config.h which are not maintained yet by Kconfig
configh.h    is the orginal config.h this is included when Kconfig is in config.h modes, this needs
                    the configu.h witch undefines everything before configk.h in included.

so, if we want to move directly to Kconfig move the stuff from configk.h to config.h. and drop the
files configh.h and configu.h, and removed them from config.h

[...]
> --- a/tools/kconfig/Makefile
> +++ b/tools/kconfig/Makefile
> @@ -225,7 +225,7 @@ endif
>  $(objk)/gconf.o: $(objk)/.tmp_gtkcheck
>  
>  ifeq ($(gconf-target),1)
> --include $(objk)/.tmp_gtkcheck
> +include $(objk)/.tmp_gtkcheck
>  
>  # GTK needs some extra effort, too...
>  $(objk)/.tmp_gtkcheck:
> @@ -250,23 +250,23 @@ endif
>  
>  # --- UNUSED, ignore ----------------------------------------------------------
>  ifdef UNUSED
> -$(obj)/zconf.tab.o: $(obj)/lex.zconf.c $(obj)/zconf.hash.c
> +$(obj)/zconf.tab.o: $(srck)/lex.zconf.c $(srck)/zconf.hash.c

Can you explain what this does?

-Kevin

I'm not sure, i was learning and building the kconfig system in one weekend, and i was trying to
get the "gconfig" to work, that still has a problem when compiling and starting.

Currently the 'menuconfig' works correctly and i could not test the 'xconfig' yet.

So for now we have todo with menuconfig only.