[libvirt] [PATCH] build: enforce preprocessor indentation

Eric Blake eblake at redhat.com
Tue Mar 9 21:22:14 UTC 2010


Since cppi is not part of Fedora Core 12, the check is conditional:
without cppi, running 'make syntax-check' merely warns:

$ make sc_preprocessor_indentation
preprocessor_indentation
maint.mk: skipping test sc_preprocessor_indentation: cppi not installed

* cfg.mk (sc_preprocessor_indentation): New syntax-check rule.
(preprocessor_exempt): New macro, with first exemption.
---

As promised, here's a better version of 2/2; I see that 1/2 is
now already committed.

 cfg.mk |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/cfg.mk b/cfg.mk
index 680c312..8b89cd2 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -251,6 +251,19 @@ sc_prohibit_trailing_blank_lines:
 	rm -f $@-t;							\
 	test $$found = 0

+# Regex for grep -E that exempts generated files from style rules.
+preprocessor_exempt = (remote_(driver|protocol)\.h)$$
+# Enforce recommended preprocessor indentation style.
+sc_preprocessor_indentation:
+	@if (cppi --version >/dev/null 2>&1); then			\
+	  $(VC_LIST_EXCEPT) | grep '\.[ch]$$'				\
+	    | grep -vE '$(preprocessor_exempt)' | xargs cppi -a -c	\
+	    || { echo '$(ME): incorrect preprocessor indentation' 1>&2;	\
+		exit 1; };						\
+	else								\
+	  echo '$(ME): skipping test $@: cppi not installed' 1>&2;	\
+	fi
+
 # We don't use this feature of maint.mk.
 prev_version_file = /dev/null

-- 
1.6.6.1




More information about the libvir-list mailing list