#!/bin/sh
#
# Copyright 1998-2001, University of Notre Dame.
# Authors: Jeffrey M. Squyres and Arun Rodrigues with Brian Barrett,
#          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.
# 
# Permission to modify the code and to distribute modified code is
# granted, provided the text of this NOTICE is retained, a notice that
# the code was modified is included with the above COPYRIGHT NOTICE and
# with the COPYRIGHT NOTICE in the LICENSE file, and that the LICENSE
# file is distributed with the modified code.
# 
# LICENSOR MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED.
# By way of example, but not limitation, Licensor MAKES NO
# REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
# PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE COMPONENTS
# OR DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS
# OR OTHER RIGHTS.
# 
# 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"
exec_prefix="/usr"
bindir="/usr/bin"
LAM_THREADCXXFLAGS=""
LAM_SYSLIBS=" -lnsl -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 $*
