#!@R_SHELL@
#
# ${R_HOME}/bin/Rcmd

## Shell script wrapper for all R CMD commands.
## For internal use only.

test ${#} -eq 0 && exec "${R_HOME}/bin/R" --help

R_CMD="${R_HOME}/bin/Rcmd"
export R_CMD

R_VERSION=@PACKAGE_VERSION@
export R_VERSION

R_OSTYPE="unix"
export R_OSTYPE

## Append 'share/texmf/...' to TeX's input search path.
if test -z "${TEXINPUTS}"; then
  TEXINPUTS=".:${R_SHARE_DIR}/texmf/tex/latex:"
else
  TEXINPUTS=".:${TEXINPUTS}:${R_SHARE_DIR}/texmf/tex/latex:"
fi
export TEXINPUTS
if test -z "${BIBINPUTS}"; then
  BIBINPUTS=".:${R_SHARE_DIR}/texmf/bibtex/bib:"
else
  BIBINPUTS=".:${BIBINPUTS}:${R_SHARE_DIR}/texmf/bibtex/bib:"
fi
export BIBINPUTS
if test -z "${BSTINPUTS}"; then
  BSTINPUTS=".:${R_SHARE_DIR}/texmf/bibtex/bst:"
else
  BSTINPUTS=".:${BSTINPUTS}:${R_SHARE_DIR}/texmf/bibtex/bst:"
fi
export BSTINPUTS

. "${R_HOME}/etc${R_ARCH}/Renviron"
export `sed 's/^ *#.*//; s/^\([^=]*\)=.*/\1/' "${R_HOME}/etc${R_ARCH}/Renviron"`

extra=
case "${1}" in
## this was a separate command prior to 2.10.0
  Rd2txt)
    cmd="${R_HOME}/bin/Rdconv"
    extra="-t txt"
    ;;
## removed in 2.15.0
  Rd2dvi)
    echo "R CMD Rd2dvi is defunct: use Rd2pdf instead"
    exit 1
    ;;
  *)
    if test -x "${R_HOME}/bin/${1}"; then
      cmd="${R_HOME}/bin/${1}"
    else
      cmd="${1}"
    fi
    ;;
esac
shift

exec "${cmd}" ${extra} "${@}"

### Local Variables: ***
### mode: sh ***
### sh-indentation: 2 ***
### End: ***
