#!/bin/sh
#
# Copyright 1998-2001, University of Notre Dame.
# Authors: Jeffrey M. Squyres, Arun Rodrigues, and Brian Barrett with
#          Kinis L. Meyer, M. D. McNally, and Andrew Lumsdaine
# 
# This file is part of the Notre Dame LAM implementation of MPI.
# 
# You should have received a copy of the License Agreement for the Notre
# Dame LAM implementation of MPI along with the software; see the file
# LICENSE.  If not, contact Office of Research, University of Notre
# Dame, Notre Dame, IN 46556.
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted subject to the conditions specified in the
# LICENSE file.
# 
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# 
# Additional copyrights may follow.
# 
#
#       $Id: hcp.in,v 6.13 2000/10/12 18:10:01 jsquyres 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 $*
