#							-*- shell-script -*-
#
# 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://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
# access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.


# 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 & Fortran compiler by default.
if test "X-" =  "X-$CC"; then
    CC=icc
    CC_BASENAME=icc
fi
if test "X-" =  "X-$F9X"; then
    F9X=ifort
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

#
# HDF5 integers
#
#       R_LARGE is the number of digits for the bigest integer supported.
#       R_INTEGER is the number of digits in INTEGER
#
# (for the Linux architechture)
#

R_LARGE=18
R_INTEGER=9

case $F9X 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_FFLAGS='-fpp -DDEC$=DEC_ -DMS$=MS_ -Vaxlib'
	FFLAGS="$FFLAGS $MORE_FFLAGS"
	HADDR_T='SELECTED_INT_KIND(R_LARGE)'
	HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
	HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
	HID_T='SELECTED_INT_KIND(R_INTEGER)'
	SIZE_T='SELECTED_INT_KIND(R_LARGE)'
	OBJECT_NAMELEN_DEFAULT_F=-1
	f9x_flags_set=yes
	;;
    *)
	HADDR_T='SELECTED_INT_KIND(R_LARGE)'
	HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
	HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
	HID_T='SELECTED_INT_KIND(R_INTEGER)'
	SIZE_T='SELECTED_INT_KIND(R_LARGE)'
	OBJECT_NAMELEN_DEFAULT_F=-1
	f9x_flags_set=yes
	;;
esac

# The following is not right and need work.
if test -z "$f9x_flags_set"; then
    F9XSUFFIXFLAG=""
    FSEARCH_DIRS=""
    FFLAGS="$FFLAGS"
    DEBUG_FFLAGS=""
    PROD_FFLAGS=""
    PROFILE_FFLAGS=""
    f9x_flags_set=yes
fi
