summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorDuncan Roe <duncan_roe@optusnet.com.au>2021-10-18 15:17:39 +1100
committerPablo Neira Ayuso <pablo@netfilter.org>2021-10-27 10:43:50 +0200
commitf8ead35fed0b0f5c72d78ee66fdc1e87f643fdb0 (patch)
tree9f2269c17aece1f006a74feacea365e66f85e400 /configure.ac
parent78d6692778c7d4c254b7cf0d4513fdf03a753007 (diff)
downloadlibnetfilter_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.ac46
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}"