busybox/scripts/checkhelp.awk
<<
>>
Prefs
   1#!/usr/bin/awk -f
   2# AWK script to check for missing help entries for config options
   3#
   4# Copyright (C) 2006 Bernhard Reutner-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}
  29BEGIN {
  30        pos = -1;
  31        is_choice = 0;
  32}
  33END {
  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}
  41