#! /bin/sh
##
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
##
# This tool is adapted from the mpicc command of the MPICH Software.
############################################################################
## ##
## Things You May Have to Modify: ##
## ##
## If the following paths don't point to the place were HDF5 is installed ##
## on your system (i.e., you received a binary distribution or moved the ##
## files from the originally installed directory to another directory) ##
## then modify them accordingly to represent the new paths. ##
## ##
############################################################################
prefix="/Users/epourmal/Working/_release_testing/hdf5-1.6.7/Mac-Intel-static"
exec_prefix="${prefix}"
libdir="${exec_prefix}/lib"
includedir="${prefix}/include"
HL="hl"
############################################################################
## ##
## You shouldn't have to modify anything below this line. ##
## ##
############################################################################
host_os="darwin8.11.1"
prog_name="`basename $0`"
allargs=""
compile_args=""
libraries=""
link_args=""
link_objs=""
clibpath=""
do_link="yes"
do_compile="no"
dash_o="no"
dash_c="no"
get_output_file="no"
SHOW="eval"
CXXBASE="g++"
CXXLINKERBASE="g++"
CXXFLAGS=" -O2 "
CPPFLAGS=" -I/Users/epourmal/Working/lib/SZIP/include"
LDFLAGS=" -L/Users/epourmal/Working/lib/SZIP/lib"
LIBS="-lsz -lz -lm "
CXX="${HDF5_CXX:-$CXXBASE}"
CXXLINKER="${HDF5_CLINKER:-$CXXLINKERBASE}"
USE_SHARED_LIB="${HDF5_USE_SHLIB:-no}"
usage() {
# A wonderfully informative "usage" message.
echo "usage: $prog_name [OPTIONS] "
echo " OPTIONS:"
echo " -help This help message."
echo " -echo Show all the shell commands executed"
echo " -prefix=DIR Prefix directory to find HDF5 lib/ and include/"
echo " subdirectories [default: $prefix]"
echo " -show Show the commands without executing them"
echo " -showconfig Show the HDF5 library configuration summary"
echo " "
echo " - the normal compile line options for your compiler."
echo " $prog_name uses the same compiler you used to compile"
echo " HDF5. Check with your compiler's man pages for more"
echo " information on which options are needed."
echo " "
echo " You can override the compiler, linker, and whether or not to use static"
echo " or shared libraries to compile your program by setting the following"
echo " environment variables accordingly:"
echo " "
echo " HDF5_CXX - use a different C++ compiler"
echo " HDF5_CXXLINKER - use a different linker"
echo " "
exit 1
}
# Show the configuration summary of the library recorded in the
# libhdf5_cpp.settings file reside in the lib directory.
showconfigure()
{
cat ${libdir}/libhdf5_cpp.settings
status=$?
}
# Main
status=0
if test "$#" = "0"; then
# No parameters specified, issue usage statement and exit.
usage
fi
case "$CXX" in
gcc)
kind="gcc"
;;
mpicc|mpcc|mpicc_r)
# Is this gcc masquarading as an MPI compiler?
if test "`${CXX} -v 2>&1 | sed -n 2p | cut -c1-3`" = "gcc"; then
kind="gcc"
else
# Nope
kind="$host_os"
fi
;;
*)
kind="$host_os"
;;
esac
for arg in $@ ; do
if test "x$get_output_file" = "xyes"; then
link_args="$link_args $arg"
output_file="$arg"
get_output_file="no"
continue
fi
case "$arg" in
-c)
allargs="$allargs $arg"
compile_args="$compile_args $arg"
if test "x$do_link" = "xyes" -a -n "$output_file"; then
compile_args="$compile_args -o $outputfile"
fi
do_link="no"
dash_c="yes"
;;
-o)
allargs="$allargs $arg"
dash_o="yes"
if test "x$dash_c" = "xyes"; then
compile_args="$compile_args $arg"
else
link_args="$link_args $arg"
do_link="yes"
get_output_file="yes"
fi
;;
-E|-M)
allargs="$allargs $arg"
compile_args="$compile_args $arg"
dash_c="yes"
do_link="no"
;;
-l*)
libraries=" $libraries $arg "
allargs="$allargs $arg"
;;
-prefix=*)
prefix="`expr "$arg" : '-prefix=\(.*\)'`"
;;
-echo)
set -x
;;
-show)
SHOW="echo"
;;
-showconfig)
showconfigure
exit $status
;;
-help)
usage
;;
*\"*)
qarg="'"$arg"'"
allargs="$allargs $qarg"
;;
*\'*)
qarg='\"'"$arg"'\"'
allargs="$allargs $qarg"
;;
*)
allargs="$allargs $qarg"
if [ -s "$arg" ] ; then
ext=`expr "$arg" : '.*\(\..*\)'`
if [ "$ext" = ".C" -o "$ext" = ".cxx" -o "$ext" = ".cpp" -o \
"$ext" = ".cc" -o "$ext" = ".c" -o "$ext" = ".CC" ] ; then
do_compile="yes"
compile_args="$compile_args $arg"
fname=`basename $arg $ext`
link_objs="$link_objs $fname.o"
elif [ "$ext" = ".o" ] ; then
if test "x$dash_c" = "xyes" ; then
compile_args="$compile_args $arg"
else
do_link="yes"
link_objs="$link_objs $arg"
fi
else
compile_args="$compile_args $arg"
link_args="$link_args $arg"
fi
else
compile_args="$compile_args $arg"
link_args="$link_args $arg"
fi
;;
esac
done
if test "$dash_c" = "yes" -a "$do_compile" = no -a "$do_link" = no ; then
# -c was specified. Force do_compile on.
do_compile=yes
fi
if test "x$do_compile" = "xyes"; then
if test "x$dash_c" != "xyes"; then
compile_args="-c $compile_args"
fi
$SHOW $CXX -I$includedir $CPPFLAGS $CXXFLAGS $compile_args
status=$?
if test "$status" != "0"; then
exit $status
fi
fi
if test "x$do_link" = "xyes"; then
# conditionnaly link with the hl library
if test "X$HL" = "Xhl"; then
link_args="$link_args ${libdir}/libhdf5_hl.a ${libdir}/libhdf5_cpp.a ${libdir}/libhdf5.a $LIBS"
else
link_args="$link_args ${libdir}/libhdf5_cpp.a ${libdir}/libhdf5.a $LIBS"
fi
$SHOW $CXXLINKER -I$includedir $CPPFLAGS $CXXFLAGS $LDFLAGS $clibpath $link_objs $link_args
status=$?
fi
exit $status