From 89a08ba63a610a70de37be2c5b5f8a1c9fd10581 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Tue, 9 Mar 2010 14:22:14 -0700 Subject: [PATCH] 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. --- cfg.mk | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cfg.mk b/cfg.mk index 680c31260..8b89cd217 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 -- 2.39.5