OSDN Git Service

man: rework the Makefile.am
authorEmil Velikov <emil.l.velikov@gmail.com>
Mon, 6 Apr 2015 18:02:38 +0000 (19:02 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 28 Apr 2015 10:21:10 +0000 (11:21 +0100)
Remove GNU make specific constructs and take into consideration that
Solaris man 7 is not the same as Linux man 7.

This commit introduces a dependency of xorg-macros 1.12 (released 4+
years ago) which is used to handle the above man section discrepancies.

Cc: Niveditha Rau <niveditha.rau@oracle.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Makefile.am
configure.ac
man/Makefile.am

index 42d3d7f..13df80c 100644 (file)
@@ -73,6 +73,12 @@ if HAVE_TEGRA
 TEGRA_SUBDIR = tegra
 endif
 
+if BUILD_MANPAGES
+if HAVE_MANPAGES_STYLESHEET
+MAN_SUBDIR = man
+endif
+endif
+
 SUBDIRS = \
        . \
        $(LIBKMS_SUBDIR) \
@@ -84,7 +90,7 @@ SUBDIRS = \
        $(FREEDRENO_SUBDIR) \
        $(TEGRA_SUBDIR) \
        tests \
-       man
+       $(MAN_SUBDIR)
 
 libdrm_la_LTLIBRARIES = libdrm.la
 libdrm_ladir = $(libdir)
index 320e482..f8adf4f 100644 (file)
@@ -29,6 +29,13 @@ AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([build-aux])
 
+# Require xorg-macros minimum of 1.12 for XORG_WITH_XSLTPROC
+m4_ifndef([XORG_MACROS_VERSION],
+          [m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.12)
+XORG_WITH_XSLTPROC
+XORG_MANPAGE_SECTIONS
+
 AM_INIT_AUTOMAKE([1.10 foreign dist-bzip2])
 
 # Enable quiet compiles on automake 1.11.
@@ -378,9 +385,8 @@ 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@:>@]),
+              AS_HELP_STRING([--enable-manpages], [enable manpages @<:@default=auto@:>@]),
               [MANS=$enableval], [MANS=auto])
-AC_PATH_PROG(XSLTPROC, xsltproc)
 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$XSLTPROC" != "x" -a "x$MANS" != "xno"])
 
 # check for offline man-pages stylesheet
index d25a293..44b63a5 100644 (file)
@@ -1,63 +1,67 @@
 #
 # This generates man-pages out of the Docbook XML files. Simply add your files
-# to the $MANPAGES array. If aliases are created, please add them to the
-# MANPAGES_ALIASES array so they get installed correctly.
+# to the relevant *man_PRE array. If aliases are created, please add them to the
+# *man_aliases_PRE array so they get installed correctly.
 #
 
-MANPAGES = \
-       drm.7 \
-       drm-kms.7 \
-       drm-memory.7 \
-       drmAvailable.3 \
-       drmHandleEvent.3 \
-       drmModeGetResources.3
-MANPAGES_ALIASES = \
-       drm-mm.7 \
-       drm-gem.7 \
-       drm-ttm.7
+libman_PRE = \
+       drmAvailable.xml \
+       drmHandleEvent.xml \
+       drmModeGetResources.xml
 
-XML_FILES = \
-       $(patsubst %.1,%.xml,$(patsubst %.3,%.xml,$(patsubst %.5,%.xml,$(patsubst %.7,%.xml,$(MANPAGES)))))
+miscman_PRE = \
+       drm.xml \
+       drm-kms.xml \
+       drm-memory.xml
 
-EXTRA_DIST = $(XML_FILES)
-CLEANFILES = $(MANPAGES) $(MANPAGES_ALIASES) .man_fixup
-man_MANS =
+miscman_aliases_PRE = \
+       drm-mm.xml \
+       drm-gem.xml \
+       drm-ttm.xml
+
+libmandir = $(LIB_MAN_DIR)
+miscmandir = $(MISC_MAN_DIR)
+miscman_aliasesdir = $(MISC_MAN_DIR)
 
-if BUILD_MANPAGES
-if HAVE_MANPAGES_STYLESHEET
+libman_DATA = $(libman_PRE:.xml=.$(LIB_MAN_SUFFIX))
+miscman_DATA = $(miscman_PRE:.xml=.$(MISC_MAN_SUFFIX))
+miscman_aliases_DATA = $(miscman_aliases_PRE:.xml=.$(MISC_MAN_SUFFIX))
 
-man_MANS += $(MANPAGES) $(MANPAGES_ALIASES)
+XML_FILES = \
+       $(libman_PRE) \
+       $(miscman_PRE)
+
+MAN_FILES = \
+       $(libman_DATA) \
+       $(miscman_DATA) \
+       $(miscman_aliases_DATA)
+
+EXTRA_DIST = $(XML_FILES)
+CLEANFILES = $(MAN_FILES) .man_fixup
 
 XSLTPROC_FLAGS = \
        --stringparam man.authors.section.enabled 0 \
        --stringparam man.copyright.section.enabled 0 \
        --stringparam funcsynopsis.style ansi \
        --stringparam man.output.quietly 1 \
-       --nonet
+       --nonet \
+       $(MANPAGES_STYLESHEET)
 
 XSLTPROC_PROCESS_MAN = \
-       $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
-       $(XSLTPROC) -o "$@" $(XSLTPROC_FLAGS) $(MANPAGES_STYLESHEET) "$<" && \
+       $(AM_V_GEN)$(XSLTPROC) -o "$@" $(XSLTPROC_FLAGS) "$<" && \
        touch .man_fixup
 
-# Force .man_fixup if $(MANPAGES) are not built
-.man_fixup: | $(MANPAGES)
-       @touch .man_fixup
+# Force .man_fixup if $(miscman_DATA) are not built
+.man_fixup: | $(miscman_DATA)
+       $(AM_V_GEN)touch .man_fixup
 
-$(MANPAGES_ALIASES): $(MANPAGES) .man_fixup
+$(miscman_aliases_DATA): $(miscman_DATA) .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)
+SUFFIXES = .$(LIB_MAN_SUFFIX) .$(MISC_MAN_SUFFIX) .xml
 
-%.3: $(top_srcdir)/man/%.xml
+.xml.$(LIB_MAN_SUFFIX):
        $(XSLTPROC_PROCESS_MAN)
 
-%.5: $(top_srcdir)/man/%.xml
+.xml.$(MISC_MAN_SUFFIX):
        $(XSLTPROC_PROCESS_MAN)
-
-%.7: $(top_srcdir)/man/%.xml
-       $(XSLTPROC_PROCESS_MAN)
-
-endif # HAVE_MANPAGES_STYLESHEET
-endif # BUILD_MANPAGES