diff options
author | Duncan Roe <duncan_roe@optusnet.com.au> | 2021-06-22 14:19:33 +1000 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-06-23 19:05:52 +0200 |
commit | cd0cafc7f75c97d44229a09e5fde11ca51a1bb6f (patch) | |
tree | c0d9bb52add86b896402b5856c7b4e71f9b71f5d /configure.ac | |
parent | 3a782045c26e048810f3bdb27784a0615e77108e (diff) |
build: doc: "make" builds & installs a full set of man pages
Repeat what we did for libnetfilter_queue:
- New makefile in doxygen directory. Rebuilds documentation if any sources
change that contain doxygen comments:
- Renames each group man page to the first function listed therein
- Creates symlinks for subsequently listed functions
- Deletes _* temp files and moves sctruct-describing man pages to man7
- Update top-level makefile to visit new subdir doxygen
- Update top-level configure to only build documentation if doxygen installed
- Add --with/without-doxygen switch
- Check whether dot is available when configuring doxygen
- Reduce size of doxygen.cfg and doxygen build o/p
- `make distcheck` passes with doxygen enabled
Aditionally, exclude opaque structs mnl_nlmsg_batch & mnl_socket
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 | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 35b2531..a06ae6a 100644 --- a/configure.ac +++ b/configure.ac @@ -27,5 +27,27 @@ regular_CFLAGS="-Wall -Waggregate-return -Wmissing-declarations \ -Wformat=2 -pipe" AC_SUBST([regular_CPPFLAGS]) AC_SUBST([regular_CFLAGS]) -AC_CONFIG_FILES([Makefile src/Makefile include/Makefile include/libmnl/Makefile include/linux/Makefile include/linux/netfilter/Makefile examples/Makefile examples/genl/Makefile examples/kobject/Makefile examples/netfilter/Makefile examples/rtnl/Makefile libmnl.pc doxygen.cfg]) +AC_CONFIG_FILES([Makefile src/Makefile include/Makefile include/libmnl/Makefile include/linux/Makefile include/linux/netfilter/Makefile examples/Makefile examples/genl/Makefile examples/kobject/Makefile examples/netfilter/Makefile examples/rtnl/Makefile libmnl.pc doxygen.cfg doxygen/Makefile]) + +AC_ARG_WITH([doxygen], [AS_HELP_STRING([--with-doxygen], + [create doxygen documentation])], + [with_doxygen="$withval"], [with_doxygen=yes]) + +AS_IF([test "x$with_doxygen" != xno], [ + AC_CHECK_PROGS([DOXYGEN], [doxygen]) + AC_CHECK_PROGS([DOT], [dot], [""]) + AS_IF([test "x$DOT" != "x"], + [AC_SUBST(HAVE_DOT, YES)], + [AC_SUBST(HAVE_DOT, NO)]) +]) + +AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"]) +AS_IF([test "x$DOXYGEN" = x], [ + dnl Only run doxygen Makefile if doxygen installed + AC_MSG_WARN([Doxygen not found - continuing without Doxygen support]) +]) AC_OUTPUT + +echo " +libmnl configuration: + doxygen: ${with_doxygen}" |