Add wraplinux --version (-V)
authorH. Peter Anvin <hpa@zytor.com>
Fri, 11 Jan 2008 04:52:48 +0000 (20:52 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Fri, 11 Jan 2008 04:52:48 +0000 (20:52 -0800)
Makefile
configure.in
main.c
wraplinux.h

index f7c0b32..c02b2b5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -81,7 +81,7 @@ depend:
 elf.o: elf.c config.h elf32.h elfcommon.h le.h segment.h wraplinux.h
 linux.o: linux.c config.h elf32.h elfcommon.h le.h segment.h setup.h \
  wraplinux.h
-main.o: main.c config.h elf32.h elfcommon.h segment.h wraplinux.h
+main.o: main.c config.h elf32.h elfcommon.h segment.h version.h wraplinux.h
 mapfile.o: mapfile.c config.h elf32.h elfcommon.h segment.h wraplinux.h
 nbi.o: nbi.c config.h elf32.h elfcommon.h le.h nbi.h segment.h wraplinux.h
 reloc.o: reloc.S
index 1eaf439..8ca0269 100644 (file)
@@ -2,8 +2,8 @@ dnl
 dnl autoconf input file to generate MCONFIG
 dnl
 
+AC_INIT
 AC_PREREQ(2.59)
-AC_INIT(MCONFIG.in)
 AC_PREFIX_DEFAULT(/usr)
 
 AC_PROG_CC
diff --git a/main.c b/main.c
index 90c4e70..989d92b 100644 (file)
--- a/main.c
+++ b/main.c
 #include <sys/types.h>
 
 #include "wraplinux.h"
+#include "version.h"
 
 const char *program;
 
 const struct option long_options[] = {
-       {"params", 1, 0, 'p'},
-       {"cmdline", 1, 0, 'p'},
-       {"commandline", 1, 0, 'p'},
-       {"initrd", 1, 0, 'i'},
-       {"output", 1, 0, 'o'},
-       {"elf", 0, 0, 'E'},
-       {"nbi", 0, 0, 'N'},
-       {"help", 0, 0, 'h'},
+       {"params",      1, 0, 'p'},
+       {"cmdline",     1, 0, 'p'},
+       {"commandline", 1, 0, 'p'},
+       {"initrd",      1, 0, 'i'},
+       {"output",      1, 0, 'o'},
+       {"elf",         0, 0, 'E'},
+       {"nbi",         0, 0, 'N'},
+       {"help",        0, 0, 'h'},
+       {"version",     0, 0, 'V'},
        {0, 0, 0, 0}
 };
 
-#define OPTSTRING "p:i:o:ENh"
+#define OPTSTRING "p:i:o:ENhV"
 
 static void usage(int err)
 {
        fprintf(stderr,
+               "%s %s\n"
                "Usage: %s [options] kernel\n"
                "  --params       -p    kernel commandline parameters\n"
                "  --initrd       -i    initrd (multiple initrd options "
@@ -54,7 +57,9 @@ static void usage(int err)
                "  --output       -o    output filename (default stdout)\n"
                "  --elf          -E    output in ELF format (default)\n"
                "  --nbi          -N    output in NBI format\n"
-               "  --help         -h    display this help text\n",
+               "  --help         -h    display this help text\n"
+               "  --version      -V    print the program version\n",
+               WRAPLINUX_PACKAGE, WRAPLINUX_VERSION,
                program);
        exit(err);
 }
@@ -102,8 +107,11 @@ int main(int argc, char *argv[])
                        opt.output = output_nbi;
                        break;
                case 'h':
-                       usage(EX_USAGE);
+                       usage(0);
                        break;
+               case 'V':
+                       printf("%s %s\n", WRAPLINUX_PACKAGE, WRAPLINUX_VERSION);
+                       exit(0);
                default:
                        usage(EX_USAGE);
                        break;
index 80f3d75..976df10 100644 (file)
@@ -22,6 +22,8 @@
 
 #include "segment.h"
 
+#define WRAPLINUX_PACKAGE "wraplinux"
+
 extern const char *program;
 
 struct opt {