From ad3a73f74f426ec0789c8224c30024b7d4f5bf68 Mon Sep 17 00:00:00 2001 From: J Varshney Date: Sat, 5 Apr 2008 16:02:57 -0800 Subject: [PATCH] Append last git tag and abbreviated commit-id to version string. --- Makefile.in | 7 ++++++- driver/Makefile.in | 2 +- driver/main.c | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Makefile.in b/Makefile.in index e74d3d946..faac3b481 100644 --- a/Makefile.in +++ b/Makefile.in @@ -57,7 +57,7 @@ CXXFLAGS = -Wall @CXXFLAGS@ PICFLAGS = @PICFLAG@ LDFLAGS = @rdynamic@ @LDFLAGS@ -all: dep ivl@EXEEXT@ +all: dep version.h ivl@EXEEXT@ for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done for dir in ivlpp ; \ do (cd $$dir ; $(MAKE) $@); done @@ -182,6 +182,11 @@ iverilog-vpi.ps: $(srcdir)/iverilog-vpi.man iverilog-vpi.pdf: iverilog-vpi.ps ps2pdf iverilog-vpi.ps iverilog-vpi.pdf +version.h: .git/index + git --git-dir $(srcdir)/.git describe \ + | sed -e 's;\(.*\);#define VERSION_TAG "\1";' > $@tmp + diff $@tmp $(srcdir)/$@ > /dev/null 2>&1 || mv $@tmp $(srcdir)/$@ + ifeq (@MING32@,yes) INSTALL_DOC = $(prefix)/iverilog-vpi.pdf $(mandir)/man1/iverilog-vpi.1 INSTALL_DOCDIR = $(mandir)/man1 diff --git a/driver/Makefile.in b/driver/Makefile.in index c3bbca5ed..037cd202e 100644 --- a/driver/Makefile.in +++ b/driver/Makefile.in @@ -68,7 +68,7 @@ cfparse.h cfparse.c: cfparse.y bison --verbose -t -d -o cfparse.c --name-prefix=cf $(srcdir)/cfparse.y -main.o: main.c globals.h +main.o: main.c globals.h ../version.h $(CC) $(CPPFLAGS) $(CFLAGS) -c -DIVL_ROOT='"@libdir@/ivl"' -DIVL_INC='"@includedir@"' -DIVL_LIB='"@libdir@"' -DDLLIB='"@DLLIB@"' $(srcdir)/main.c build_string.o: build_string.c globals.h diff --git a/driver/main.c b/driver/main.c index 8d0dc92c6..0613a9f9a 100644 --- a/driver/main.c +++ b/driver/main.c @@ -18,6 +18,7 @@ */ # include "config.h" +# include "version.h" const char NOTICE[] = " This program is free software; you can redistribute it and/or modify\n" @@ -701,7 +702,7 @@ int main(int argc, char **argv) pbase = base; if (version_flag || verbose_flag) { - printf("Icarus Verilog version " VERSION " ($Name: $)\n\n"); + printf("Icarus Verilog version " VERSION " (" VERSION_TAG ")\n\n"); printf("Copyright 1998-2007 Stephen Williams\n"); puts(NOTICE);