15bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod#!/bin/sh
25bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
35bc18195d55570ef01e4b24dd248f222f081b0a2Behdad EsfahbodLC_ALL=C
45bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodexport LC_ALL
55bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
65bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodtest -z "$srcdir" && srcdir=.
75bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodstat=0
85bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
9d22548c0e362cc9447557440af9ecbb11badfa78Behdad Esfahbodtest "x$HBHEADERS" = x && HBHEADERS=`cd "$srcdir"; find . -maxdepth 1 -name 'hb*.h'`
10d22548c0e362cc9447557440af9ecbb11badfa78Behdad Esfahbodtest "x$HBSOURCES" = x && HBSOURCES=`cd "$srcdir"; find . -maxdepth 1 -name 'hb-*.cc' -or -name 'hb-*.hh'`
115bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
125bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
135bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodecho 'Checking that public header files #include "hb-common.h" or "hb.h" first (or none)'
145bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
155bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodfor x in $HBHEADERS; do
16d3490761e11ae308fbd8aaf02059653f579035c5Behdad Esfahbod	test -f "$srcdir/$x" && x="$srcdir/$x"
175bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod	grep '#.*\<include\>' "$x" /dev/null | head -n 1
185bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahboddone |
195bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodgrep -v '"hb-common[.]h"' |
205bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodgrep -v '"hb[.]h"' |
215bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodgrep -v 'hb-common[.]h:' |
225bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodgrep -v 'hb[.]h:' |
235bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodgrep . >&2 && stat=1
245bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
255bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
265bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodecho 'Checking that source files #include "hb-*private.hh" first (or none)'
275bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
285bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodfor x in $HBSOURCES; do
29d3490761e11ae308fbd8aaf02059653f579035c5Behdad Esfahbod	test -f "$srcdir/$x" && x="$srcdir/$x"
305bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod	grep '#.*\<include\>' "$x" /dev/null | head -n 1
315bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahboddone |
325bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodgrep -v '"hb-.*private[.]hh"' |
335bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodgrep -v 'hb-private[.]hh:' |
345bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodgrep . >&2 && stat=1
355bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
365bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
375bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodecho 'Checking that there is no #include <hb.*.h>'
38d3490761e11ae308fbd8aaf02059653f579035c5Behdad Esfahbodfor x in $HBHEADERS $HBSOURCES; do
39d3490761e11ae308fbd8aaf02059653f579035c5Behdad Esfahbod	test -f "$srcdir/$x" && x="$srcdir/$x"
40d3490761e11ae308fbd8aaf02059653f579035c5Behdad Esfahbod	grep '#.*\<include\>.*<.*hb' "$x" /dev/null >&2 && stat=1
41d3490761e11ae308fbd8aaf02059653f579035c5Behdad Esfahboddone
425bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
435bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbod
445bc18195d55570ef01e4b24dd248f222f081b0a2Behdad Esfahbodexit $stat
45