build: Include generated man pages in dist tarball

Most projects ship pre-generated man pages in the distribution tarball
so that builders don't need the documentation tools installed, similar
to how bison-generated sources are included.

To do this, we conditionalize the presence check of a2x on whether nft.8
already exists in the source directory, as it would exist if included in
the distribution tarball.

Secondly, we move the 'if BUILD_MAN' conditional to around the man page
generation rules. This ensures that the man pages are unconditionally
installed. Also only add the man pages to CLEANFILES if their generation
is enabled.

Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Matt Turner 2020-04-07 12:05:08 -07:00 committed by Pablo Neira Ayuso
parent 935a28529b
commit 4f2813a313
2 changed files with 9 additions and 10 deletions

View File

@ -50,7 +50,7 @@ AC_EXEEXT
AC_DISABLE_STATIC
CHECK_GCC_FVISIBILITY
AS_IF([test "x$enable_man_doc" = "xyes"], [
AS_IF([test "x$enable_man_doc" = "xyes" -a ! -f "${srcdir}/doc/nft.8"], [
AC_CHECK_PROG(A2X, [a2x], [a2x], [no])
AS_IF([test "$A2X" = "no"],
[AC_MSG_ERROR([a2x not found, please install asciidoc])])

View File

@ -1,6 +1,4 @@
if BUILD_MAN
man_MANS = nft.8 libnftables-json.5 libnftables.3
endif
A2X_OPTS_MANPAGE = -L --doctype manpage --format manpage -D ${builddir}
@ -13,6 +11,12 @@ ASCIIDOC_INCLUDES = \
statements.txt
ASCIIDOCS = ${ASCIIDOC_MAIN} ${ASCIIDOC_INCLUDES}
EXTRA_DIST = ${ASCIIDOCS} ${man_MANS} libnftables-json.adoc libnftables.adoc
CLEANFILES = \
*~
if BUILD_MAN
nft.8: ${ASCIIDOCS}
${AM_V_GEN}${A2X} ${A2X_OPTS_MANPAGE} $<
@ -22,10 +26,5 @@ nft.8: ${ASCIIDOCS}
.adoc.5:
${AM_V_GEN}${A2X} ${A2X_OPTS_MANPAGE} $<
EXTRA_DIST = ${ASCIIDOCS} libnftables-json.adoc libnftables.adoc
CLEANFILES = \
nft.8 \
libnftables-json.5 \
libnftables.3 \
*~
CLEANFILES += ${man_MANS}
endif