#!/bin/sh
# run-fop: Attempt to run fop (or fop.sh), fail articulately otherwise.
#
# Usage: run-fop.sh [FOP_ARGS...]
#
# This script is meant to be invoked by book translation Makefiles.
# Arguments are passed along to `fop'.
# If the user has a .foprc, source it.
if [ -f ${HOME}/.foprc ]; then
. ${HOME}/.foprc
fi
# The fop of last resort.
DESPERATION_FOP_DIR="`dirname \"$0\"`/../fop"
DESPERATION_FOP_PGM=${DESPERATION_FOP_DIR}/fop.sh
if [ "${FOP_HOME}X" = X ]; then
FOP_HOME=${DESPERATION_FOP_DIR}
export FOP_HOME
fi
# Unfortunately, 'which' seems to behave slightly differently on every
# platform, making it unreliable for shell scripts. Just do it inline
# instead. Also, note that we search for `fop' or `fop.sh', since
# different systems seem to package it different ways.
SAVED_IFS=${IFS}
IFS=:
PATH=${PATH}:${FOP_HOME}
for dir in ${PATH}; do
if [ -x ${dir}/fop -a "${FOP_PGM}X" = X ]; then
FOP_PGM=${dir}/fop
elif [ -x ${dir}/fop.sh -a "${FOP_PGM}X" = X ]; then
FOP_PGM=${dir}/fop.sh
fi
done
IFS=${SAVED_IFS}
if [ "${FOP_PGM}X" = X ]; then
FOP_PGM=${DESPERATION_FOP_PGM}
fi
echo "(Using '${FOP_PGM}' for FOP)"
# FOP is noisy on stdout, and -q doesn't seem to help, so stuff that
# garbage into /dev/null.
${FOP_PGM} $@ | grep -v "\[ERROR\]"
syntax highlighted by Code2HTML, v. 0.9.1