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