From 4db5e7ae7698393552c34d2c28180bbefa87fd62 Mon Sep 17 00:00:00 2001 From: Sebastian Hahn Date: Mon, 1 Mar 2010 03:17:48 +0100 Subject: [PATCH] Add configure switch to disable use of asciidoc Also break the build if that switch isn't used and asciidoc isn't available. --- ChangeLog | 6 ++++++ configure.in | 23 +++++++++++++++++++++++ doc/Makefile.am | 4 ++++ doc/asciidoc-helper.sh | 34 +++++++--------------------------- 4 files changed, 40 insertions(+), 27 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4b291047a6..fa40572480 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,10 @@ Changes in version 0.2.2.10-alpha - 2010-??-?? circuits now only differ from fast ones in that they can use nodes not marked with the Fast flag. + o Minor features: + - Allow disabling building of the manpages. This speeds up the + build considerably. + o Minor bugfixes: - Fix a memleak in the EXTENDCIRCUIT logic. Spotted by coverity. Bugfix on 0.2.2.9-alpha. @@ -31,6 +35,8 @@ Changes in version 0.2.2.10-alpha - 2010-??-?? - Fix some urls in the exit notice file and make it XHTML1.1 strict compliant. Based on a patch from Christian Kujau. - Don't use sed in asciidoc-helper anymore. + - Make the build process fail if asciidoc cannot be found, and + building with asciidoc isn't disabled. Changes in version 0.2.2.9-alpha - 2010-02-22 o Directory authority changes: diff --git a/configure.in b/configure.in index e045c08b35..6e73a2aad8 100644 --- a/configure.in +++ b/configure.in @@ -49,6 +49,15 @@ AC_ARG_ENABLE(transparent, *) AC_MSG_ERROR(bad value for --enable-transparent) ;; esac], [transparent=true]) +AC_ARG_ENABLE(asciidoc, + AS_HELP_STRING(--disable-asciidoc, don't use asciidoc (disables building of manpages)), + [case "${enableval}" in + yes) asciidoc=true ;; + no) asciidoc=false ;; + *) AC_MSG_ERROR(bad value for --disable-asciidoc) ;; + esac], [asciidoc=true]) + + AC_ARG_ENABLE(threads, AS_HELP_STRING(--disable-threads, disable multi-threading support)) @@ -97,6 +106,20 @@ AC_CHECK_PROG([SED],[sed],[sed],[/bin/false]) dnl check for asciidoc and a2x AC_PATH_PROG([ASCIIDOC], [asciidoc], none) AC_PATH_PROG([A2X], [a2x], none) +AC_PATH_PROG([XSLTPROC], [xsltproc], none) +if test x$asciidoc = xtrue ; then + if test x$ASCIIDOC = xnone ; then + AC_MSG_ERROR("Couldn't find asciidoc. reconfigure with --disable-asciidoc to build without asciidoc.") + fi + if test x$A2X = xnone ; then + AC_MSG_ERROR("Couldn't find a2x. reconfigure with --disable-asciidoc to build without a2x.") + fi + if test x$XSLTPROC = xnone ; then + AC_MSG_ERROR("Couldn't find xsltproc. reconfigure with --disable-asciidoc to build without xsltproc.") + fi +fi + +AM_CONDITIONAL(USE_ASCIIDOC, test x$asciidoc = xtrue) AC_PATH_PROG([SHA1SUM], [sha1sum], none) AC_PATH_PROG([OPENSSL], [openssl], none) diff --git a/doc/Makefile.am b/doc/Makefile.am index dbc44f0fbf..e7edb0476b 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -13,7 +13,11 @@ # part of the source distribution, so that people without asciidoc can # just use the .1 and .html files. +if USE_ASCIIDOC asciidoc_files = tor tor-gencert tor-resolve torify +else +asciidoc_files = +endif html_in = $(asciidoc_files:=.html.in) diff --git a/doc/asciidoc-helper.sh b/doc/asciidoc-helper.sh index 25b438cd81..d24b31918c 100755 --- a/doc/asciidoc-helper.sh +++ b/doc/asciidoc-helper.sh @@ -17,41 +17,21 @@ output=$3 if [ "$1" = "html" ]; then input=${output%%.html.in}.1.txt base=${output%%.html.in} - if [ "$2" != none ]; then - "$2" -d manpage -o $output $input; - else - echo "=================================="; - echo; - echo "The manpage in html form for $base will "; - echo "NOT be available, because asciidoc doesn't appear to be "; - echo "installed!"; - echo; - echo "=================================="; - fi + "$2" -d manpage -o $output $input; elif [ "$1" = "man" ]; then input=${output%%.1.in}.1.txt base=${output%%.1.in} - if test "$2" != none; then - if $2 -f manpage $input; then - mv $base.1 $output; - else - echo "=================================="; - echo; - echo "a2x is installed, but some required docbook support files are"; - echo "missing. Please install docbook-xsl and docbook-xml (Debian)"; - echo "or similar."; - echo; - echo "=================================="; - fi; + if "$2" -f manpage $input; then + mv $base.1 $output; else echo "=================================="; echo; - echo "The manpage for $base will NOT be "; - echo "available, because a2x doesn't appear to be installed!"; + echo "a2x is installed, but some required docbook support files are"; + echo "missing. Please install docbook-xsl and docbook-xml (Debian)"; + echo "or similar."; echo; echo "=================================="; + exit 1; fi fi - -touch $output; \