- 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'
This commit is contained in:
Bernhard Reutner-Fischer 2006-05-04 11:38:33 +00:00
parent 7c94bed234
commit 3916b2a560
2 changed files with 42 additions and 0 deletions

View File

@ -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 $(<)

37
scripts/checkhelp.awk Executable file
View File

@ -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]);
}
}
}