#!/bin/sh

# Don't hack this script by hand if it's in one of your PATH directories.
# Instead, modify the pre-script in the YODL source package and do a 
# "make installscripts".

#################################################### Print error msg and die.
error()
{
    echo yodl2dvi: $@ 1>&2
    exit 1
}

################################################### Print usage info and die.
usage()
{
    cat << ENDUSAGE
    
ICCE YODL to dvi conversion driver V1.22_
Copyright (c) K. Kubat / ICCE 1996. All rights reserved.
Another MegaHard Production!

Usage: yodl2dvi [flags] file
Where:
    flags: Options for processing, run "yodl" without arguments to see
    file:  Input file, extension .yo assumed
This converter runs "yodl2tex" to convert the input file to LaTeX format, 
then runs "latex" to convert it to dvi format. The LaTeX job is repeated
up to three times when necessary.

ENDUSAGE

    exit 1
}

###################################################### Start of main program.

# get all flags
flags=""
inf=""
while [ "$1" != "" ] ; do
    case $1 in
        -*)
            # if you don't have bash, use
            # flags=`echo $flags $1`
            flags="$flags $1"
            shift
            ;;
        *)
            inf=$1
            shift
            ;;
    esac
done

# no input file, nogo
if [ "$inf" = "" ] ; then
    usage
fi

# determine output file, logfile, dvi file
# if you don't have bash, use:
# echo $inf | grep '\.yo' > /dev/null 2>&1
# if [ $? -eq 0 ] ; then
#     texf=`echo $inf | sed 's/\.yo/.tex/'`
#     logf=`echo $inf | sed 's/\.yo/.log/'`
#     dvif=`echo $inf | sed 's/\.yo/.dvi/'`
# else
#     texf=`echo $inf.tex`
#     logf=`echo $inf.log`
#     dvif=`echo $inf.dvi`
# fi
texf=${inf%%.yo}.tex
logf=${inf%%.yo}.log
dvif=${inf%%.yo}.dvi

yodl2tex $flags $inf || error "YODL to LaTeX conversion failed"
latex $texf || error "First LaTeX to dvi conversion failed"
grep Warning $logf > /dev/null 2>&1
if [ $? -eq 0 ] ; then
    latex $texf || error "Second LaTeX to dvi conversion failed"
fi
grep Warning $logf > /dev/null 2>&1
if [ $? -eq 0 ] ; then
    latex $texf || error "Third LaTeX to dvi conversion failed"
fi
