xref: /netbsd-src/external/bsd/mdocml/dist/gmdiff (revision 544c191c349c1704c9d5e679d12ec15cff579663)
170f041f9Sjoerg#!/bin/sh
2c9bcef03Schristos# Copyright (c) 2013,2014,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org>
370f041f9Sjoerg#
470f041f9Sjoerg# Permission to use, copy, modify, and distribute this software for any
570f041f9Sjoerg# purpose with or without fee is hereby granted, provided that the above
670f041f9Sjoerg# copyright notice and this permission notice appear in all copies.
770f041f9Sjoerg#
870f041f9Sjoerg# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
970f041f9Sjoerg# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1070f041f9Sjoerg# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1170f041f9Sjoerg# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1270f041f9Sjoerg# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1370f041f9Sjoerg# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1470f041f9Sjoerg# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1570f041f9Sjoerg
1670f041f9Sjoergif [ `id -u` -eq 0 ]; then
1770f041f9Sjoerg  echo "$0: do not run me as root"
1870f041f9Sjoerg  exit 1
1970f041f9Sjoergfi
2070f041f9Sjoerg
2170f041f9Sjoergif [ $# -eq 0 ]; then
22c9bcef03Schristos  echo "usage: $0 [-h|-u] manual_source_file ..."
2370f041f9Sjoerg  exit 1
2470f041f9Sjoergfi
2570f041f9Sjoerg
26fec65c98Schristosif [ "X$1" = "X-h" ]; then
27fec65c98Schristos  shift
28fec65c98Schristos  export PATH="/usr/local/heirloom-doctools/bin:$PATH"
29fec65c98Schristos  EQN="neqn"
30fec65c98Schristos  ROFF="nroff"
31c9bcef03Schristos  MOPT="-Ios=BSD -Tascii $MOPT"
32c9bcef03Schristos  COLPIPE="col -b"
33c9bcef03Schristoselif [ "X$1" = "X-u" ]; then
34c9bcef03Schristos  shift
35c9bcef03Schristos  ROFF="groff -ket -ww -Tutf8 -P -c"
36c9bcef03Schristos  MOPT="-Ios=OpenBSD -Wall -Tutf8 $MOPT"
37c9bcef03Schristos  COLPIPE="cat"
38fec65c98Schristoselse
39*544c191cSchristos  ROFF="groff -ket -ww -mtty-char -Tascii -P -c"
40c9bcef03Schristos  MOPT="-Ios=OpenBSD -Wall -Tascii $MOPT"
41c9bcef03Schristos  COLPIPE="cat"
42fec65c98Schristosfi
43fec65c98Schristos
4470f041f9Sjoergwhile [ -n "$1" ]; do
4570f041f9Sjoerg  file=$1
4670f041f9Sjoerg  shift
4770f041f9Sjoerg  echo " ========== $file ========== "
48c9bcef03Schristos  $ROFF -mandoc $file | $COLPIPE 2> /tmp/roff.err > /tmp/roff.out
49c9bcef03Schristos  ${MANDOC:=mandoc} $MOPT $file | $COLPIPE \
509ff1f2acSchristos    2> /tmp/mandoc.err > /tmp/mandoc.out
51fec65c98Schristos  for i in roff mandoc; do
52c9bcef03Schristos    [ -s /tmp/$i.err ] && echo "$i errors:" && cat /tmp/$i.err
53fec65c98Schristos  done
54*544c191cSchristos  diff -au $DIFFOPT /tmp/roff.out /tmp/mandoc.out 2>&1
5570f041f9Sjoergdone
5670f041f9Sjoerg
5770f041f9Sjoergexit 0
58