summaryrefslogtreecommitdiffstats
path: root/tools/checkdecl.sh
blob: bd9ee6975994857c6c4291f64f505813f29ce568 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh

#
# This script checkd for #ifdef HAVE_DECL_SYMBOL in code.
#
# Autoconf docs:
#
# Unlike the other autoconf ‘AC_CHECK_*S’ macros, when a symbol is not
# declared, HAVE_DECL_symbol is defined to ‘0’ instead of leaving
# HAVE_DECL_symbol undeclared. When you are sure that the check was performed,
# use HAVE_DECL_symbol in #if.
#

if [ ! -f ./configure ]; then
	echo "Not found configure script"
	exit 1
fi

for decl in $(awk '/HAVE_DECL_.*ac_have_decl/ { print $2 }' configure); do 
	git grep -nE '[[:blank:]]*#[[:blank:]]*if(ndef|def)[[:blank:]]*'$decl;
done | sort -u