[U-Boot-Users] Preparing a KEV7a400 patch

Marc Singer elf at buici.com
Thu Aug 7 02:47:16 CEST 2003


On Thu, Aug 07, 2003 at 01:30:44AM +0200, Wolfgang Denk wrote:
> In message <20030806223427.GA7826 at buici.com> you wrote:
> > 
> > > Can you please split your patch in two separate parts: one  with  the
> > > support for the new Sharp KEV7A400 board, and another one to use your
> > > Perl script?
> > 
> > That's an interesting request.  There isn't really a way to separate
> > them this way since the configuration control script is used to divide
> > the LHA7A400 implementation of the ARM920 from the Samsung
> > implementation.
> 
> Please try it. 

My target won't compile without it.  I can separate it, but MAKEALL
will fail.

> Most probably I will merge the KEV7A400 board  support  quickly,  but
> spend  some time playing with the configuration control script before
> I add it.

How about the other way around.  I'll send you the configuration
script portion.  It's very small.  

> Ummm...  and what do you need perl for?

Don't any more.

> 
> > # Copyright (c) 2003
> > # Marc Singer <elf at buici.com>
> 
> Please include a GPL header.

Sure.  

Note that mkconfig doesn't.

> 
> > # The macro CPP may refer to 'gcc -E'.  This definition is not
> > # compatible with this use of the preprocessor because the input file
> > # is a header and not a source file.  Should there be a dependency on
> > # a target-specific macro, another method must be found.
> 
> Please explain this comment, I don't understand it.

Found another way.  It's removed.

> 
> > CPP=cpp
> > [ -z "$GREP" ] && GREP=grep
> > [ -z "$SED" ]  && SED=sed
> > [ -z "$SORT" ] && SORT=sort
> 
> Any specific reason for not using something like this:
> 
> 	: ${GREP:=grep} ${SED:=sed} ${SORT:=sort}

Hand't thought of it.  Changed.

I'm attaching a patch with just the configuration patches.  I found
another method of invoking cpp that ought to meet your expectations.

Cheers.
-------------- next part --------------
diff -ruN --exclude '*.o' --exclude='*.map' --exclude '*~' --exclude '*-orig' --exclude=.depend --exclude=configx.mk --exclude='*.srec' --exclude='*.a' u-boot-0.4.0/Makefile u-boot/Makefile
--- u-boot-0.4.0/Makefile	2003-06-26 15:04:09.000000000 -0700
+++ u-boot/Makefile	2003-07-11 22:40:37.000000000 -0700
@@ -118,7 +118,7 @@
 
 #########################################################################
 
-all:		u-boot.srec u-boot.bin System.map
+all:		configx.mk u-boot.srec u-boot.bin System.map
 
 install:	all
 		-cp u-boot.bin /tftpboot/u-boot.bin
@@ -157,6 +157,10 @@
 		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
 		sort > System.map
 
+.PHONY: configx.mk
+configx.mk:
+	@./mkconfigx
+
 #########################################################################
 else
 all install u-boot u-boot.srec depend dep:
@@ -167,7 +171,7 @@
 #########################################################################
 
 unconfig:
-	rm -f include/config.h include/config.mk
+	rm -f include/config.h include/config.mk configx.mk
 
 #========================================================================
 # PowerPC
diff -ruN --exclude '*.o' --exclude='*.map' --exclude '*~' --exclude '*-orig' --exclude=.depend --exclude=configx.mk --exclude='*.srec' --exclude='*.a' u-boot-0.4.0/mkconfigx u-boot/mkconfigx
--- u-boot-0.4.0/mkconfigx	1969-12-31 16:00:00.000000000 -0800
+++ u-boot/mkconfigx	2003-08-06 17:30:43.000000000 -0700
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# mkconfigx
+#
+# Copyright (c) 2003
+# Marc Singer <elf at buici.com>
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# 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; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+# Generate a configuration file to control building
+# (compiling/linking).  The output may be included in Makefiles to
+# select which source files to compile and link.
+#
+# Here, we select configuration entries of the form:
+#
+#  #define CONFIG_XXX 1
+#
+# where XXX is an enabled configuration option.
+#
+#
+
+CONFIG=configx.mk
+
+echo > $CONFIG
+echo "# Automatically generated - do not edit" >> $CONFIG
+echo >> $CONFIG
+
+echo '#include "include/config.h"' | ${CPP:=cpp -E} -Iinclude -dM -\
+  | ${GREP:=grep} -E "define[ \t]+CONFIG_[^ \t]*[ \t]+1$"\
+  | ${SED:=sed} -e "s/.*\(CONFIG_[^ \t]*\).*/\1=y/"\
+  | ${SORT:=sort}\
+  >> $CONFIG


More information about the U-Boot mailing list