#!/bin/sh
#
# Copyright (c) 2001-2002 The Trustees of Indiana University.  
#                         All rights reserved.
# Copyright (c) 1998-2001 University of Notre Dame. 
#                         All rights reserved.
# Copyright (c) 1994-1998 The Ohio State University.  
#                         All rights reserved.
# 
# This file is part of the LAM/MPI software package.  For license
# information, see the LICENSE file in the top level directory of the
# LAM/MPI source distribution.
# 
#
#       $Id: hcp.in,v 6.13.2.1 2002/10/09 19:49:58 brbarret Exp $
#
#	Function:	- C++ wrapper for hcc
#                       - ensure that we get the C++ compiler selected 
#                         in ./configure
#                       - also ensure that we call the "right" hcc
#

set +u

test -n "$LAMHCP"
if [ $? -eq 0 ]; then
	LAMHCC="$LAMHCP"
else
	LAMHCC="c++"
fi

# We need to tell hcc that we're compiling C++ so that it can
# [potentially] insert the --mode flags that libtool will need, since
# libtool doesn't [yet] understand C++ compiler/options to infer the
# mode.

LAM_IS_COMPILING_CPP=yes
prefix="/usr/local"
exec_prefix="${prefix}"
bindir="${exec_prefix}/bin"
LAM_THREADCXXFLAGS=""
LAM_SYSLIBS=" -lutil  "
LAM_DIRNAME="`dirname $0`"

#
# Allow a LAMHOME environment variable to override where we look for hcc
#

if test "$LAMHOME" != "" -a -x $LAMHOME/bin/hcc; then
    LAM_DIR="$LAMHOME/bin/"

    unset TROLLIUSHOME

#
# If we didn't find LAMHOME, try TROLLIUSHOME
#

elif test "$TROLLIUSHOME" != "" -a -x $TROLLIUSHOME/bin/hcc; then
    LAM_DIR="$TROLLIUSHOME/bin/"

    unset LAMHOME

#
# This case is for the twisted logic of building the C++ bindings
# inside of LAM/MPI.  It makes the assumption that the $prefix will be
# *inside the LAM source tree* (yes, you read that right), hence the
# extra tests for $LAM_TOP_BUILDDIR and $LAM_TOP_SRCDIR.  This
# specifically assumes that the C++ bindings will *not* be built
# outside of the LAM/MPI build process.
#

elif test -x $bindir/hcc -a "$?LAM_TOP_BUILDDIR" = "1" -a "$?LAM_TOP_SRCDIR" = "1"; then
    LAM_DIR="$bindir/"

    unset LAMHOME
    unset TROLLIUSHOME

#
# If we were invoked with a absolute or relative pathname to hcp, try
# to find hcc there
#

elif test "$LAM_DIRNAME" != "" -a -x "$LAM_DIRNAME/hcc"; then
    LAM_DIR="$LAM_DIRNAME/"

    unset LAMHOME
    unset TROLLIUSHOME

#
# Otherwise, punt, and rely on the user's path to find hcc.
#

else
    LAM_DIR=""

    unset LAMHOME
    unset TROLLIUSHOME
fi

export LAMHCC LAM_IS_COMPILING_CPP
unset prefix exec_prefix bindir

exec ${LAM_DIR}hcc $*
