summaryrefslogtreecommitdiffstats
path: root/src/check-header-compile.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/check-header-compile.in')
-rwxr-xr-xsrc/check-header-compile.in41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/check-header-compile.in b/src/check-header-compile.in
new file mode 100755
index 000000000..6d0e10789
--- /dev/null
+++ b/src/check-header-compile.in
@@ -0,0 +1,41 @@
+#! /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@"
+INKSCAPE_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 $INKSCAPE_CFLAGS header-tst.cpp
+}
+
+if [ $# = 0 ]; then
+ for i in `find "$srcdir" \
+ -name bonobo -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 win32.h \! -name nr-type-gnome.h \! -name nr-type-w32.h \! -name Livarot.h \! -name radial.h \
+ \! -name '*-test.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