* Bernhard Walle <[EMAIL PROTECTED]> [2008-01-20 22:59]:
> 
> Thanks for the review!

It's already too late for me. :-( Now!
This patch adds version information to flashrom. Because 'v' and 'V'
are already in use, the patch uses 'R' (for release) and, of course,
'--version'.

Signed-off-by: Bernhard Walle <[EMAIL PROTECTED]>

---
 Makefile   |    6 ++++++
 flashrom.c |   15 +++++++++++++--
 2 files changed, 19 insertions(+), 2 deletions(-)

--- Makefile	(Revision 3066)
+++ Makefile	(Arbeitskopie)
@@ -28,6 +28,12 @@
 
 all: pciutils dep $(PROGRAM)
 
+# Set the flashrom version string from the highest revision number
+# of the checked out flashrom files.
+SVNDEF := -D'FLASHROM_VERSION="$(shell svnversion -cn . \
+          | sed -e "s/.*://" -e "s/\([0-9]*\).*/\1/")"'
+CFLAGS += $(SVNDEF)
+
 $(PROGRAM): $(OBJS)
 	$(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS)
 	$(STRIP) $(STRIP_ARGS) $(PROGRAM)
--- flashrom.c	(Revision 3066)
+++ flashrom.c	(Arbeitskopie)
@@ -191,7 +191,7 @@
 
 void usage(const char *name)
 {
-	printf("usage: %s [-rwvEVfh] [-c chipname] [-s exclude_start]\n", name);
+	printf("usage: %s [-rwvEVfhR] [-c chipname] [-s exclude_start]\n", name);
 	printf("       [-e exclude_end] [-m vendor:part] [-l file.layout] [-i imagename] [file]\n");
 	printf
 	    ("   -r | --read:                    read flash and save into file\n"
@@ -206,11 +206,17 @@
 	     "   -f | --force:                   force write without checking image\n"
 	     "   -l | --layout <file.layout>:    read rom layout from file\n"
 	     "   -i | --image <name>:            only flash image name from flash layout\n"
+	     "   -R | --version:                 print the version (release)\n"
             "\n" " If no file is specified, then all that happens"
 	     " is that flash info is dumped.\n\n");
 	exit(1);
 }
 
+void print_version(void)
+{
+	printf("flashrom r%s\n", FLASHROM_VERSION);
+}
+
 int main(int argc, char *argv[])
 {
 	uint8_t *buf;
@@ -236,6 +242,7 @@
 		{"layout", 1, 0, 'l'},
 		{"image", 1, 0, 'i'},
 		{"help", 0, 0, 'h'},
+		{"version", 0, 0, 'R'},
 		{0, 0, 0, 0}
 	};
 
@@ -253,7 +260,7 @@
 	}
 
 	setbuf(stdout, NULL);
-	while ((opt = getopt_long(argc, argv, "rwvVEfc:s:e:m:l:i:h",
+	while ((opt = getopt_long(argc, argv, "rRwvVEfc:s:e:m:l:i:h",
 				  long_options, &option_index)) != EOF) {
 		switch (opt) {
 		case 'r':
@@ -306,6 +313,10 @@
 			tempstr = strdup(optarg);
 			find_romentry(tempstr);
 			break;
+		case 'R':
+			print_version();
+			exit(0);
+			break;
 		case 'h':
 		default:
 			usage(argv[0]);
-- 
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to