aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorJia Tan <jiat0218@gmail.com>2023-01-03 20:37:30 +0800
committerJia Tan <jiat0218@gmail.com>2023-01-20 00:51:12 +0800
commitbbf71b69ebf9d0d62a0af150a5c37d193b8159ad (patch)
tree56f437555d979d67ed3717c507174a305917427b /configure.ac
parentliblzma: Highlight liblzma API headers should not be included directly. (diff)
downloadxz-bbf71b69ebf9d0d62a0af150a5c37d193b8159ad.tar.xz
Doxygen: Make Doxygen only produce liblzma API documentation by default.
Doxygen is now configurable in autotools only with --enable-doxygen=[api|all]. The default is "api", which will only generate HTML output for liblzma API functions. The LaTex documentation output was also disabled.
Diffstat (limited to '')
-rw-r--r--configure.ac39
1 files changed, 39 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index f005f19d..fd817909 100644
--- a/configure.ac
+++ b/configure.ac
@@ -520,6 +520,45 @@ AC_ARG_ENABLE([doc], [AS_HELP_STRING([--disable-doc],
AM_CONDITIONAL([COND_DOC], [test x$enable_doc != xno])
+###########
+# Doxygen #
+###########
+
+# Doxygen can be enabled in two different modes:
+# api - Only generate Doxygen html pages for liblzma API headers.
+# all - Generate Doxygen html pages for every file.
+# api mode is the default because the primary purpose for the doxygen
+# documentation is to publicaly describe liblzma's API. The other html
+# pages are only useful for those who want to understand or alter the
+# internals of xz and liblzma.
+
+AC_ARG_ENABLE([doxygen], [AS_HELP_STRING([--enable-doxygen=SCOPE],
+ [Doxygen SCOPE can be `all`, or `api`.
+ The default is `api`, which will generate doxygen html
+ for liblzma API. The `all` option will generate doxygen
+ html for every .c and .h file.])],
+ [], [enable_doxygen=api])
+case $enable_doxygen in
+ api)
+ doxygen_project_name="liblzma ($PACKAGE_NAME)"
+ doxygen_extract_private=NO
+ doxygen_input_path=src/liblzma/api
+ ;;
+ all)
+ doxygen_project_name="$PACKAGE_NAME"
+ doxygen_extract_private=YES
+ doxygen_input_path=src
+ ;;
+ *)
+ AC_MSG_ERROR([--enable-doxygen only accepts `all` or `api])
+ ;;
+esac
+
+AC_SUBST([doxygen_project_name])
+AC_SUBST([doxygen_extract_private])
+AC_SUBST([doxygen_input_path])
+
+
##############
# Sandboxing #
##############