#!/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\]"