#!/bin/sh

# Build ratiox script and delivery files for ratio.

if [ "$ILT_DIR" = "" ]
then echo "** ILT_DIR is not set!" >&2
     echo "Please set up your development environment first." >&2
     echo "Follow instructions in ilt3r13/talk/<port>/START" >&2
     exit 1
fi

PORTNAME=`echo "(string (port-name))" | italk -no-init-file -silent 2>/dev/null | tail -1 | sed -e "s/^.//" -e "s/.$//" `

case `uname` in
AIX)  CC="xlC -+" ; PORTNAME=rs6000 ; break;;
OSF1) CC=cxx      ; break;;
*)    CC=CC       ; break;;
esac

CMAIN_DIR=$ILT_DIR/talk/contrib/cmain
PLAY_DIR=$HOME/talk-play

# be cautious
set -ex

for sourcefile in ratioe.t ratioe.td ratio.cc ratio.h ratiox.td
do
   cp $CMAIN_DIR/src/$sourcefile $PLAY_DIR/src/.
   chmod +w $PLAY_DIR/src/$sourcefile
done

$CC -c $PLAY_DIR/src/ratio.cc -I$ILT_DIR/talk/common -I$PLAY_DIR/src -o $PLAY_DIR/$PORTNAME/o/ratio.o

italk -no-init-file -silent << !
(progn
  ;; usual set-up
  (pushf (workspace-path) #f"${HOME}/talk-play/src")
  (setf (default-workspace) 'playws) ;; or your favorite default workspace
  (in-workspaces '(talkws))
  ;; build the Talk ratio module
  (analyze-program-unit 'ratioe buildp: t)
  ;; build the Talk ratio pseudo-executable
  (analyze-program-unit 'ratiox buildp: t)
  (exit))
!
