#!/bin/sh

# Copyright (C) 2005  Joshua Hoblitt
#
# $Id: pslib-delta,v 1.6 2005-06-28 21:52:28 jhoblitt Exp $

MODULE=pslib
UTIL_MODULE=utils
ROOTDIR=$HOME/tmp/$0
WORKDIR=$ROOTDIR/work
UTILDIR=$ROOTDIR/$UTIL_MODULE
TEXBLOCK=$UTILDIR/texblock.pl
APIDELTA=$UTILDIR/apidelta.pl
CVS=/usr/bin/cvs
SSH=/usr/bin/ssh

CVS_RSH=$SSH
CVSROOT=cvs.pan-starrs.ifa.hawaii.edu:/cvsroot/pan-starrs
export CVS_RSH CVSROOT

PERL5LIB=$UTILDIR
export PERL5LIB

STARTDIR=`pwd`

# checkout pslib sources

CVS_ERROR=0

if [ ! -d "$ROOTDIR/$MODULE" ] ; then
    mkdir -p $ROOTDIR
    cd $ROOTDIR
    $CVS co $MODULE > /dev/null 2>&1 || CVS_ERROR=1
else
    cd "$ROOTDIR/$MODULE"
    $CVS up -dP > /dev/null 2>&1 || CVS_ERROR=1
fi

if [ $CVS_ERROR -eq 1 ] ; then
    echo "CVS error"
    exit 1;
fi

# checkout utils

CVS_ERROR=0

if [ ! -d "$ROOTDIR/$UTIL_MODULE" ] ; then
    mkdir -p $ROOTDIR
    cd $ROOTDIR
    $CVS co $UTIL_MODULE > /dev/null 2>&1 || CVS_ERROR=1
else
    cd "$ROOTDIR/$UTIL_MODULE"
    $CVS up -dP > /dev/null 2>&1 || CVS_ERROR=1
fi

if [ $CVS_ERROR -eq 1 ] ; then
    echo "CVS error from utils"
    exit 1;
fi

if [ ! -d "$WORKDIR" ] ; then
    mkdir -p $WORKDIR
fi

# compare sources

cd $STARTDIR

find $ROOTDIR/$MODULE/src -name "*.h" -exec cat {} \; > $WORKDIR/pslib.txt
$TEXBLOCK -b prototype -i psLibSDRS.tex > $WORKDIR/sdrs.txt
$TEXBLOCK -b datatype -i psLibSDRS.tex >> $WORKDIR/sdrs.txt
$APIDELTA --color=always --spec $WORKDIR/sdrs.txt --code $WORKDIR/pslib.txt

# cleanup

if [ -d "$WORKDIR" ] ; then
    rm -rf $WORKDIR
fi
