--- cfg.mk | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cfg.mk b/cfg.mk index 394521e..9cf4cff 100644 --- a/cfg.mk +++ b/cfg.mk @@ -722,6 +722,20 @@ sc_prohibit_exit_in_tests: halt='use return, not exit(), in tests' \ $(_sc_search_regexp) +# Don't include duplidate header in the source (either *.c or *.h) +sc_prohibit_duplicate_header: + @if $(VC_LIST_EXCEPT) | grep -l '\.[ch]$$' > /dev/null; then \ + for i in $$($(VC_LIST_EXCEPT) | grep '\.[ch]$$'); do \ + for j in $$(grep '^# *include.*\.h' $$i \ + | awk -F' ' '{print $$NF}'); do \ + test $$(grep "^# *include $$j" $$i | wc -l) -gt 1 && \ + { echo '$(ME): Duplidate header '$$j' in '$$i'' 1>&2; \ + exit 1; } || :; \ + done; \ + done; \ + else :; \ + fi + # We don't use this feature of maint.mk. prev_version_file = /dev/null -- 1.8.1.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list