summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2010-06-28 09:56:47 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2010-06-30 08:46:14 +1000
commit03a5207d7479eeeefb209db8444c2bbd0701b519 (patch)
tree93f7a4919ec9bb16376f82ce9e865d145be1d8c2
parentffd06a4b7d208f37ddcd55857b5b4e256a441808 (diff)
Double-use the README as man-page.
If asciidoc and xmlto is available at install time, convert the README to a man page. The autotool hack for this is a bit complicated, but does the job. It's essentially copied from libXi that uses asciidoc + xmlto for man page generation as well. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
-rw-r--r--Makefile.am24
-rw-r--r--README23
-rw-r--r--configure.ac19
3 files changed, 60 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am
index 7bd345ef..3d53694a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,3 +18,27 @@ check-local: check.sh
# Helper target for testing subsets (test-Xopen, etc.)
test-%:
@$(MAKE) $(AM_MAKEFLAGS) check scenario='$*'
+
+if HAVE_DOCTOOLS
+miscmandir = $(MISC_MAN_DIR)
+xtsman_txt = XTS.txt
+xtsman_xml = $(xtsman_txt:.txt=.xml)
+xtsman_pre = $(xtsman_txt:.txt=.man)
+miscman_DATA = $(xtsman_pre:.man=.$(MISC_MAN_SUFFIX))
+
+SUFFIXES = .man .$(MISC_MAN_SUFFIX) .txt .xml
+
+XTS.txt: README
+ cp $(srcdir)/README XTS.txt
+
+.man.$(MISC_MAN_SUFFIX):
+ sed -e 's|miscmansuffix|$(MISC_MAN_SUFFIX)|' < $< > $@
+.txt.xml:
+ $(ASCIIDOC) -b docbook -d manpage -o $@ $<
+.xml.man:
+ $(XMLTO) man $<
+ mv -f $(@:.man=.miscmansuffix) $@
+
+MAINTAINERCLEANFILES = *.xml $(xtsman_pre) $(xtsman_txt)
+endif
+
diff --git a/README b/README
index af18b041..41f86eec 100644
--- a/README
+++ b/README
@@ -1,8 +1,18 @@
+XTS(miscmansuffix)
+==================
+
+Name
+----
+ XTS - The X Test Suite
+
+Description
+-----------
+
This is a revamped version of X Test Suite (XTS) which removes some of
the ugliness of building and running the tests.
Downloading
-===========
+-----------
Currently xts it is only available from a git repository.
$ git clone git://people.freedesktop.org/~dbn/xtest.git
@@ -10,8 +20,9 @@ Currently xts it is only available from a git repository.
Eventually there will be a tarball release when it is stabilized.
Requirements
-============
+------------
Required libraries: libX11, libXext, libXi, libXtst
+
Required utilities: xdpyinfo, xset, perl, bdftopcf, mkfontdir
If you are using packages outside of the standard system directories,
@@ -19,7 +30,7 @@ make sure to set PATH and PKG_CONFIG_PATH appropriately. See
pkg-config(1) for details on the latter.
Build and Install
-=================
+-----------------
The build and install are now straightforward:
$ ./autogen.sh # using a git checkout
@@ -28,7 +39,7 @@ The build and install are now straightforward:
$ make install
Running the Tests
-=================
+-----------------
The tests can be run from the build directory or from the installed
package. The check.sh script sets up the environment to run tests from
the build tree.
@@ -56,7 +67,7 @@ the xts-report tool (formerly vswrpt):
$ xts-report -f /xts/output/dir/journal
Running a Single Test
-=====================
+---------------------
The pt script can be used to run a single set of tests or a single test case
only. For example, to run only the XGrabButton tests, run
$ pt ./XGrabButton
@@ -75,7 +86,7 @@ To run only a single test-case inside one test set, use the -i flag.
This command only runs test case 10 (t010() in the source).
Bugs
-====
+----
Some tests provide different results when run as a set versus run
one-by-one with the pt script. This has been observed with
Xlib13/XGrabButton where the modifier state is not reset correctly.
diff --git a/configure.ac b/configure.ac
index 158b72af..6f51fc05 100644
--- a/configure.ac
+++ b/configure.ac
@@ -109,6 +109,25 @@ fi
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
[AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
+# Generate man page if asciidoc and xmlto are available.
+AC_ARG_VAR([XMLTO], [Path to xmlto command])
+AC_PATH_PROG([XMLTO], [xmlto])
+AC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
+AC_PATH_PROG([ASCIIDOC], [asciidoc])
+
+AM_CONDITIONAL([HAVE_DOCTOOLS], [test "x$XMLTO" != "x" && test "x$ASCIIDOC" != "x"])
+if test "x$XMLTO" = "x" || test "x$ASCIIDOC" = "x"; then
+ AC_MSG_WARN([xmlto or asciidoc not found - cannot create man pages without it])
+else
+ if test x$MISC_MAN_SUFFIX = x ; then
+ case $host_os in
+ solaris*) MISC_MAN_SUFFIX=5 ;;
+ *) MISC_MAN_SUFFIX=7 ;;
+ esac
+ fi
+ AC_SUBST(MISC_MAN_SUFFIX)
+fi
+
AC_CONFIG_FILES([
Makefile
check.sh