hdf5/config/ia64-linux-gnu

132 lines
3.3 KiB
Plaintext
Raw Normal View History

# -*- shell-script -*-
#
# This file is part of the HDF5 build script. It is processed shortly
# after configure starts and defines, among other things, flags for
# the various compile modes.
# Use Intel C compiler by default (if it's available).
if test "X$CC" = "X" && which icc > /dev/null; then
CC=icc
CC_BASENAME=icc
fi
#----------------------------------------------------------------------------
# Compiler flags. The CPPFLAGS values should not include package debug
# flags like `-DH5G_DEBUG' since these are added with the
# `--enable-debug' switch of configure.
case $CC_BASENAME in
ecc|icc)
. $srcdir/config/intel-flags
;;
gcc)
. $srcdir/config/gnu-flags
;;
*)
CFLAGS="$CFLAGS -ansi"
DEBUG_CFLAGS="-g"
DEBUG_CPPFLAGS=
PROD_CFLAGS="-O"
PROD_CPPFLAGS=
PROFILE_CFLAGS="-pg"
PROFILE_CPPFLAGS=
;;
esac
# The default Fortran 90 compiler
# Use Intel Fortran compiler by default.
if test "X-$FC" = "X-"; then
FC="ifort"
fi
case $FC in
*efc|*ifort)
# this is for efc v7. Older efc do not work with these.
# -Vaxlib is for non-standard fortran calls like exit().
MORE_FCFLAGS='-fpp -DDEC$=DEC_ -DMS$=MS_ -Vaxlib'
FCFLAGS="$FCFLAGS $MORE_FCFLAGS"
f9x_flags_set=yes
;;
*)
f9x_flags_set=yes
;;
esac
# The following is not right and need work.
if test "X$f9x_flags_set" = "X"; then
F9XSUFFIXFLAG=""
FSEARCH_DIRS=""
FCFLAGS="$FCFLAGS"
DEBUG_FCFLAGS=""
PROD_FCFLAGS=""
PROFILE_FCFLAGS=""
f9x_flags_set=yes
fi
# The Default settings for C++
# Intel changed C++ compiler's name from "icc" to "icpc" in version 8.1
if test -z "$CXX"; then
CXX=icpc
CXX_BASENAME=icpc
fi
# A patch to make g++ getting the default settings.
# CXX_BASENAME should have been set in configure.
if test "X$CXX" = "Xg++"; then
CXX_BASENAME=g++
fi
case $CXX_BASENAME in
ecc|icc) # Intel compilers
# Default to C99 standard.
CXXFLAGS="${CXXFLAGS:--std=c99}"
DEBUG_CXXFLAGS="-g -w2 -Wall"
DEBUG_CPPFLAGS=
PROD_CXXFLAGS="" #Default optimization O2 is used
PROD_CPPFLAGS=
PROFILE_CXXFLAGS="-pg"
PROFILE_CPPFLAGS=
;;
g++)
CXXFLAGS="$CXXFLAGS -Wsign-compare" #Only works for some versions
DEBUG_CXXFLAGS="-g -fverbose-asm"
DEBUG_CPPFLAGS=
PROD_CXXFLAGS="-O3 -fomit-frame-pointer"
PROD_CPPFLAGS=
PROFILE_CXXFLAGS="-pg"
PROFILE_CPPFLAGS=
;;
*)
# Default to C99 standard.
CXXFLAGS="${CXXFLAGS:--std=c99}"
DEBUG_CXXFLAGS="-g"
DEBUG_CPPFLAGS=
PROD_CXXFLAGS="-O"
PROD_CPPFLAGS=
PROFILE_CXXFLAGS="-pg"
PROFILE_CPPFLAGS=
;;
esac
# We know that for mpich 1.2.5 and previous version, complicated derived datatype is
# supported, we need to set the macro to hdf5_mpi_complex_derived_datatype_works to no.
# Notice that this fix will only work if the compiler name is mpicc and mpi package is
# mpich 1.x.x.
if [ -z "$hdf5_mpi_complex_derived_datatype_works" -a $CC_BASENAME = mpicc ]; then
ccversion=`$CC -v 2>&1 | sed -e 's/.*for //p'`
ccversion1=`echo $ccversion | cut -f1 -d.`
ccversion2=`echo $ccversion | cut -f2 -d.`
ccversiontemp=`echo $ccversion | cut -f3 -d.`
ccversion3=`echo $ccversiontemp | cut -c1`
ccversionval=`expr $ccversion1 \* 100 + $ccversion2 \* 10 + $ccversion3`
if [ $ccversionval -lt 126 ]; then
hdf5_mpi_complex_derived_datatype_works='no'
fi
fi