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