mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-23 20:03:31 +01:00
Allow generating documentation from asciidoc in the Makefile
This commit is contained in:
parent
3efadcd0d5
commit
9fe1c000b0
@ -109,6 +109,10 @@ AC_PROG_RANLIB
|
||||
dnl autoconf 2.59 appears not to support AC_PROG_SED
|
||||
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([SHA1SUM], [sha1sum], none)
|
||||
AC_PATH_PROG([OPENSSL], [openssl], none)
|
||||
|
||||
|
@ -1,12 +1,36 @@
|
||||
asciidoc_files = tor-gencert
|
||||
|
||||
html_in = $(asciidoc_files:=.html.in)
|
||||
|
||||
man_in = $(asciidoc_files:=.1.in)
|
||||
|
||||
EXTRA_DIST = HACKING \
|
||||
tor-resolve.1 tor-gencert.1 \
|
||||
$(html_in) $(man_in) $(asciidoc_files:=.1.txt) \
|
||||
tor-osx-dmg-creation.txt tor-rpm-creation.txt \
|
||||
tor-win32-mingw-creation.txt torify.1
|
||||
|
||||
man_MANS = tor.1 tor-resolve.1 tor-gencert.1 torify.1
|
||||
nodist_man_MANS = tor.1 tor-resolve.1 tor-gencert.1 torify.1 $(asciidoc_files:=.1)
|
||||
|
||||
doc_DATA = $(asciidoc_files:=.html)
|
||||
|
||||
asciidoc_product = $(nodist_man_MANS) $(doc_DATA)
|
||||
|
||||
SUBDIRS = design-paper spec
|
||||
|
||||
DIST_SUBDIRS = design-paper spec
|
||||
|
||||
# Generate the html documentation from asciidoc, but don't do
|
||||
# machine-specific replacements yet
|
||||
$(html_in) :
|
||||
$(top_srcdir)/doc/asciidoc-helper.sh html @ASCIIDOC@ @SED@ $@
|
||||
|
||||
# Generate the manpage from asciidoc, but don't do
|
||||
# machine-specific replacements yet
|
||||
$(man_in) :
|
||||
$(top_srcdir)/doc/asciidoc-helper.sh man @A2X@ @SED@ $@
|
||||
|
||||
# use ../config.status to swap all machine-specific magic strings
|
||||
# in the asciidoc with their replacements.
|
||||
$(asciidoc_product) :
|
||||
../config.status --file=$@;
|
||||
|
54
doc/asciidoc-helper.sh
Executable file
54
doc/asciidoc-helper.sh
Executable file
@ -0,0 +1,54 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (c) The Tor Project, Inc.
|
||||
# See LICENSE for licensing information
|
||||
# Run this to generate .html.in or .1.in files from asciidoc files.
|
||||
# Arguments:
|
||||
# html|man asciidocpath sedpath outputfile
|
||||
|
||||
set -e
|
||||
|
||||
if [ $# != 4 ]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
output=$4
|
||||
input=`echo $output | $3 -e 's/html\.in$/1\.txt/g' -e 's/1\.in$/1\.txt/g'`
|
||||
base=`echo $output | $3 -e 's/\.html\.in$//g' -e 's/\.1\.in$//g'`
|
||||
|
||||
if [ "$1" = "html" ]; then
|
||||
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
|
||||
elif [ "$1" = "man" ]; then
|
||||
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;
|
||||
else
|
||||
echo "==================================";
|
||||
echo;
|
||||
echo "The manpage for $base will NOT be ";
|
||||
echo "available, because a2x doesn't appear to be installed!";
|
||||
echo;
|
||||
echo "==================================";
|
||||
fi
|
||||
fi
|
||||
|
||||
touch $output; \
|
Loading…
Reference in New Issue
Block a user