summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer2006-05-04 11:38:33 +0000
committerBernhard Reutner-Fischer2006-05-04 11:38:33 +0000
commit3916b2a560cadab2a6e97aff0d170ec4de88f0ab (patch)
tree673ba15680a0f72ef17c0a84940bc0430f205912
parent7c94bed2345008b4b62014a846488319a7af0727 (diff)
downloadbusybox-3916b2a560cadab2a6e97aff0d170ec4de88f0ab.zip
busybox-3916b2a560cadab2a6e97aff0d170ec4de88f0ab.tar.gz
- add script to check for missing help entries of config options
Currently we have these errors: ./modutils/Config.in: No helptext for 'CONFIG_FEATURE_QUERY_MODULE_INTERFACE' ./networking/Config.in: No helptext for 'CONFIG_IPADDR' ./networking/Config.in: No helptext for 'CONFIG_IPLINK' ./networking/Config.in: No helptext for 'CONFIG_IPROUTE' ./networking/Config.in: No helptext for 'CONFIG_IPTUNNEL' ./coreutils/Config.in: No helptext for 'CONFIG_UNIX2DOS'
-rw-r--r--Makefile5
-rwxr-xr-xscripts/checkhelp.awk37
2 files changed, 42 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 8c7cb41..9e9e957 100644
--- a/Makefile
+++ b/Makefile
@@ -133,6 +133,7 @@ help:
@echo
@echo 'Development:'
@echo ' check - run the test suite for all applets'
+ @echo ' checkhelp - check for missing help-entries in Config.in'
@echo ' randconfig - generate a random configuration'
@echo ' release - create a distribution tarball'
@echo ' sizes - show size of all enabled busybox symbols'
@@ -350,6 +351,10 @@ check test: busybox
bindir=$(top_builddir) srcdir=$(top_srcdir)/testsuite \
$(top_srcdir)/testsuite/runtest $(CHECK_VERBOSE)
+.PHONY: checkhelp
+checkhelp:
+ $(Q)$(top_srcdir)/scripts/checkhelp.awk \
+ $(wildcard $(patsubst %,%/Config.in,$(SRC_DIRS) ./))
.PHONY: sizes
sizes: busybox_unstripped
$(NM) --size-sort $(<)
diff --git a/scripts/checkhelp.awk b/scripts/checkhelp.awk
new file mode 100755
index 0000000..1a7e0ea
--- /dev/null
+++ b/scripts/checkhelp.awk
@@ -0,0 +1,37 @@
+#!/usr/bin/awk -f
+# AWK script to check for missing help entries for config options
+#
+# Copyright (C) 2006 Bernhard Fischer
+#
+# This file is distributed under the terms and conditions of the
+# MIT/X public licenses. See http://opensource.org/licenses/mit-license.html
+# and notice http://www.gnu.org/licenses/license-list.html#X11License
+
+
+/^choice/ { is_choice = 1; }
+/^endchoice/ { is_choice = 0; }
+/^config/ {
+ pos++;
+ conf[pos] = $2;
+ file[pos] = FILENAME;
+ if (is_choice) {
+ help[pos] = 1; # do not warn about 'choice' config entries.
+ } else {
+ help[pos] = 0;
+ }
+}
+/^[[:space:]]*help[[:space:]]*$/ {
+ help[pos] = 1;
+}
+BEGIN {
+ pos = -1;
+ is_choice = 0;
+}
+END {
+ for (i = 0; i < pos; i++) {
+# printf("%s: help for #%i '%s' == %i\n", file[i], i, conf[i], help[i]);
+ if (help[i] == 0) {
+ printf("%s: No helptext for '%s'\n", file[i], conf[i]);
+ }
+ }
+}