Add scripts/apidoc_full.sh

This re-introduces the apidoc with full config.h, but hopefully with the race
conditions and other issues that the previous implementation had.

Adapt doxygen test script to use that new script, and also check for errors
in addition to warnings while at it.
This commit is contained in:
Manuel Pégourié-Gonnard 2016-01-12 14:17:52 +00:00 committed by Gilles Peskine
parent 85c379d6d1
commit b82d09b6a2
2 changed files with 27 additions and 2 deletions

25
scripts/apidoc_full.sh Executable file
View File

@ -0,0 +1,25 @@
#!/bin/sh
# Generate doxygen documentation with a full config.h (this ensures that every
# available flag is documented, and avoids warnings about documentation
# without a corresponding #define).
#
# /!\ This must not be a Makefile target, as it would create a race condition
# when multiple targets are invoked in the same parallel build.
set -eu
CONFIG_H='include/mbedtls/config.h'
if [ -r $CONFIG_H ]; then :; else
echo "$CONFIG_H not found" >&2
exit 1
fi
CONFIG_BAK=${CONFIG_H}.bak
cp -p $CONFIG_H $CONFIG_BAK
scripts/config.pl realfull
make apidoc
mv $CONFIG_BAK $CONFIG_H

View File

@ -10,7 +10,7 @@ if [ -d library -a -d include -a -d tests ]; then :; else
exit 1
fi
if make apidoc > doc.out 2>doc.err; then :; else
if scripts/apidoc_full.sh > doc.out 2>doc.err; then :; else
cat doc.err
echo "FAIL" >&2
exit 1;
@ -20,7 +20,7 @@ cat doc.out doc.err | \
grep -v "warning: ignoring unsupported tag" \
> doc.filtered
if grep "warning" doc.filtered; then
if egrep "(warning|error):" doc.filtered; then
echo "FAIL" >&2
exit 1;
fi