summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak2008-11-26 13:42:16 +0100
committerKarel Zak2008-11-26 13:42:16 +0100
commit043102bf197e1f0e082cc0eaf4d3d5d7c3b79f7b (patch)
treee386a4b1e5739bc3433f2ded29b4b7febd3f62d6
parenttools: rename codecheck-config to checkconfig.sh (diff)
downloadkernel-qcow2-util-linux-043102bf197e1f0e082cc0eaf4d3d5d7c3b79f7b.tar.gz
kernel-qcow2-util-linux-043102bf197e1f0e082cc0eaf4d3d5d7c3b79f7b.tar.xz
kernel-qcow2-util-linux-043102bf197e1f0e082cc0eaf4d3d5d7c3b79f7b.zip
tools: add checkconfig to top-level Makefile
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--Makefile.am7
-rwxr-xr-xtools/checkconfig.sh37
2 files changed, 29 insertions, 15 deletions
diff --git a/Makefile.am b/Makefile.am
index fefff76f5..6fce69cc5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -48,10 +48,15 @@ distclean-local:
checkincludes:
- -find * $(RCS_FIND_IGNORE) \
+ @find * $(RCS_FIND_IGNORE) \
-name '*.[hcS]' -type f -print | sort -u \
| xargs $(top_srcdir)/tools/checkincludes.pl
+checkconfig:
+ @find * $(RCS_FIND_IGNORE) \
+ -name '*.[hcS]' -type f -print | sort -u \
+ | xargs $(top_srcdir)/tools/checkconfig.sh $(top_srcdir)
+
ENABLE_ALL = --enable-static-programs \
--enable-elvtune --enable-init --enable-kill --enable-last \
diff --git a/tools/checkconfig.sh b/tools/checkconfig.sh
index ff38bac7d..c5f307387 100755
--- a/tools/checkconfig.sh
+++ b/tools/checkconfig.sh
@@ -4,34 +4,43 @@
# This script checks for HAVE_ and ENABLE_ macros which are
# not included in config.h.in
#
+# Usage: checkconfig.sh <top_srcdir> <srcfile> [<srcfile> ...]
+#
# Copyright (C) 2007 Matthias Koenig <mkoenig@suse.de>
+# Copyright (C) 2008 Karel Zak <kzak@redhat.com>
#
+
+function die() {
+ echo "error: $1"
+ exit 1
+}
+
srcdir=$1
+config="$srcdir/config.h.in"
-if [ ! "$srcdir" ]; then
- srcdir=$PWD
-fi
+[ -d "$srcdir" ] || die "$srcdir: not such directory."
+[ -f "$config" ] || die "$config: not such file."
-CONFIG="$srcdir/config.h.in"
-if [ ! -f "$CONFIG" ]; then
- echo "config.h.in is needed"
- exit 1
-fi
+shift
+
+while (( "$#" )); do
+ srcfile=$1
+ shift
-SOURCES=$(find $srcdir -name "*.c")
+ [ ! -f "$srcfile" ] && continue;
-for f in $SOURCES; do
DEFINES=$(sed -n -e 's/.*[ \t(]\+\(HAVE_[[:alnum:]]\+[^ \t);]*\).*/\1/p' \
-e 's/.*[ \t(]\+\(ENABLE_[[:alnum:]]\+[^ \t);]*\).*/\1/p' \
- $f | sort -u)
+ $srcfile | sort -u)
[ -z "$DEFINES" ] && continue
for d in $DEFINES; do
case $d in
- HAVE_CONFIG_H) continue;;
- *) grep -q "$d\( \|\>\)" $CONFIG || echo $(echo $f | sed 's:'$srcdir/'::') ": $d"
-
+ HAVE_CONFIG_H) continue
+ ;;
+ *) grep -q "$d\( \|\>\)" $config || \
+ echo $(echo $srcfile | sed 's:\\'$srcdir/'::') ": $d"
;;
esac
done