[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.)
This commit is contained in:
Albert Cheng 2012-02-28 07:32:22 -05:00
parent fc48c675e1
commit 2ac614f94d
2 changed files with 66 additions and 40 deletions

View File

@ -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"

View File

@ -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