#!/bin/sh
# Written by Thomas Esser.  Public domain.
# Execute texi2dvi --pdf.

test -f /bin/bsh && test -z "$RUNNING_BSH" \
  && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
  && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
unset RUNNING_BSH

# hack around a bug in zsh:
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'

# special-case --version following GNU standards for identifying the
# program name.  If --version is specified as other than the first
# argument, we don't output the standard name, but then, we're not
# obliged to.
if test "x$1" = x--version; then
  cat <<EOF
texi2pdf (GNU Texinfo 7.3dev)

Copyright (C) 2026 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
EOF
  exit 0
fi

texi2dvi --pdf ${1+"$@"}
