* tools/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets a chance to use his preferred version of Perl. This is typically required by Darwin users whose default /usr/bin/perl do not have all the libraries required by help2man, and who need to use their MacPorts installation of Perl instead.
62 lines
1.9 KiB
Bash
62 lines
1.9 KiB
Bash
#! /bin/sh
|
|
#
|
|
# Copyright (C) 2001-2012 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 <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
# 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
|