[Intel-gfx] [PATCH] build: improve version.h generation

Thomas Wood thomas.wood at intel.com
Tue Jul 22 15:53:18 CEST 2014


Move version.h generation into lib/Makefile.sources so that it can be
shared between the Autotools and Android build systems. Also make sure the
"updating version.h" message is only displayed when version.h actually
changes and remove unnecessary includes of version.h.

This also includes changes from Tvrtko Ursulin to prevent a build from
within the git repository failing when git is not available.

Signed-off-by: Thomas Wood <thomas.wood at intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
---
 .gitignore           |  1 -
 Makefile.am          | 23 -----------------------
 lib/.gitignore       |  1 +
 lib/Android.mk       | 23 +----------------------
 lib/Makefile.sources | 25 +++++++++++++++++++++++++
 lib/igt_aux.c        |  1 -
 lib/ioctl_wrappers.c |  1 -
 tests/Makefile.am    |  1 -
 8 files changed, 27 insertions(+), 49 deletions(-)
 create mode 100644 lib/.gitignore

diff --git a/.gitignore b/.gitignore
index f40b4f6..a438c1c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -84,7 +84,6 @@ cscope.*
 TAGS
 build-aux/
 __pycache__
-version.h
 
 gtk-doc.make
 gtk-doc.m4
diff --git a/Makefile.am b/Makefile.am
index 9949679..1dacb17 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,29 +37,6 @@ endif
 
 MAINTAINERCLEANFILES = ChangeLog INSTALL
 
-.PHONY: version.h.tmp
-version.h.tmp:
-	@touch $@
-	@if test -d .git; then \
-		if which git > /dev/null; then git log -n 1 --oneline | \
-			sed 's/^\([^ ]*\) .*/#define IGT_GIT_SHA1 "g\1"/' \
-			>> $@ ; \
-		fi \
-	else \
-		echo '#define IGT_GIT_SHA1 "NOT-GIT"' >> $@ ; \
-	fi
-
-version.h: version.h.tmp
-	@echo "updating version.h"
-	@if ! cmp -s version.h.tmp version.h; then \
-		mv version.h.tmp version.h ;\
-	else \
-		rm version.h.tmp ;\
-	fi
-
-BUILT_SOURCES = version.h
-CLEANFILES = version.h version.h.tmp
-
 .PHONY: ChangeLog INSTALL
 
 INSTALL:
diff --git a/lib/.gitignore b/lib/.gitignore
new file mode 100644
index 0000000..6702033
--- /dev/null
+++ b/lib/.gitignore
@@ -0,0 +1 @@
+version.h
diff --git a/lib/Android.mk b/lib/Android.mk
index 5709aec..6f444a0 100644
--- a/lib/Android.mk
+++ b/lib/Android.mk
@@ -2,27 +2,6 @@ LOCAL_PATH := $(call my-dir)
 
 GPU_TOOLS_PATH := $(LOCAL_PATH)/..
 
-.PHONY: version.h.tmp
-
-$(GPU_TOOLS_PATH)/version.h.tmp:
-	@touch $@
-	@if test -d ../.git; then \
-		if which git > /dev/null; then git log -n 1 --oneline | \
-		        sed 's/^\([^ ]*\) .*/#define IGT_GIT_SHA1 "g\1"/' \
-		        >> $@ ; \
-		fi \
-	else \
-		echo '#define IGT_GIT_SHA1 "NOT-GIT"' >> $@ ; \
-	fi
-
-$(GPU_TOOLS_PATH)/version.h: $(GPU_TOOLS_PATH)/version.h.tmp
-	@echo "updating version.h"
-	@if ! cmp -s $(GPU_TOOLS_PATH)/version.h.tmp $(GPU_TOOLS_PATH)/version.h; then \
-		mv $(GPU_TOOLS_PATH)/version.h.tmp $(GPU_TOOLS_PATH)/version.h ; \
-	else \
-		rm $(GPU_TOOLS_PATH)/version.h.tmp ; \
-	fi
-
 # FIXME: autogenerate this info #
 $(GPU_TOOLS_PATH)/config.h:
 	@echo "updating config.h"
@@ -34,7 +13,7 @@ include $(LOCAL_PATH)/Makefile.sources
 include $(CLEAR_VARS)
 
 LOCAL_GENERATED_SOURCES :=       \
-	$(GPU_TOOLS_PATH)/version.h  \
+	$(GPU_TOOLS_PATH)/lib/version.h  \
 	$(GPU_TOOLS_PATH)/config.h
 
 LOCAL_C_INCLUDES +=              \
diff --git a/lib/Makefile.sources b/lib/Makefile.sources
index 8c6c4dc..2d971c5 100644
--- a/lib/Makefile.sources
+++ b/lib/Makefile.sources
@@ -47,3 +47,28 @@ libintel_tools_la_SOURCES = 	\
 	igt_core.h		\
 	$(NULL)
 
+.PHONY: version.h.tmp
+version.h.tmp:
+	@touch $@
+	@if test -d $(top_srcdir)/.git; then \
+		if which git > /dev/null 2>&1; then git log -n 1 --oneline | \
+			sed 's/^\([^ ]*\) .*/#define IGT_GIT_SHA1 "g\1"/' \
+			>> $@ ; \
+		else \
+			echo '#define IGT_GIT_SHA1 "NO-GIT"' >> $@ ; \
+		fi \
+	else \
+		echo '#define IGT_GIT_SHA1 "NOT-GIT"' >> $@ ; \
+	fi
+
+version.h: version.h.tmp
+	@if ! cmp -s version.h.tmp version.h; then \
+		echo "updating version.h"; \
+		mv version.h.tmp version.h ;\
+	else \
+		rm version.h.tmp ;\
+	fi
+
+BUILT_SOURCES = version.h
+CLEANFILES = version.h version.h.tmp
+
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 7b277be..2e8191e 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -53,7 +53,6 @@
 #include "intel_chipset.h"
 #include "igt_aux.h"
 #include "igt_debugfs.h"
-#include "version.h"
 #include "config.h"
 #include "intel_reg.h"
 #include "ioctl_wrappers.h"
diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 67351af..3bce1a9 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -54,7 +54,6 @@
 #include "intel_chipset.h"
 #include "intel_io.h"
 #include "igt_debugfs.h"
-#include "version.h"
 #include "config.h"
 
 #include "ioctl_wrappers.h"
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e207509..a2fba51 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -36,7 +36,6 @@ AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) \
 	-I$(srcdir)/.. \
 	-I$(srcdir)/../lib \
 	-include "$(srcdir)/../lib/check-ndebug.h" \
-	-include "$(top_builddir)/version.h" \
 	-DIGT_DATADIR=\""$(abs_srcdir)"\" \
 	$(NULL)
 
-- 
1.9.3




More information about the Intel-gfx mailing list