diff options
author | Duncan Roe <duncan_roe@optusnet.com.au> | 2021-10-18 15:17:39 +1100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-10-27 10:43:50 +0200 |
commit | f8ead35fed0b0f5c72d78ee66fdc1e87f643fdb0 (patch) | |
tree | 9f2269c17aece1f006a74feacea365e66f85e400 /configure.ac | |
parent | 78d6692778c7d4c254b7cf0d4513fdf03a753007 (diff) | |
download | libnetfilter_queue-f8ead35fed0b0f5c72d78ee66fdc1e87f643fdb0.tar.gz |
build: doc: Allow to specify whether to produce man pages, html, neither or both
New default action is: run doxygen (if installed) to produce man pages only.
This adds 124 KB to the build tree (and to the install tree, after
`make install`).
For finer control of built documentation, the old --with-doxygen configure
option is removed. Instead there are 2 new options:
--enable-html-doc # +1160 KB
--disable-man-pages # -124 KB
If doxygen is not installed, configure outputs a warning that man pages will not
be built. configure --disable-man-pages avoids this warning.
After --enable-html-doc
- `make install` installs built pages in htmldir instead of just leaving them
in the build tree.
- If the 'dot' program is not installed, configure outputs a warning that
interactive diagrams will be missing and to install graphviz to get them.
(There is an interactive diagram at the head of some modules, e.g.
User-space network packet buffer).
[ a few configure.ac edits to keep it in sync with libnetfilter_log --pablo]
Signed-off-by: Duncan Roe <duncan_roe@optusnet.com.au>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/configure.ac b/configure.ac index 4721eeb..416d58b 100644 --- a/configure.ac +++ b/configure.ac @@ -13,6 +13,22 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +AC_ARG_ENABLE([html-doc], + AS_HELP_STRING([--enable-html-doc], [Enable html documentation]), + [], [enable_html_doc=no]) +AM_CONDITIONAL([BUILD_HTML], [test "$enable_html_doc" = yes]) +AS_IF([test "$enable_html_doc" = yes], + [AC_SUBST(GEN_HTML, YES)], + [AC_SUBST(GEN_HTML, NO)]) + +AC_ARG_ENABLE([man-pages], + AS_HELP_STRING([--disable-man-pages], [Disable man page documentation]), + [], [enable_man_pages=yes]) +AM_CONDITIONAL([BUILD_MAN], [test "$enable_man_pages" = yes]) +AS_IF([test "$enable_man_pages" = yes], + [AC_SUBST(GEN_MAN, YES)], + [AC_SUBST(GEN_MAN, NO)]) + AC_PROG_CC AM_PROG_CC_C_O AC_DISABLE_STATIC @@ -29,19 +45,11 @@ dnl Dependencies PKG_CHECK_MODULES([LIBNFNETLINK], [libnfnetlink >= 0.0.41]) PKG_CHECK_MODULES([LIBMNL], [libmnl >= 1.0.3]) -dnl Output the makefiles -AC_CONFIG_FILES([Makefile src/Makefile utils/Makefile examples/Makefile - libnetfilter_queue.pc - include/Makefile include/libnetfilter_queue/Makefile - doxygen/Makefile doxygen/doxygen.cfg - include/linux/Makefile include/linux/netfilter/Makefile]) - -AC_ARG_WITH([doxygen], [AS_HELP_STRING([--with-doxygen], - [create doxygen documentation])], - [with_doxygen="$withval"], [with_doxygen=yes]) +AS_IF([test "$enable_man_pages" = no -a "$enable_html_doc" = no], + [with_doxygen=no], [with_doxygen=yes]) AS_IF([test "x$with_doxygen" != xno], [ - AC_CHECK_PROGS([DOXYGEN], [doxygen]) + AC_CHECK_PROGS([DOXYGEN], [doxygen], [""]) AC_CHECK_PROGS([DOT], [dot], [""]) AS_IF([test "x$DOT" != "x"], [AC_SUBST(HAVE_DOT, YES)], @@ -52,12 +60,22 @@ AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"]) AS_IF([test "x$DOXYGEN" = x], [ AS_IF([test "x$with_doxygen" != xno], [ dnl Only run doxygen Makefile if doxygen installed - AC_MSG_WARN([Doxygen not found - continuing without Doxygen support]) - with_doxygen=no + AC_MSG_WARN([Doxygen not found - not building documentation]) + enable_html_doc=no + enable_man_pages=no ]) ]) + +dnl Output the makefiles +AC_CONFIG_FILES([Makefile src/Makefile utils/Makefile examples/Makefile + libnetfilter_queue.pc + include/Makefile include/libnetfilter_queue/Makefile + doxygen/Makefile doxygen/doxygen.cfg + include/linux/Makefile include/linux/netfilter/Makefile]) + AC_OUTPUT echo " libnetfilter_queue configuration: - doxygen: ${with_doxygen}" +man pages: ${enable_man_pages} +html docs: ${enable_html_doc}" |