diff --git a/winsup/Makefile.am b/winsup/Makefile.am
index 067f74688..9efdd4cb1 100644
--- a/winsup/Makefile.am
+++ b/winsup/Makefile.am
@@ -14,6 +14,10 @@ cygdoc_DATA = \
CYGWIN_LICENSE \
COPYING
-SUBDIRS = cygwin cygserver doc utils testsuite
+SUBDIRS = cygwin cygserver utils testsuite
+
+if BUILD_DOC
+SUBDIRS += doc
+endif
cygserver utils testsuite: cygwin
diff --git a/winsup/configure.ac b/winsup/configure.ac
index cf1128b37..4ae20509a 100644
--- a/winsup/configure.ac
+++ b/winsup/configure.ac
@@ -88,7 +88,30 @@ AC_SUBST(TLSOFFSETS_H)
AM_CONDITIONAL(TARGET_X86_64, [test $target_cpu = "x86_64"])
-AC_CHECK_PROGS([DOCBOOK2XTEXI], [docbook2x-texi db2x_docbook2texi], [true])
+AC_ARG_ENABLE(doc,
+ [AS_HELP_STRING([--enable-doc], [Build documentation])],,
+ enable_doc=yes)
+AM_CONDITIONAL(BUILD_DOC, [test $enable_doc != "no"])
+
+AC_CHECK_PROGS([DOCBOOK2XTEXI], [docbook2x-texi db2x_docbook2texi])
+if test -z "$DOCBOOK2XTEXI" ; then
+ if test "x$enable_doc" != "xno"; then
+ AC_MSG_ERROR([docbook2texi is required to build documentation])
+ else
+ unset DOCBOOK2XTEXI
+ AM_MISSING_PROG([DOCBOOK2XTEXI], [docbook2texi])
+ fi
+fi
+
+AC_CHECK_PROGS([XMLTO], [xmlto])
+if test -z "$XMLTO"; then
+ if test "x$enable_doc" != "xno"; then
+ AC_MSG_ERROR([xmlto is required to build documentation])
+ else
+ unset XMLTO
+ AM_MISSING_PROG([XMLTO], [xmlto])
+ fi
+fi
if test "x$with_cross_bootstrap" != "xyes"; then
AC_CHECK_PROGS(MINGW_CXX, ${target_cpu}-w64-mingw32-g++)
diff --git a/winsup/doc/Makefile.am b/winsup/doc/Makefile.am
index 534d67480..5164c6e0a 100644
--- a/winsup/doc/Makefile.am
+++ b/winsup/doc/Makefile.am
@@ -16,7 +16,7 @@ doc_DATA = \
htmldir = $(datarootdir)/doc
-XMLTO=xmlto --skip-validation --with-dblatex
+XMLTO=@XMLTO@ --skip-validation --with-dblatex
DOCBOOK2XTEXI=@DOCBOOK2XTEXI@ --xinclude --info --utf8trans-map=charmap
-include Makefile.dep
diff --git a/winsup/doc/faq-programming.xml b/winsup/doc/faq-programming.xml
index 26fcfe921..46dd23ab8 100644
--- a/winsup/doc/faq-programming.xml
+++ b/winsup/doc/faq-programming.xml
@@ -689,12 +689,16 @@ Building for 32-bit Cygwin also requires
Building for 64-bit Cygwin also requires
mingw64-x86_64-gcc-g++ and
mingw64-x86_64-zlib.
+
+
-Normally, building ignores any errors in building the documentation,
-which requires the dblatex, docbook2X,
-docbook-xml45, docbook-xsl, and
-xmlto packages. For more information on building the
-documentation, see the README included in the cygwin-doc package.
+
+
+Building the documentation also requires the dblatex,
+docbook2X, docbook-xml45,
+docbook-xsl, and xmlto packages. Building
+the documentation can be disabled with the --disable-doc
+option to configure.
Next, check out the Cygwin sources from the