This allows us to ensure that each header can be included individually without needing to include other headers first. Signed-off-by: David Aguilar <davvid@xxxxxxxxx> --- Changes since v1: We now include xdiff, ewah, and vcs-svn headers. Makefile | 6 ++++++ check-headers.sh | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100755 check-headers.sh diff --git a/Makefile b/Makefile index 30cc622..39ecc70 100644 --- a/Makefile +++ b/Makefile @@ -2591,6 +2591,12 @@ check-docs:: check-builtins:: ./check-builtins.sh +### Make sure headers include their dependencies +# +check-headers:: + ./check-headers.sh $(CC) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) + + ### Test suite coverage testing # .PHONY: coverage coverage-clean coverage-compile coverage-test coverage-report diff --git a/check-headers.sh b/check-headers.sh new file mode 100755 index 0000000..2722dd2 --- /dev/null +++ b/check-headers.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +exit_code=0 + +maybe_exit () { + status="$1" + if test "$status" != 0 + then + exit_code="$status" + if test -n "$CHECK_HEADERS_STOP" + then + exit "$status" + fi + fi +} + +IFS=' +' +git ls-files *.h ewah/*.h vcs-svn/*.h xdiff/*.h | +while read header +do + subdir=$(dirname "$header") && + echo "HEADER $header" && + "$@" -Wno-unused -I"$subdir" -c -o "$header".check -x c - <"$header" && + rm "$header".check || + maybe_exit $? +done + +exit $exit_code -- 2.1.0.62.g3e88d26 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html