check-header-compile.in revision 6ecb8d1f9ab820b5110e9ec5291524499a1f8193
#! /bin/sh
# Check that each .h file has all the includes it needs.
# Probably requires gnu find (for -printf '%P\n').
# This script hereby placed into the public domain.
set -e
mydir=`dirname "$0"`
cd "$mydir"
srcdir="@srcdir@"
CXX="@CXX@"
INCLUDES="@GNOME_VFS_CFLAGS@ @POPPLER_GLIB_CFLAGS@ @INKSCAPE_CFLAGS@"
OBJEXT="@OBJEXT@"
config_h_dir=..
check_compile () {
(echo "#include <config.h>"; echo "#include <$1>"; echo "int header_tst_dummy;") > header-tst.cpp
$CXX -c -I. -I"$srcdir" -I$config_h_dir $INCLUDES header-tst.cpp
}
if [ $# = 0 ]; then
for i in `find "$srcdir" \
-name bonobo -prune \
-o -name dom -prune \
-o -name ecma -prune \
-o -name render -prune \
-o -name xpath -prune \
-o -path '*/extension/script/js' -prune \
-o -name '*.h' \
\! -name gnome.h \! -name nr-type-gnome.h \! -name Livarot.h \! -name radial.h \
\! -name '*-test.h' \
\! -name test-helpers.h \
\! -name PylogFormatter.h \
\! -name TRPIFormatter.h \
\! -name win32.h \
\! -name '*-w32.h' \
\! -name '*-win32.h' \
-printf '%P\n'`
do
check_compile "$i"
done
else
for i in "$@"; do
check_compile "$i"
done
fi
rm header-tst.cpp header-tst.$OBJEXT