Compile git revision into libfirm
authorAndreas Zwinkau <zwinkau@kit.edu>
Wed, 26 Oct 2011 13:51:51 +0000 (15:51 +0200)
committerAndreas Zwinkau <zwinkau@kit.edu>
Wed, 26 Oct 2011 13:51:51 +0000 (15:51 +0200)
.gitignore
Makefile
ir/common/firm.c

index c486cc9..702836d 100644 (file)
@@ -1,4 +1,5 @@
 Makefile.in
+firm_revision.h
 /aclocal.m4
 /autom4te.cache/
 /config.guess
index cd84583..a3cdbdd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -37,6 +37,14 @@ CFLAGS    += -Wall -W -Wextra -Wstrict-prototypes -Wmissing-prototypes -Wwrite-s
 LINKFLAGS += $(LINKFLAGS_$(variant))
 VPATH = $(srcdir)
 
+REVISION ?= $(shell git describe --abbrev=40 --always --dirty --match '')
+
+# Update revision.h if necessary
+UNUSED := $(shell \
+       REV="\#define libfirm_VERSION_REVISION \"$(REVISION)\""; \
+       echo "$$REV" | cmp -s - firm_revision.h 2> /dev/null || echo "$$REV" > firm_revision.h \
+)
+
 .PHONY: all
 all: firm
 
index 162ac0c..7794fe6 100644 (file)
@@ -25,9 +25,7 @@
  */
 #include "config.h"
 
-#ifdef HAVE_FIRM_REVISION_H
-# include "firm_revision.h"
-#endif
+#include "firm_revision.h"
 
 #include <string.h>
 #include <stdio.h>