Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
4.1 KiB

2 years ago
dnl Determine F90 vendor and version string.
AC_DEFUN([WK_FC_GET_VENDOR],
[AC_CACHE_CHECK([the compiler ID],
[wk_cv_prog_f90_version_string],
[$FC -version >conftest.log 2>&1
$FC -V >>conftest.log 2>&1
$FC --version >>conftest.log 2>&1
wk_grep_f90_NAG=`grep NAG conftest.log | head -1`
wk_grep_f90_Compaq=`grep Compaq conftest.log | head -1`
wk_grep_f90_Digital=`grep DIGITAL conftest.log | head -1`
wk_grep_f90_SGI=`grep MIPS conftest.log | head -1`
wk_grep_f90_Intel=`grep 'Intel(R)' conftest.log | head -1`
wk_grep_f90_Sun=`grep 'Sun' conftest.log | head -1`
wk_grep_f90_Lahey=`grep 'Lahey' conftest.log | head -1`
wk_grep_f90_PGI=`grep 'pgf' conftest.log | head -1`
wk_grep_f90_G95=`grep -i 'g95' conftest.log | grep -i 'gcc' | head -1`
wk_grep_f90_GFORTRAN=`grep -i 'GNU Fortran' conftest.log | head -1`
wk_grep_f90_Absoft=`grep -i 'Absoft' conftest.log | head -1`
if test -n "$wk_grep_f90_NAG"; then
wk_cv_prog_f90_type="NAG"
wk_cv_prog_f90_version_string=$wk_grep_f90_NAG
wk_cv_prog_f90_version=[`echo $wk_cv_prog_f90_version_string | sed -e 's/.* Release \([0-9][0-9]*\.[0-9][0-9]*.*$\)/\1/'`]
wk_cv_prog_f90_major_version=[`echo $wk_cv_prog_f90_version | sed -e 's/\([0-9][0-9]*\)\..*/\1/'`]
elif test -n "$wk_grep_f90_Compaq"; then
wk_cv_prog_f90_type="Compaq"
wk_cv_prog_f90_version_string=$wk_grep_f90_Compaq
elif test -n "$wk_grep_f90_Digital"; then
wk_cv_prog_f90_type="DEC"
wk_cv_prog_f90_version_string=$wk_grep_f90_Digital
elif test -n "$wk_grep_f90_SGI"; then
wk_cv_prog_f90_type="SGI"
wk_cv_prog_f90_version_string=$wk_grep_f90_SGI
elif test -n "$wk_grep_f90_Intel"; then
wk_cv_prog_f90_type="Intel"
wk_cv_prog_f90_version_string=$wk_grep_f90_Intel
wk_cv_prog_f90_version=[`echo $wk_cv_prog_f90_version_string | sed -e 's/.* Version \([0-9][0-9]*\.[0-9][0-9]*\) .*/\1/'`]
wk_cv_prog_f90_major_version=[`echo $wk_cv_prog_f90_version | sed -e 's/\([0-9][0-9]*\)\..*/\1/'`]
elif test -n "$wk_grep_f90_Sun"; then
wk_cv_prog_f90_type="Sun"
wk_cv_prog_f90_version_string=$wk_grep_f90_Sun
wk_cv_prog_f90_version=[`echo $wk_cv_prog_f90_version_string | sed -e 's/.* Fortran 95 \([0-9][0-9]*\.[0-9][0-9]*\) .*/\1/'`]
wk_cv_prog_f90_major_version=[`echo $wk_cv_prog_f90_version | sed -e 's/\([0-9][0-9]*\)\..*/\1/'`]
elif test -n "$wk_grep_f90_Lahey"; then
wk_cv_prog_f90_type="Lahey"
wk_cv_prog_f90_version_string=$wk_grep_f90_Lahey
elif test -n "$wk_grep_f90_PGI"; then
wk_cv_prog_f90_type="PGI"
wk_cv_prog_f90_version_string=$wk_grep_f90_PGI
elif test -n "$wk_grep_f90_G95"; then
wk_cv_prog_f90_type="G95"
wk_cv_prog_f90_version_string=$wk_grep_f90_G95
elif test -n "$wk_grep_f90_GFORTRAN"; then
wk_cv_prog_f90_type="GNU"
wk_cv_prog_f90_version_string=$wk_grep_f90_GFORTRAN
wk_cv_prog_f90_version=[`echo $wk_cv_prog_f90_version_string | sed -e 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/'`]
wk_cv_prog_f90_major_version=[`echo $wk_cv_prog_f90_version | sed -e 's/\([0-9][0-9]*\)\..*/\1/'`]
elif test -n "$wk_grep_f90_Absoft"; then
wk_cv_prog_f90_type="Absoft"
wk_cv_prog_f90_version_string=$wk_grep_f90_Absoft
else
wk_cv_prog_f90_type="unknown"
wk_cv_prog_f90_version_string="unknown"
fi
rm -f conftest.log
]) dnl end AC_CACHE_CHECK
dnl Vendor-specific variables:
AC_CACHE_CHECK([the compiler vendor], [wk_cv_prog_f90_type])
if test -n "$wk_cv_prog_f90_version"; then
AC_CACHE_CHECK([the compiler version], [wk_cv_prog_f90_version])
else
wk_cv_prog_f90_version=$wk_cv_prog_f90_version_string
fi
if test -n "$wk_cv_prog_f90_major_version"; then
AC_CACHE_CHECK([the compiler major version], [wk_cv_prog_f90_major_version])
else
wk_cv_prog_f90_major_version=$wk_cv_prog_f90_version
fi
FC_VERSION_STRING=$wk_cv_prog_f90_version_string
FC_VENDOR=$wk_cv_prog_f90_type
FC_VERSION=$wk_cv_prog_f90_version
FC_MAJOR_VERSION=$wk_cv_prog_f90_major_version
AC_SUBST(FC_VERSION_STRING)
AC_SUBST(FC_VENDOR)
AC_SUBST(FC_VERSION)
AC_SUBST(FC_MAJOR_VERSION)
dnl Module names: (all compilers apparently have converged to '.mod')
dnl The perl scripts need a quoted version of this
FC_MODNAME='$(1:.o=.mod)'
FC_MODNAME_Q='\$(1:.o=.mod)'
AC_SUBST(FC_MODNAME)
AC_SUBST(FC_MODNAME_Q)
]) dnl end AC_DEFUN