From: Eric Blake Date: Tue, 9 Mar 2010 21:22:14 +0000 (-0700) Subject: build: enforce preprocessor indentation X-Git-Tag: v0.8.0~314 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=89a08ba63a610a70de37be2c5b5f8a1c9fd10581;p=thirdparty%2Flibvirt.git build: enforce preprocessor indentation 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. --- diff --git a/cfg.mk b/cfg.mk index 680c312606..8b89cd217d 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