Initial public busybox upstream commit
[busybox4maemo] / scripts / checkhelp.awk
1 #!/usr/bin/awk -f
2 # AWK script to check for missing help entries for config options
3 #
4 # Copyright (C) 2006 Bernhard Fischer
5 #
6 # This file is distributed under the terms and conditions of the
7 # MIT/X public licenses. See http://opensource.org/licenses/mit-license.html
8 # and notice http://www.gnu.org/licenses/license-list.html#X11License
9
10
11 /^choice/ { is_choice = 1; }
12 /^endchoice/ { is_choice = 0; }
13 /^config/ {
14         pos++;
15         conf[pos] = $2;
16         file[pos] = FILENAME;
17         if (is_choice) {
18                 help[pos] = 1; # do not warn about 'choice' config entries.
19         } else {
20                 help[pos] = 0;
21         }
22 }
23 /^[ \t]*help[ \t]*$/ {
24         help[pos] = 1;
25 }
26 /^[ \t]*bool[ \t]*$/ {
27         help[pos] = 1; # ignore options which are not selectable
28 }
29 BEGIN {
30         pos = -1;
31         is_choice = 0;
32 }
33 END {
34         for (i = 0; i <= pos; i++) {
35 #       printf("%s: help for #%i '%s' == %i\n", file[i], i, conf[i], help[i]);
36                 if (help[i] == 0) {
37                         printf("%s: No helptext for '%s'\n", file[i], conf[i]);
38                 }
39         }
40 }