# -*- 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. For ecc 7.1, because of the # overlapping definitions of int64_t(starting from int8_t) in sys/types.h # and stdint.h, we added -D__GNUC__ to CFLAGS. # This problem is no longer true and the -D_GNUC__ actually caused failure. # So it is removed. case $CC_BASENAME in ecc|icc) # Default to C99 standard. CFLAGS="${CFLAGS:--std=c99}" DEBUG_CFLAGS="-w2 -Wall -g -O0" DEBUG_CPPFLAGS= PROD_CFLAGS="" # ecc has -O2 as default PROD_CPPFLAGS= PROFILE_CFLAGS="-p" PROFILE_CPPFLAGS= ;; 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 # Use Intel Fortran compiler by default. if test "X-$F9X" = "X-"; then F9X="ifort" fi 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" 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 ;; *) 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 "X$f9x_flags_set" = "X"; then F9XSUFFIXFLAG="" FSEARCH_DIRS="" FFLAGS="$FFLAGS" DEBUG_FFLAGS="" PROD_FFLAGS="" PROFILE_FFLAGS="" f9x_flags_set=yes fi # The Default settings for C++ if test -z "$CXX"; then CXX=icc CXX_BASENAME=icc fi # A patch to make g++ getting the default settings. # CXX_BASENAME should have been set in configure. if test $CXX = g++; then CXX_BASENAME=g++ if 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