diff --git a/scripts/verify_endian_header.sh b/scripts/verify_endian_header.sh new file mode 100755 index 00000000..9dcbc0ec --- /dev/null +++ b/scripts/verify_endian_header.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +# Usage: ./verify_endian_header.sh $(find . -name "*.[hc]") + +HEADER="osmocom/core/endian.h" +COUNT=0 + +for f in $*; do + # Obviously, ignore the header file defining the macros + if [ $(basename $f) = $(basename $HEADER) ]; then + continue + fi + # Match files using either of OSMO_IS_{LITTLE,BIG}_ENDIAN + if grep -q "OSMO_IS_\(LITTLE\|BIG\)_ENDIAN" $f; then + # The header file must be included + if ! grep -q "#include <$HEADER>" $f; then + echo "File '$f' does not #include <$HEADER>" + COUNT=$((COUNT + 1)) + fi + fi +done + +exit $COUNT