Import mdocml-1.13.1
[dragonfly.git] / contrib / mdocml / gmdiff
1 #!/bin/sh
2 # Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
3 #
4 # Permission to use, copy, modify, and distribute this software for any
5 # purpose with or without fee is hereby granted, provided that the above
6 # copyright notice and this permission notice appear in all copies.
7 #
8 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
16 if [ `id -u` -eq 0 ]; then
17   echo "$0: do not run me as root"
18   exit 1
19 fi
20
21 if [ $# -eq 0 ]; then
22   echo "usage: $0 manual_source_file ..."
23   exit 1
24 fi
25
26 while [ -n "$1" ]; do
27   file=$1
28   shift
29   echo " ========== $file ========== "
30   tbl $file | groff -mandoc -Tascii -P -c 2> /tmp/groff.err > /tmp/groff.out
31   mandoc -Ios='OpenBSD ports' -Werror $file 2> /tmp/mandoc.err > /tmp/mandoc.out
32   for i in groff mandoc; do
33     [[ -s /tmp/$i.err ]] && echo "$i errors:" && cat /tmp/$i.err
34   done
35   diff -au /tmp/groff.out /tmp/mandoc.out 2>&1
36 done
37
38 exit 0