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