diff --git a/scripts/apidoc_full.sh b/scripts/apidoc_full.sh new file mode 100755 index 000000000..bebab103e --- /dev/null +++ b/scripts/apidoc_full.sh @@ -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 diff --git a/tests/scripts/doxygen.sh b/tests/scripts/doxygen.sh index 1013cbd16..e7758c9e8 100755 --- a/tests/scripts/doxygen.sh +++ b/tests/scripts/doxygen.sh @@ -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