[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH XEN v2 06/15] tools: Arrange to check public headers for ANSI compatiblity



Using the same rune as we use for the Xen public headers, except we do
not need stdint.h here and we use -pedantic too.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
 .gitignore                   | 2 ++
 tools/Rules.mk               | 8 ++++++++
 tools/libxenevtchn/Makefile  | 4 +++-
 tools/libxentoollog/Makefile | 5 ++++-
 4 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/.gitignore b/.gitignore
index ed6bac6..61167d9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -87,6 +87,8 @@ tools/config.cache
 config/Tools.mk
 config/Stubdom.mk
 config/Docs.mk
+tools/libxentoollog/headers.chk
+tools/libxenevtchn/headers.chk
 tools/blktap2/daemon/blktapctrl
 tools/blktap2/drivers/img2qcow
 tools/blktap2/drivers/lock-util
diff --git a/tools/Rules.mk b/tools/Rules.mk
index e200eb7..f675fa7 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -176,6 +176,14 @@ INSTALL_PYTHON_PROG = \
 %.opic: %.S
        $(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS.opic) -fPIC -c -o $@ $< 
$(APPEND_CFLAGS)
 
+headers.chk:
+       for i in $(filter %.h,$^); do \
+           $(CC) -x c -ansi -Wall -Werror -pedantic $(CFLAGS_xeninclude) \
+                 -S -o /dev/null $$i || exit 1; \
+           echo $$i; \
+       done >$@.new
+       mv $@.new $@
+
 subdirs-all subdirs-clean subdirs-install subdirs-distclean: .phony
        @set -e; for subdir in $(SUBDIRS) $(SUBDIRS-y); do \
                $(MAKE) subdir-$(patsubst subdirs-%,%,$@)-$$subdir; \
diff --git a/tools/libxenevtchn/Makefile b/tools/libxenevtchn/Makefile
index c3ea3c2..f180cee5 100644
--- a/tools/libxenevtchn/Makefile
+++ b/tools/libxenevtchn/Makefile
@@ -32,8 +32,9 @@ build:
        $(MAKE) libs
 
 .PHONY: libs
-libs: $(LIB)
+libs: headers.chk $(LIB)
 
+headers.chk: $(wildcard include/*.h)
 
 libxenevtchn.a: $(LIB_OBJS)
        $(AR) rc $@ $^
@@ -63,3 +64,4 @@ TAGS:
 .PHONY: clean
 clean:
        rm -rf *.rpm $(LIB) *~ $(DEPS) $(LIB_OBJS) $(PIC_OBJS)
+       rm -f headers.chk
diff --git a/tools/libxentoollog/Makefile b/tools/libxentoollog/Makefile
index 0c8be13..f8153ec 100644
--- a/tools/libxentoollog/Makefile
+++ b/tools/libxentoollog/Makefile
@@ -27,7 +27,9 @@ build:
        $(MAKE) libs
 
 .PHONY: libs
-libs: $(LIB)
+libs: headers.chk $(LIB)
+
+headers.chk: $(wildcard include/*.h)
 
 libxentoollog.a: $(LIB_OBJS)
        $(AR) rc $@ $^
@@ -57,3 +59,4 @@ TAGS:
 .PHONY: clean
 clean:
        rm -rf *.rpm $(LIB) *~ $(DEPS) $(LIB_OBJS) $(PIC_OBJS)
+       rm -f headers.chk
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.