Browse Source

Add configure switch to disable use of asciidoc

Also break the build if that switch isn't used and asciidoc isn't
available.
Sebastian Hahn 14 years ago
parent
commit
4db5e7ae76
4 changed files with 40 additions and 27 deletions
  1. 6 0
      ChangeLog
  2. 23 0
      configure.in
  3. 4 0
      doc/Makefile.am
  4. 7 27
      doc/asciidoc-helper.sh

+ 6 - 0
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
       circuits now only differ from fast ones in that they can use nodes
       not marked with the Fast flag.
       not marked with the Fast flag.
 
 
+  o Minor features:
+    - Allow disabling building of the manpages. This speeds up the
+      build considerably.
+
   o Minor bugfixes:
   o Minor bugfixes:
     - Fix a memleak in the EXTENDCIRCUIT logic. Spotted by coverity.
     - Fix a memleak in the EXTENDCIRCUIT logic. Spotted by coverity.
       Bugfix on 0.2.2.9-alpha.
       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
     - Fix some urls in the exit notice file and make it XHTML1.1 strict
       compliant. Based on a patch from Christian Kujau.
       compliant. Based on a patch from Christian Kujau.
     - Don't use sed in asciidoc-helper anymore.
     - 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
 Changes in version 0.2.2.9-alpha - 2010-02-22
   o Directory authority changes:
   o Directory authority changes:

+ 23 - 0
configure.in

@@ -49,6 +49,15 @@ AC_ARG_ENABLE(transparent,
         *) AC_MSG_ERROR(bad value for --enable-transparent) ;;
         *) AC_MSG_ERROR(bad value for --enable-transparent) ;;
       esac], [transparent=true])
       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,
 AC_ARG_ENABLE(threads,
      AS_HELP_STRING(--disable-threads, disable multi-threading support))
      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
 dnl check for asciidoc and a2x
 AC_PATH_PROG([ASCIIDOC], [asciidoc], none)
 AC_PATH_PROG([ASCIIDOC], [asciidoc], none)
 AC_PATH_PROG([A2X], [a2x], 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([SHA1SUM], [sha1sum], none)
 AC_PATH_PROG([OPENSSL], [openssl], none)
 AC_PATH_PROG([OPENSSL], [openssl], none)

+ 4 - 0
doc/Makefile.am

@@ -13,7 +13,11 @@
 # part of the source distribution, so that people without asciidoc can
 # part of the source distribution, so that people without asciidoc can
 # just use the .1 and .html files.
 # just use the .1 and .html files.
 
 
+if USE_ASCIIDOC
 asciidoc_files = tor tor-gencert tor-resolve torify
 asciidoc_files = tor tor-gencert tor-resolve torify
+else
+asciidoc_files =
+endif
 
 
 html_in = $(asciidoc_files:=.html.in)
 html_in = $(asciidoc_files:=.html.in)
 
 

+ 7 - 27
doc/asciidoc-helper.sh

@@ -17,41 +17,21 @@ output=$3
 if [ "$1" = "html" ]; then
 if [ "$1" = "html" ]; then
     input=${output%%.html.in}.1.txt
     input=${output%%.html.in}.1.txt
     base=${output%%.html.in}
     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
 elif [ "$1" = "man" ]; then
     input=${output%%.1.in}.1.txt
     input=${output%%.1.in}.1.txt
     base=${output%%.1.in}
     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
     else
       echo "==================================";
       echo "==================================";
       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;
       echo "==================================";
       echo "==================================";
+      exit 1;
     fi
     fi
 fi
 fi
-
-touch $output; \