From 2ac614f94decfff417beece73441fb80acba64f6 Mon Sep 17 00:00:00 2001 From: Albert Cheng Date: Tue, 28 Feb 2012 07:32:22 -0500 Subject: [svn-r21997] Feature: HDFFV-7793: AIX Fortran and C++ Compiler version information Added code to display the version information of XL fortran and C++ compiler version information. (This is just a quick fix for the AIX XL compilers. The overall algorithm of compilers version information needs an overhaul.) Tested: ADA machine. (No committest because the changes applied to AIX XL compilers only.) --- config/ibm-aix | 74 +++++++++++++++++++++++++++----------------------------- config/ibm-flags | 32 ++++++++++++++++++++++-- 2 files changed, 66 insertions(+), 40 deletions(-) diff --git a/config/ibm-aix b/config/ibm-aix index ff541bc..c8b1fc3 100644 --- a/config/ibm-aix +++ b/config/ibm-aix @@ -39,6 +39,42 @@ if test "X-$enable_parallel" = "X-yes" -o X-$CC_BASENAME = X-mpcc_r; then RUNPARALLEL=${RUNPARALLEL="env MP_PROCS=\$\${NPROCS:=6} MP_TASKS_PER_NODE=\$\${NPROCS:=6} poe"} fi +# The default Fortran 90 compiler + +if test "X-" = "X-$FC"; then + if test "X-$enable_parallel" = "X-yes"; then + FC=mpxlf90_r + else + FC=xlf90 + fi +fi + +# While we try to avoid setting FCFLAGS directly for use in compilation, in +# this case we need the -k flag present for some configure checks. As such, +# the configure script saves the user's set FCFLAGS before running, and +# restores them when complete. We must then set up both FCFLAGS and H5_FCFLAGS +# to ensure the flag is present for both configure as well as for the build. +if test "X-" = "X-$f9x_flags_set"; then + F9XSUFFIXFLAG="-qsuffix=f=f90" + FCFLAGS="$FCFLAGS -O ${F9XSUFFIXFLAG}" + H5_FCFLAGS="$H5_FCFLAGS -O ${F9XSUFFIXFLAG}" + FSEARCH_DIRS="-I./ -I../src" + DEBUG_FCFLAGS="-O" + PROD_FCFLAGS="-O" + PROFILE_FCFLAGS="-O" + f9x_flags_set=yes +fi + +# The default C++ compiler + +# Use AIX supplied C++ compiler by default. +CXX=${CXX=xlC} + +# Added -qweaksymbol to suppress linker messages warning of duplicate +# symbols; these warnings are harmless. - BMR +H5_CXXFLAGS="$H5_CXXFLAGS -qweaksymbol" +AM_CXXFLAGS="$AM_CXXFLAGS" + #---------------------------------------------------------------------------- # Compiler flags. The CPPFLAGS values should not include package debug @@ -112,41 +148,3 @@ ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t=8} # Don't cache long since it varies between 32 and 64 bits #ac_cv_sizeof_long=${ac_cv_sizeof_long=4} - -# The default Fortran 90 compiler - -if test "X-" = "X-$FC"; then - if test "X-$enable_parallel" = "X-yes"; then - FC=mpxlf90_r - else - FC=xlf90 - fi -fi - -# While we try to avoid setting FCFLAGS directly for use in compilation, in -# this case we need the -k flag present for some configure checks. As such, -# the configure script saves the user's set FCFLAGS before running, and -# restores them when complete. We must then set up both FCFLAGS and H5_FCFLAGS -# to ensure the flag is present for both configure as well as for the build. -if test "X-" = "X-$f9x_flags_set"; then - F9XSUFFIXFLAG="-qsuffix=f=f90" - FCFLAGS="$FCFLAGS -O ${F9XSUFFIXFLAG}" - H5_FCFLAGS="$H5_FCFLAGS -O ${F9XSUFFIXFLAG}" - FSEARCH_DIRS="-I./ -I../src" - DEBUG_FCFLAGS="-O" - PROD_FCFLAGS="-O" - PROFILE_FCFLAGS="-O" - f9x_flags_set=yes -fi - -# The default C++ compiler - -# Use AIX supplied C++ compiler by default. -CXX=${CXX=xlC} - -# Added -qweaksymbol to suppress linker messages warning of duplicate -# symbols; these warnings are harmless. - BMR -H5_CXXFLAGS="$H5_CXXFLAGS -qweaksymbol" -AM_CXXFLAGS="$AM_CXXFLAGS" - - diff --git a/config/ibm-flags b/config/ibm-flags index 5e092b8..a1dfa2a 100644 --- a/config/ibm-flags +++ b/config/ibm-flags @@ -19,8 +19,8 @@ # if the compiler is not IBM; otherwise `cc_flags_set' is set to `yes' # -# Get the compiler version in a way that works for pgcc -# pgcc unless a compiler version is already known +# Get the compiler version in a way that works for XL compiler +# unless a compiler version is already defined. # # cc_vendor: The compiler product name: XL # cc_version: Version number: 10.1 @@ -75,3 +75,31 @@ if test "X-$cc_flags_set" = "X-"; then cc_version= cc_version_info= fi + + +# get fortran version info +if test X != X$FC; then + # Verify this is an IBM XL compiler + fc_version="`$FC $FCFLAGS -qversion 2>&1 | grep 'IBM XL Fortran'`" + if test X != "X$fc_version"; then + fc_vendor="XL" + fc_version="`$FC $FCFLAGS -qversion 2>&1 | sed -n 's/Version: \([0-9\.]*\).*/\1/p'`" + fc_version_info="IBM XL Fortran $fc_version" + echo "compiler '$FC' is IBM $fc_vendor-$fc_version" + + fi +fi + + +# get c++ version info +if test X != X$CXX; then + # Verify this is an IBM XL compiler + cxx_version="`$CXX $CXXFLAGS -qversion 2>&1 | grep 'IBM XL C/C++'`" + if test X != "X$cxx_version"; then + cxx_vendor="XL" + cxx_version="`$CXX $CXXFLAGS -qversion 2>&1 | sed -n 's/Version: \([0-9\.]*\).*/\1/p'`" + cxx_version_info="IBM XL C/C++ $cxx_version" + echo "compiler '$CXX' is IBM $cxx_vendor-$cxx_version" + + fi +fi -- cgit v0.12