#!/bin/csh -f
#
# Link PCE version 4 with Prolog and install the executable
# Copyright 1991, 1992, University of Amsterdam
#
# To install PCE with SWI-Prolog 1.5 or SICStus Prolog 2.1#6 set the
# following variables if you don't like the defaults defined below.
#
#   setenv PCEBINDIR	/usr/local/bin	Installation directory for PCE
#   setenv PCEHOME	`pwd`		Base directory for PCE
#   setenv PCENAME	xpce		Name of PCE
#
#   For SICStus only:
#
#   setenv PCESICS	pcesicstus	Name of XPCE/SICStus
#   setenv SICSHOME	/usr/local/sicstus2.1
#    					Installation dir of SICStus Prolog
#
#
#   Usage:
#	./build		Build XPCE/SWI-Prolog
#	./build sicstus	Build XPCE/SICStus
#
# Last update: November 1996 for version 4.4.7
#

if ( ! $?PCEHOME ) 	setenv PCEHOME   `pwd`
if ( ! $?PCENAME )	setenv PCENAME   xpce
if ( ! $?PCESICS ) 	setenv PCESICS	 pcesicstus
if ( ! $?PCEBINDIR )	setenv PCEBINDIR /usr/local/bin
if ( ! $?PCEXBASE ) 	setenv PCEXBASE  /usr
if ( ! $?SICSHOME ) 	setenv SICSHOME  /usr/local/sicstus2.1

set FLAGS=""
set fake=0
while ( $1 =~ -* )
      if ( $1 =~ -n ) set fake=1
      set FLAGS=($FLAGS $1)
      shift
end

if ( $1 == "" ) then
    set HOST=pl
else
    set HOST=$1
endif

if ( ! -f .parms ) touch .parms
if ( `cat .parms` != $PCEHOME ) then
    echo $PCEHOME > .parms
endif

if ( -f .clean ) then
    ( cd src; ./make clean )
    rm -f .clean
endif

# Make the PCE object files

echo "(cd src; ./make XPCE.a)"
if ( ! { (cd src; ./make XPCE.a) } ) exit $status

# Installing defaults-file

if ( $?XAPPLRESDIR ) then
    set defaultsdir=$XAPPLRESDIR
else
    set defaultsdir=/usr/lib/X11/app-defaults
endif

if ( -d $defaultsdir ) then
    if ( -e $defaultsdir/Pce ) then
	if ( ! { cmp -s Pce $defaultsdir/Pce } ) then
	    echo -n "Defaults database 'Pce' has changed; reinstall (y/n)? "
	    if ( $< == y ) cp Pce $defaultsdir
	endif
    else
	cp Pce $defaultsdir
    endif
else
    echo "[WARNING: Failed to install Pce defaults file in $defaultsdir"
    echo "Continuing the installation.]"
endif


# LINKING PROLOG TO PCE

switch ( $HOST )
  case pl*:
    setenv CANONICAL_PATHS $PCEHOME
    echo "( cd pl/src ; ./make TARGET=$PCEBINDIR/$PCENAME )"
    ( cd pl/src ; ./make TARGET=$PCEBINDIR/$PCENAME)
    exit $status
  case sics*:
    set make = (./make TARGET=$PCEBINDIR/$PCESICS \
	               SICSHOME=$SICSHOME \
		       PCEHOME=$PCEHOME)
    echo "( cd sicstus/src ; $make )"
    ( cd sicstus/src ; $make )
    exit $status
  default:
    echo "[ERROR: Don't know how to link to host language $HOST]"
endsw

