# -*- shell-script -*- # # Copyright by The HDF Group. # 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 COPYING file, which can be found at the root of the source code # distribution tree, or in https://www.hdfgroup.org/licenses. # 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 `sunpro cc' if test "X-" = "X-$CC"; then CC=cc CC_BASENAME=cc fi # Try gcc compiler flags . $srcdir/config/gnu-flags # Try solaris native compiler flags if test "X-" = "X-$cc_flags_set"; then # HDF5 must be built with a C99 compiler on Solaris # -erroff=%none turns on all warnings H5_CFLAGS="$H5_CFLAGS -xc99=all -erroff=%none" # Production # NDEBUG is handled explicitly by the configure script PROD_CFLAGS= # Debug # NDEBUG is handled explicitly by the configure script # -g is handled by the symbols flags DEBUG_CFLAGS= # Symbols # -g produces output for dbx, NOT gdb. You can use "gdb on" from # inside gdb to use gdb commands if you need to debug. # If you want a LOT of debugging information (at the expense of # really slow code), try using -g3. That will even let you debug # into macros. # -s strips symbols, as in gcc NO_SYMBOLS_CFLAGS="-s" SYMBOLS_CFLAGS="-g" # Profile # This produces profiling output for gprof. If you want to use # the Solaris profiler, use -xprofile instead. PROFILE_CFLAGS="-xpg" # Optimization # -O has switched to -xO{1|2|3|4|5}. -xO3 is probably a good compromise # for the daily tests, but you might want to switch to -xO2 or lower # if you are actively debugging. HIGH_OPT_CFLAGS="-xO5" DEBUG_OPT_CFLAGS="-xO3" NO_OPT_CFLAGS= cc_flags_set=yes # Special linking flag is needed to build with Fortran on Solaris 5.9 system_version="`uname -r`" case "$system_version" in 5.9*) # Need the xopenmp flag to build the Fortran library if test X-$enable_fortran = X-yes; then AM_LDFLAGS="$AM_LDFLAGS -xopenmp=stubs" fi ;; esac fi LIBS="$LIBS" # The default Fortran 90 compiler if test "X-" = "X-$FC"; then FC=f90 fi if test "X-" = "X-$f9x_flags_set"; then F9XSUFFIXFLAG="" FSEARCH_DIRS="" H5_FCFLAGS="$H5_FCFLAGS" # TODO: Revisit these flags. # Production # NDEBUG is handled explicitly by the configure script PROD_FCFLAGS= # Debug # NDEBUG is handled explicitly by the configure script # -g is handled by the symbols flags DEBUG_FCFLAGS= # Symbols NO_SYMBOLS_FCFLAGS= SYMBOLS_FCFLAGS="-g" # Profile PROFILE_FCFLAGS= # Optimization # -g produces rather slow code. "-g -O" produces much faster code with some # loss of debugger functions such as not able to print local variables. HIGH_OPT_FCFLAGS="-O2" DEBUG_OPT_FCFLAGS="-O" NO_OPT_FCFLAGS= f9x_flags_set=yes fi # The default C++ compiler # The default compiler is `sunpro cc' if test -z "$CXX"; then CXX=CC CXX_BASENAME=CC fi # Try gcc compiler flags #. $srcdir/config/gnu-flags cxx_version="`$CXX -V 2>&1 |grep 'WorkShop' |\ sed 's/.*WorkShop.*C++ \([0-9\.]*\).*/\1/'`" cxx_vers_major=`echo $cxx_version | cut -f1 -d.` cxx_vers_minor=`echo $cxx_version | cut -f2 -d.` cxx_vers_patch=`echo $cxx_version | cut -f3 -d.` # Specify the "-features=tmplife" if the compiler can handle this... if test -n "$cxx_version"; then if test $cxx_vers_major -ge 5 -a $cxx_vers_minor -ge 3 -o $cxx_vers_major -gt 5; then H5_CXXFLAGS="$H5_CXXFLAGS -features=tmplife" fi fi # Try solaris native compiler flags if test -z "$cxx_flags_set"; then H5_CXXFLAGS="$H5_CXXFLAGS -instances=static" H5_CPPFLAGS="$H5_CPPFLAGS -LANG:std" # Production # NDEBUG is handled explicitly by the configure script PROD_CXXFLAGS= # Debug # NDEBUG is handled explicitly by the configure script # -g is handled by the symbols flags DEBUG_CXXFLAGS= # Symbols NO_SYMBOLS_CXXFLAGS="-s" SYMBOLS_CXXFLAGS="-g" # Profile PROFILE_CXXFLAGS="-xpg" # Optimization # -g produces rather slow code. "-g -O" produces much faster code with some # loss of debugger functions such as not able to print local variables. HIGH_OPT_CXXFLAGS="-O" DEBUG_OPT_CXXFLAGS="-O" NO_OPT_CXXFLAGS= cxx_flags_set=yes fi # compiler version strings case $CC in *cc*) cc_version_info=`$CC $CFLAGS $H5_CFLAGS -V 2>&1 | grep 'Sun' |\ sed 's/.*\(Sun .*\)/\1 /'` ;; *) echo "No match to get cc_version_info for $CC" ;; esac echo "C compiler '$CC' is $cc_version_info" case $FC in # The PGI and Intel compilers are automatically detected below *f90*) fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Sun' |\ sed 's/.*\(Sun .*\)/\1 /'` ;; *) echo "No match to get fc_version_info for $FC" ;; esac echo "Fortran compiler '$FC' is $fc_version_info" # get c++ version info case $CXX in *CC*) cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'Sun' |\ sed 's/.*\(Sun .*\)/\1 /'` ;; *) echo "No match to get cxx_version_info for $CXX" ;; esac