summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-11-05 12:24:02 -0500
committerNick Mathewson <nickm@torproject.org>2019-11-05 12:24:02 -0500
commitd3e547b2bd93a5e43e90bda144971e243e092a57 (patch)
tree56b879f39c8ac1d46246c2d9bd74f854a5aab42a
parent884056ae57fb1dd80b39c9e503306c02732a551d (diff)
downloadtor-d3e547b2bd93a5e43e90bda144971e243e092a57.tar.gz
tor-d3e547b2bd93a5e43e90bda144971e243e092a57.zip
Re-think our doxygen warnings wrt missing docs and fatalness.
Up till now, we have warned about all missing documentation, which meant that we could never make doxygen warnings fatal. This has led to our doxygen output getting full of errors several times in the past. This commit changes our approach to doxygen warnings: missing documentation warnings are only on when the user asks for them with --enable-missing-doc-warnings. When that option is not present, doxygen respects the --enable-fatal-warnings flag. Closes ticket 32385.
-rw-r--r--Doxyfile.in4
-rw-r--r--changes/ticket323855
-rw-r--r--configure.ac18
3 files changed, 25 insertions, 2 deletions
diff --git a/Doxyfile.in b/Doxyfile.in
index be500bbfa8..0f8b111d98 100644
--- a/Doxyfile.in
+++ b/Doxyfile.in
@@ -767,7 +767,7 @@ WARNINGS = YES
# will automatically be disabled.
# The default value is: YES.
-WARN_IF_UNDOCUMENTED = YES
+WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_ON_MISSING@
# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
# potential errors in the documentation, such as not documenting some parameters
@@ -790,7 +790,7 @@ WARN_NO_PARAMDOC = NO
# a warning is encountered.
# The default value is: NO.
-WARN_AS_ERROR = NO
+WARN_AS_ERROR = @DOXYGEN_FATAL_WARNINGS@
# The WARN_FORMAT tag determines the format of the warning messages that doxygen
# can produce. The string should contain the $file, $line, and $text tags, which
diff --git a/changes/ticket32385 b/changes/ticket32385
new file mode 100644
index 0000000000..2a4fc64f3d
--- /dev/null
+++ b/changes/ticket32385
@@ -0,0 +1,5 @@
+ o Minor features (doxygen):
+ - Our "make doxygen" target now respects --enable-fatal-warnings by
+ default, and does not warn about items that are missing documentation.
+ To warn about missing documentation, run configure with the
+ "--enable-missing-doc-warnings" flag. Closes ticket 32385.
diff --git a/configure.ac b/configure.ac
index 487361773d..f3c955ad05 100644
--- a/configure.ac
+++ b/configure.ac
@@ -76,6 +76,24 @@ AC_ARG_ENABLE(nss,
AC_ARG_ENABLE(pic,
AS_HELP_STRING(--enable-pic, [Build Tor's binaries as position-independent code, suitable to link as a library.]))
+AC_ARG_ENABLE(missing-doc-warnings,
+ AS_HELP_STRING(--enable-missing-doc-warnings, [Tell doxygen to warn about missing documentation.]))
+
+if test "$enable_missing_doc_warnings" = "yes"; then
+ DOXYGEN_FATAL_WARNINGS=NO
+ DOXYGEN_WARN_ON_MISSING=YES
+elif test "$enable_fatal_warnings" = "yes"; then
+ # Fatal warnings from doxygen are nice, but not if we're warning about
+ # missing documentation.
+ DOXYGEN_FATAL_WARNINGS=YES
+ DOXYGEN_WARN_ON_MISSING=NO
+else
+ DOXYGEN_FATAL_WARNINGS=NO
+ DOXYGEN_WARN_ON_MISSING=NO
+fi
+AC_SUBST(DOXYGEN_FATAL_WARNINGS)
+AC_SUBST(DOXYGEN_WARN_ON_MISSING)
+
if test "x$enable_coverage" != "xyes" -a "x$enable_asserts_in_tests" = "xno" ; then
AC_MSG_ERROR([Can't disable assertions outside of coverage build])
fi