2004-01-09 11:25:18 +03:00
|
|
|
dnl -*- shell-script -*-
|
|
|
|
dnl
|
|
|
|
dnl $HEADER$
|
|
|
|
dnl
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
define(OMPI_F77_FIND_EXT_SYMBOL_CONVENTION,[
|
2004-01-09 11:25:18 +03:00
|
|
|
AC_MSG_CHECKING($1 external symbol convention)
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_fortran_double_underscore=0
|
|
|
|
ompi_fortran_single_underscore=0
|
|
|
|
ompi_fortran_caps=0
|
|
|
|
ompi_fortran_plain=0
|
2004-01-09 11:25:18 +03:00
|
|
|
|
|
|
|
cat > conftestf.f <<EOF
|
|
|
|
subroutine FOO_bar(a)
|
|
|
|
integer a
|
|
|
|
a = 1
|
|
|
|
return
|
|
|
|
end
|
|
|
|
EOF
|
|
|
|
$1 $FFLAGS -c conftestf.f 1>&5 2>&1
|
|
|
|
if test ! -s conftestf.o; then
|
|
|
|
AC_MSG_WARN(unable to produce an object file testing F77 compiler)
|
|
|
|
else
|
|
|
|
nm conftestf.o | grep foo_bar__ > /dev/null 2>&1
|
|
|
|
if test $? = "0"; then
|
|
|
|
AC_MSG_RESULT([double underscore])
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_fortran_double_underscore=1
|
|
|
|
ompi_ac_doubleunder=y
|
2004-01-09 11:25:18 +03:00
|
|
|
else
|
|
|
|
nm conftestf.o | grep foo_bar_ > /dev/null 2>&1
|
|
|
|
if test $? = "0"; then
|
|
|
|
AC_MSG_RESULT([single underscore])
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_fortran_single_underscore=1
|
|
|
|
ompi_ac_singleunder=y
|
2004-01-09 11:25:18 +03:00
|
|
|
else
|
|
|
|
# We may get into trouble here if we start accepting mixed
|
|
|
|
# case compilers -- we may need to have caps underscore,
|
|
|
|
# or caps double underscore, for example. But we haven't
|
|
|
|
# found any that require that yet. :-)
|
|
|
|
nm conftestf.o | grep FOO_bar > /dev/null 2>&1
|
|
|
|
if test $? = "0"; then
|
|
|
|
AC_MSG_RESULT([mixed case, so FORTRANCAPS])
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_fortran_caps=1
|
|
|
|
ompi_ac_caps=y
|
2004-01-09 11:25:18 +03:00
|
|
|
else
|
|
|
|
nm conftestf.o | grep foo_bar > /dev/null 2>&1
|
|
|
|
if test $? = "0"; then
|
|
|
|
AC_MSG_RESULT([no underscore])
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_fortran_plain=1
|
|
|
|
ompi_ac_nounder=y
|
2004-01-09 11:25:18 +03:00
|
|
|
else
|
|
|
|
nm conftestf.o | grep FOO_BAR > /dev/null 2>&1
|
|
|
|
if test $? = "0"; then
|
|
|
|
AC_MSG_RESULT([all upper case])
|
2004-06-07 19:33:53 +04:00
|
|
|
ompi_fortran_caps=1
|
|
|
|
ompi_ac_caps=y
|
2004-01-09 11:25:18 +03:00
|
|
|
else
|
|
|
|
AC_MSG_WARN([*** Could not find name of subroutine foo_bar])
|
|
|
|
AC_MSG_ERROR([Cannot continue])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_F77_DOUBLE_UNDERSCORE,
|
|
|
|
$ompi_fortran_double_underscore,
|
2004-01-09 11:25:18 +03:00
|
|
|
[Whether fortran symbols have a trailing double underscore or not])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_F77_SINGLE_UNDERSCORE, $ompi_fortran_single_underscore,
|
2004-01-09 11:25:18 +03:00
|
|
|
[Whether fortran symbols have a trailing underscore or not])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_F77_CAPS, $ompi_fortran_caps,
|
2004-01-09 11:25:18 +03:00
|
|
|
[Whether fortran symbols are all caps or not])
|
2004-06-07 19:33:53 +04:00
|
|
|
AC_DEFINE_UNQUOTED(OMPI_F77_PLAIN, $ompi_fortran_plain,
|
2004-01-09 11:25:18 +03:00
|
|
|
[Whether fortran symbols have no trailing underscore or not])
|
|
|
|
|
|
|
|
/bin/rm -f conftestf.f conftestf.o])dnl
|