summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2016-11-30 10:29:39 -0700
committerMartin Roth <martinroth@google.com>2016-12-12 18:07:27 +0100
commit1c9c4b8db8ee791d124638b7381e85bf4298f0f5 (patch)
tree88446e116e74ebd6f812fec80dba754046c4c88a
parent00cbc7f72fee7361847657ef3ffc3d5ac223b537 (diff)
downloadcoreboot-1c9c4b8db8ee791d124638b7381e85bf4298f0f5.tar.xz
util/lint: add check for auto-included headers
Since we've removed them from the tree, add a check to keep them out. Change-Id: I2995da765fee8796a297963d54a1c34f56376efe Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/17658 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rwxr-xr-xutil/lint/lint-stable-019-header-files36
1 files changed, 36 insertions, 0 deletions
diff --git a/util/lint/lint-stable-019-header-files b/util/lint/lint-stable-019-header-files
new file mode 100755
index 0000000000..e98c3b58ed
--- /dev/null
+++ b/util/lint/lint-stable-019-header-files
@@ -0,0 +1,36 @@
+#!/bin/sh
+# This file is part of the coreboot project.
+#
+# Copyright (C) 2016 Google Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# DESCR: Check for auto-included headers
+
+LC_ALL=C export LC_ALL
+
+INCLUDED_DIRS='^src/'
+EXCLUDED_FILES='src/include/kconfig.h'
+
+# TODO: Add rules when those patches are complete
+HEADER_FILES="k*config"
+
+# Use git grep if the code is in a git repo, otherwise use grep.
+if [ -n "$(command -v git)" ] && [ -d .git ]; then
+ GREP_FILES="git grep -n"
+else
+ GREP_FILES="grep -rn"
+fi
+
+for header in $HEADER_FILES; do
+ ${GREP_FILES} "#\s*include\s\+[\"<]\s*${header}\.h\s*[\">]" | \
+ grep "$INCLUDED_DIRS" | \
+ grep -v "$EXCLUDED_FILES"; \
+done \ No newline at end of file