mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-29 00:10:21 +02:00
filter-doc-snarfage.c: new files. * Makefile.am: add stuff to [build,] use and distribute guile-snarf-docs, guile-snarf-docs-texi, guile_filter_doc_snarfage. * guile-snarf.in: grok the new snarf output. * snarf.h: make the output both texttools- and `read'-friendly. * guile-doc-snarf.in (bindir): reimplement in terms of guile-snarf and guile-snarf-docs. (should also deprecate, I guess. maybe not).
60 lines
2 KiB
Bash
Executable file
60 lines
2 KiB
Bash
Executable file
#!/bin/sh
|
|
# Massage the snarfed docs to texinfo.
|
|
#
|
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2, or (at your option)
|
|
# any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this software; see the file COPYING. If not, write to
|
|
# the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
|
# Boston, MA 02111-1307 USA
|
|
|
|
srcdir=@srcdir@
|
|
bindir=`dirname $0`
|
|
|
|
bindir=`(cd $bindir; pwd)`
|
|
srcdir=`(cd $srcdir; pwd)`
|
|
|
|
temp0="/tmp/snarf.0.$$"
|
|
temp1="/tmp/snarf.1.$$"
|
|
trap "rm -f $temp0 $temp1" 0 1 2 15
|
|
|
|
# cat all the small files together:
|
|
cat "$@" > ${temp1}
|
|
|
|
## massage the arglists
|
|
|
|
# lose the SCM types and commas, and texi-quote @'s in names and args
|
|
< ${temp1} sed -e '/^arglist/s/[ ]*SCM[ ]*//g' \
|
|
-e '/^arglist/s/,/ /g' \
|
|
-e '/^arglist/s/([ ]*void[ ]*)/()/g' \
|
|
-e '/^fname/s/@/@@/g' \
|
|
-e '/^arglist/s/@/@@/g' \
|
|
> ${temp0}
|
|
|
|
# nothing to do with the docstrings
|
|
< ${temp0} sed -e 's/^string //' > ${temp1}
|
|
|
|
# we're too lame to check argpos assertions other then for straight names, so...
|
|
< ${temp1} sed -e 's/^argpos.*[(\[].*//' > ${temp0}
|
|
|
|
echo "@paragraphindent 0"
|
|
|
|
# now run the script that will generate texinfo
|
|
main='(module-ref (resolve-module '\''(scripts snarf-check-and-output-texi)) '\''main)'
|
|
apply_main="(apply $main (cdr (command-line)))"
|
|
|
|
if [ `basename ${bindir}` = libguile ]; then
|
|
GUILE_LOAD_PATH=${srcdir}/.. ${bindir}/guile -c "${apply_main}" < ${temp0}
|
|
else
|
|
${bindir}/guile -c "${apply_main}" < ${temp0}
|
|
fi
|