#! /bin/sh # # Copyright (C) 2001-2013 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 3 of the License, 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 program. If not, see . # # This program creates a program's manual from the .x skeleton and its --help # output. # The .x skeleton is a file containing manual page text that is not part of the # --help output. It is passed to help2man via its --include option. Its format # is described in the help2man documentation. update= while true; do case "$1" in --update) update=yes; shift;; *) break;; esac done if test $# != 5; then echo "Usage: x-to-1 [OPTIONS] PERL HELP2MAN executable program.x program.1" 1>&2 exit 1 fi PERL="$1" HELP2MAN="$2" executable="$3" aux="$4" output="$5" progname=`basename $aux .x` case "$PERL" in *"/missing perl") perlok=no;; *) perlok=yes;; esac if test @CROSS_COMPILING@ = no && test -f $executable && test $perlok = yes; then echo "Updating man page $output" echo "$PERL $HELP2MAN --include=$aux $executable > $output" rm -f t-$progname.1 $PERL $HELP2MAN --include=$aux $executable > t-$progname.1 || exit 1 if test -n "$update"; then # In --update mode, don't overwrite the output if nothing would change. if cmp t-$progname.1 $output >/dev/null 2>&1; then rm -f t-$progname.1 else mv t-$progname.1 $output fi else mv t-$progname.1 $output fi else echo "WARNING: The man page $output cannot be updated yet." fi