# -*- shell-script -*- # # 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 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. # # See BlankForm in this directory for details. # The default compiler is `gcc'. if test -z "$CC"; then CC=gcc CC_BASENAME=gcc fi # Figure out GNU C compiler flags . $srcdir/config/gnu-flags # Figure out PGI C compiler flags . $srcdir/config/pgi-flags # Figure out Intel C compiler flags . $srcdir/config/intel-flags # Use default Fortran 90 compiler according to what C compiler is used. if test "X-" = "X-$F9X"; then case $CC_BASENAME in gcc*) F9X=g95 F9X_BASENAME=g95 ;; pgcc*) F9X=pgf90 F9X_BASENAME=pgf90 ;; icc*) F9X=ifort F9X_BASENAME=ifort ;; mpicc*) F9X=mpif90 F9X_BASENAME=mpif90 ;; esac fi # Figure out the F9X_BASENAME case $F9X in # The PGI and Intel compilers are automatically detected below ifc*|ifort*|pgf90*) ;; g95|*/g95) F9X_BASENAME=g95 ;; *mpif90) # Probably an MPICH compiler script. Find out what fortran # compiler it uses. version flags used by known complers, # G95: g95 -v # Absoft: f95 -v # Intel: ifort -V # PGI: pgf90 -V # Try both options. tmpfile=/tmp/cmpver.$$ ( $F9X -v; $F9X -V) >$tmpfile 2>&1 if grep 'g95' $tmpfile > /dev/null; then F9X_BASENAME=g95 CFLAGS="$CFLAGS -DH5_G95" elif grep 'Absoft' $tmpfile > /dev/null; then F9X_BASENAME=f95 elif grep 'Portland Group' $tmpfile > /dev/null; then F9X_BASENAME=pgf90 elif grep 'Intel(R)' $tmpfile > /dev/null; then F9X_BASENAME=ifort fi rm -f $tmpfile ;; *) # Figure out which compiler we are using: pgf90 or Absoft f95 RM='rm -f' tmpfile=/tmp/cmpver.$$ $F9X -V >$tmpfile if test -s "$tmpfile"; then if( grep -s 'Absoft' $tmpfile > /dev/null) then F9X_BASENAME=f95 fi if( grep -s 'pgf90' $tmpfile > /dev/null) then F9X_BASENAME=pgf90 fi fi $RM $tmpfile ;; esac # # 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 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_INTEGER)' OBJECT_NAMELEN_DEFAULT_F=-1 # Figure out PGI F90 compiler flags . $srcdir/config/pgi-fflags # Figure out Intel F90 compiler flags . $srcdir/config/intel-fflags case $F9X_BASENAME in # # Absoft compiler # f95) # Set required flag for compiling C stubs CFLAGS="$CFLAGS -DH5_ABSOFT" F9XSUFFIXFLAG="" # We force compiler to use upper case for external names # (just in case since this should be a default EIP) FFLAGS="$FFLAGS -YEXT_NAMES=UCS" FSEARCH_DIRS="" DEBUG_FFLAGS="-g" PROD_FFLAGS="-O" PROFILE_FFLAGS="-g" f9x_flags_set=yes ;; g95) # Set required flag for compiling C stubs CFLAGS="$CFLAGS -DH5_G95" ;; esac