man: fix manpage build instructions
This fixes all the out-of-tree build-failures with manpages and uses a .man_fixup file to avoid overriding man-pages on every build. Manpages are only built if xsltproc is found and the stylesheets are available locally. You can disable building manpages with --disable-manpages so the quite expensive xsltproc procedure can be skipped. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>main
parent
481763c2c7
commit
08cb5c1d02
|
@ -52,6 +52,7 @@ libkms.pc
|
||||||
libtool
|
libtool
|
||||||
ltmain.sh
|
ltmain.sh
|
||||||
mach64.kld
|
mach64.kld
|
||||||
|
man/.man_fixup
|
||||||
mga.kld
|
mga.kld
|
||||||
missing
|
missing
|
||||||
mkinstalldirs
|
mkinstalldirs
|
||||||
|
|
|
@ -49,7 +49,7 @@ if HAVE_EXYNOS
|
||||||
EXYNOS_SUBDIR = exynos
|
EXYNOS_SUBDIR = exynos
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) $(OMAP_SUBDIR) $(EXYNOS_SUBDIR) tests include
|
SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) $(OMAP_SUBDIR) $(EXYNOS_SUBDIR) tests include man
|
||||||
|
|
||||||
libdrm_la_LTLIBRARIES = libdrm.la
|
libdrm_la_LTLIBRARIES = libdrm.la
|
||||||
libdrm_ladir = $(libdir)
|
libdrm_ladir = $(libdir)
|
||||||
|
|
20
configure.ac
20
configure.ac
|
@ -226,8 +226,26 @@ if test "x$HAVE_LIBUDEV" = xyes; then
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(HAVE_LIBUDEV, [test "x$HAVE_LIBUDEV" = xyes])
|
AM_CONDITIONAL(HAVE_LIBUDEV, [test "x$HAVE_LIBUDEV" = xyes])
|
||||||
|
|
||||||
|
# xsltproc for docbook manpages
|
||||||
|
AC_ARG_ENABLE([manpages],
|
||||||
|
AS_HELP_STRING([--disable-manpages], [disable manpages @<:@default=enabled@:>@]),
|
||||||
|
[MANS=$enableval], [MANS=auto])
|
||||||
AC_PATH_PROG(XSLTPROC, xsltproc)
|
AC_PATH_PROG(XSLTPROC, xsltproc)
|
||||||
AM_CONDITIONAL([HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
|
AM_CONDITIONAL([BUILD_MANPAGES], [test "x$XSLTPROC" != "x" -a "x$MANS" != "xno"])
|
||||||
|
|
||||||
|
# check for offline man-pages stylesheet
|
||||||
|
AC_MSG_CHECKING([for docbook manpages stylesheet])
|
||||||
|
MANPAGES_STYLESHEET="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
|
||||||
|
AC_PATH_PROGS_FEATURE_CHECK([XSLTPROC_TMP], [xsltproc],
|
||||||
|
AS_IF([`"$ac_path_XSLTPROC_TMP" --nonet "$MANPAGES_STYLESHEET" > /dev/null 2>&1`],
|
||||||
|
[HAVE_MANPAGES_STYLESHEET=yes]))
|
||||||
|
if test "x$HAVE_MANPAGES_STYLESHEET" = "xyes"; then
|
||||||
|
AC_SUBST(MANPAGES_STYLESHEET)
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL([HAVE_MANPAGES_STYLESHEET], [test "x$HAVE_MANPAGES_STYLESHEET" = "xyes"])
|
||||||
|
|
||||||
if test "x$INTEL" != "xno" -o "x$RADEON" != "xno" -o "x$NOUVEAU" != "xno" -o "x$OMAP" != "xno"; then
|
if test "x$INTEL" != "xno" -o "x$RADEON" != "xno" -o "x$NOUVEAU" != "xno" -o "x$OMAP" != "xno"; then
|
||||||
# Check for atomic intrinsics
|
# Check for atomic intrinsics
|
||||||
|
|
|
@ -18,37 +18,45 @@ MANPAGES_ALIASES = \
|
||||||
|
|
||||||
XML_FILES = \
|
XML_FILES = \
|
||||||
${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubs %.7,%.xml,$(MANPAGES)}}}}
|
${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubs %.7,%.xml,$(MANPAGES)}}}}
|
||||||
CLEANFILES =
|
EXTRA_DIST = $(XML_FILES)
|
||||||
EXTRA_DIST =
|
CLEANFILES = $(MANPAGES) $(MANPAGES_ALIASES) .man_fixup
|
||||||
man_MANS =
|
man_MANS =
|
||||||
|
|
||||||
if HAVE_XSLTPROC
|
if BUILD_MANPAGES
|
||||||
|
if HAVE_MANPAGES_STYLESHEET
|
||||||
|
|
||||||
CLEANFILES += $(MANPAGES) $(MANPAGES_ALIASES)
|
|
||||||
EXTRA_DIST += $(MANPAGES) $(MANPAGES_ALIASES) $(XML_FILES)
|
|
||||||
man_MANS += $(MANPAGES) $(MANPAGES_ALIASES)
|
man_MANS += $(MANPAGES) $(MANPAGES_ALIASES)
|
||||||
|
|
||||||
XSLTPROC_FLAGS = \
|
XSLTPROC_FLAGS = \
|
||||||
--stringparam man.authors.section.enabled 0 \
|
--stringparam man.authors.section.enabled 0 \
|
||||||
--stringparam man.copyright.section.enabled 0 \
|
--stringparam man.copyright.section.enabled 0 \
|
||||||
--stringparam funcsynopsis.style ansi \
|
--stringparam funcsynopsis.style ansi \
|
||||||
--stringparam man.output.quietly 1
|
--stringparam man.output.quietly 1 \
|
||||||
|
--nonet
|
||||||
|
|
||||||
XSLTPROC_PROCESS_MAN = \
|
XSLTPROC_PROCESS_MAN = \
|
||||||
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
|
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
|
||||||
$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \
|
$(XSLTPROC) -o "$@" $(XSLTPROC_FLAGS) $(MANPAGES_STYLESHEET) "$<" && \
|
||||||
$(SED) -i -e 's/^\.so \(.*\)\.\(.\)$$/\.so man\2\/\1\.\2/' $(MANPAGES_ALIASES)
|
touch .man_fixup
|
||||||
|
|
||||||
%.1: %.xml
|
# Force .man_fixup if $(MANPAGES) are not built
|
||||||
|
.man_fixup: | $(MANPAGES)
|
||||||
|
@touch .man_fixup
|
||||||
|
|
||||||
|
$(MANPAGES_ALIASES): $(MANPAGES) .man_fixup
|
||||||
|
$(AM_V_GEN)if test -n "$@" ; then $(SED) -i -e 's/^\.so \([a-z_]\+\)\.\([0-9]\)$$/\.so man\2\/\1\.\2/' "$@" ; fi
|
||||||
|
|
||||||
|
%.1: $(top_srcdir)/man/%.xml
|
||||||
$(XSLTPROC_PROCESS_MAN)
|
$(XSLTPROC_PROCESS_MAN)
|
||||||
|
|
||||||
%.3: %.xml
|
%.3: $(top_srcdir)/man/%.xml
|
||||||
$(XSLTPROC_PROCESS_MAN)
|
$(XSLTPROC_PROCESS_MAN)
|
||||||
|
|
||||||
%.5: %.xml
|
%.5: $(top_srcdir)/man/%.xml
|
||||||
$(XSLTPROC_PROCESS_MAN)
|
$(XSLTPROC_PROCESS_MAN)
|
||||||
|
|
||||||
%.7: %.xml
|
%.7: $(top_srcdir)/man/%.xml
|
||||||
$(XSLTPROC_PROCESS_MAN)
|
$(XSLTPROC_PROCESS_MAN)
|
||||||
|
|
||||||
endif # HAVE_XSLTPROC
|
endif # HAVE_MANPAGES_STYLESHEET
|
||||||
|
endif # BUILD_MANPAGES
|
||||||
|
|
Loading…
Reference in New Issue