Jivin Mike Frysinger lays it down ...
> this patch allows for per-arch/board/vendor Kconfig files (and thus
> options) by generating vendors/Kconfig based on `find` in the vendors
> dir.  this way we can keep Blackfin options (like file format and dynamic
> device nodes) in our own directories.
> 
> Signed-off-by: Mike Frysinger <vap...@gentoo.org>

Fair idea,  only the patch provided added all vendors Kconfig's to the main
config.  I have respun this to only use the following Kconfig files:

        vendors/"VENDOR"/Kconfig
        vendors/"VENDOR"/"PRODUCT"/Kconfig

Which prevents cross vendor/platform pollution.  It should work out of the
box for you guys I would think. Patch as committed against our current
version attached.

Thanks,
Davidm

> ---
> Index: Makefile
> ===================================================================
> RCS file: /usr/local/src/uClinux/local-cvs/,v/Makefile,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 Makefile
> --- Makefile  11 Jun 2007 06:52:54 -0000      1.1.1.1
> +++ Makefile  13 Jun 2007 02:55:16 -0000
> @@ -102,8 +102,12 @@ tools/cksum: tools/sg-cksum/*.c
>  # running the kernel and other config scripts
>  #
>  
> +.PHONY: vendors/Kconfig
> +vendors/Kconfig:
> +     find vendors -mindepth 2 -name Kconfig | sed 's:^:source ../:' > 
> vendors/Kconfig
> +
>  .PHONY: Kconfig
> -Kconfig:
> +Kconfig: vendors/Kconfig
>       @chmod u+x config/mkconfig
>       config/mkconfig > Kconfig
>  
> Index: config/Kconfig
> ===================================================================
> RCS file: /usr/local/src/uClinux/local-cvs/,v/config/Kconfig,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 Kconfig
> --- config/Kconfig    11 Jun 2007 06:57:34 -0000      1.1.1.1
> +++ config/Kconfig    13 Jun 2007 02:54:25 -0000
> @@ -12,4 +12,6 @@ source ../lib/Kconfig
>  
>  source ../user/Kconfig
>  
> +source ../vendors/Kconfig
> +
>  #############################################################################
> _______________________________________________
> uClinux-dev mailing list
> uClinux-dev@uclinux.org
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by uclinux-dev@uclinux.org
> To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev
> 

-- 
David McCullough,  david_mccullo...@securecomputing.com,  Ph:+61 734352815
McAfee - SnapGear  http://www.snapgear.com                http://www.uCdot.org
Index: Makefile
===================================================================
RCS file: /cvs/sw/new-wave/Makefile,v
retrieving revision 1.182
diff -u -r1.182 Makefile
--- Makefile	28 May 2009 00:23:49 -0000	1.182
+++ Makefile	6 Jul 2009 01:52:26 -0000
@@ -154,11 +154,12 @@
 .PHONY: oldconfig
 oldconfig: Kconfig conf
 	KCONFIG_NOTIMESTAMP=1 $(SCRIPTSDIR)/conf -o Kconfig
+	@chmod u+x config/setconfig
+	@config/setconfig defaults
 	@$(MAKE) oldconfig_linux
 	@$(MAKE) oldconfig_modules
 	@$(MAKE) oldconfig_config
 	@$(MAKE) oldconfig_uClibc
-	@chmod u+x config/setconfig
 	@config/setconfig final
 
 .PHONY: modules
Index: config/Kconfig
===================================================================
RCS file: /cvs/sw/new-wave/config/Kconfig,v
retrieving revision 1.4
diff -u -r1.4 Kconfig
--- config/Kconfig	27 May 2009 23:55:13 -0000	1.4
+++ config/Kconfig	6 Jul 2009 01:52:26 -0000
@@ -12,6 +12,8 @@
 	string
 	default "4.0"
 
+source ../vendors/Kconfig
+
 source ../lib/Kconfig
 menu "Automake Libraries"
 source ../lib/Kconfig.auto
Index: config/Makefile
===================================================================
RCS file: /cvs/sw/new-wave/config/Makefile,v
retrieving revision 1.11
diff -u -r1.11 Makefile
--- config/Makefile	6 Jul 2009 01:51:56 -0000	1.11
+++ config/Makefile	6 Jul 2009 01:52:26 -0000
@@ -21,14 +21,24 @@
 xconfig: gconfig autoconf
 
 .PHONY: automake force autoclean
-autoconf: autoclean ../lib/Kconfig.auto ../user/Kconfig.auto automake
+autoconf: ../vendors/Kconfig ../lib/Kconfig.auto ../user/Kconfig.auto automake
 automake: ../lib/Makefile.auto ../user/Makefile.auto
 force:
 
 #
 # build the auto config Kconfig.auto files and their Makefile.auto components
+# also include any vendor Kconfig files if they exist.
 #
-../lib/Kconfig.auto ../user/Kconfig.auto: force
+../vendors/Kconfig ../lib/Kconfig.auto ../user/Kconfig.auto: force
+
+../vendors/Kconfig: Makefile
+	@echo "# autogenerated, do not EDIT" > $@; \
+	. ../.config; \
+	for i in $$CONFIG_VENDOR/$$CONFIG_PRODUCT/. $$CONFIG_VENDOR/.; do \
+		[ -f ../vendors/$$i/Kconfig ] || continue; \
+		echo "source ../vendors/$$i/Kconfig" >> $@; \
+		echo "autoconf: vendors/$$i/Kconfig"; \
+	done
 
 ../lib/Kconfig.auto ../user/Kconfig.auto ../lib/Makefile.auto ../user/Makefile.auto: Makefile
 	@cd `dirname $...@`; \
@@ -59,6 +69,7 @@
 autoclean:
 	rm -f ../lib/Kconfig.auto ../user/Kconfig.auto
 	rm -f ../lib/Makefile.auto ../user/Makefile.auto
+	rm -f ../vendors/Kconfig
 
 clean: confclean autoclean
 	rm -f autoconf.h auto.conf .config .config.old
Index: config/setconfig
===================================================================
RCS file: /cvs/sw/new-wave/config/setconfig,v
retrieving revision 1.41
diff -u -r1.41 setconfig
--- config/setconfig	27 May 2009 00:16:28 -0000	1.41
+++ config/setconfig	6 Jul 2009 01:52:26 -0000
@@ -225,6 +225,9 @@
 	rm -f config.arch
 	ln -s "vendors/$VENDOR/$PRODUCT/config.arch" config.arch
 
+	# make sure any auto config files are created now !
+	make -C config VENDOR="$VENDOR" PRODUCT="$PRODUCT" autoconf
+
 	if [ ! -f $LINUXDIR/.config ] || var_isset CONFIG_DEFAULTS_OVERRIDE; then
 		if [ ! -f "vendors/$VENDOR/$PRODUCT/config.$LINUXDIR" ]; then
 			ARCH=$(echo -e "e:\\n...@echo \$(ARCH)\\ninclude config.arch" | \
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to