1
1

OSHMEM: rework fortran support detection

fix the case, to enable oshmem-fortran when "with-shmem" was specified and "ompi-fortran" was enabled and happy.

fixed by Roman, reviewed by Miked

Refs trac:3763

This commit was SVN r30391.

The following Trac tickets were found above:
  Ticket 3763 --> https://svn.open-mpi.org/trac/ompi/ticket/3763
Этот коммит содержится в:
Mike Dubman 2014-01-23 07:49:13 +00:00
родитель 071838bb0a
Коммит 59d4bb662c
6 изменённых файлов: 16 добавлений и 11 удалений

Просмотреть файл

@ -95,19 +95,19 @@ AC_HELP_STRING([--enable-oshmem-fortran],
[enable OSHMEM Fortran bindings (default: enabled if Fortran compiler found)]))
if test "$enable_oshmem_fortran" != "no" -a "$ompi_fortran_happy" = 1; then
# If no OMPI FORTRAN, bail
AS_IF([test $OMPI_WANT_FORTRAN_BINDINGS -eq 0],
AS_IF([test $OMPI_WANT_FORTRAN_BINDINGS -eq 0 -a "$enable_oshmem" != "no"],
[AC_MSG_RESULT([bad value OMPI_WANT_FORTRAN_BINDINGS: ($OMPI_WANT_FORTRAN_BINDINGS)])
AC_MSG_WARN([Your explicit request to --enable-oshmem-fortran can only be satisfied if fortran support is enabled in OMPI. You are seeing this message for one of two reasons:
1. OMPI fortran support has been explicitly disabled via --disable-mpi-fortran, in which case you cannot --enable-oshmem-fortran. Configure will abort because you, a human, have explicitly asked for something that cannot be provided.
2. OMPI fortran support is implicitly not being built because no fortran compiler could be found on your system. Configure will abort because you, a human, have explicitly asked for something that cannot be provided.])
AC_MSG_ERROR([Cannot continue])])
AC_MSG_RESULT([yes])
OSHMEM_FORTRAN_BINDINGS=1
else
AC_MSG_RESULT([no])
OSHMEM_FORTRAN_BINDINGS=0
fi
AM_CONDITIONAL(OSHMEM_WANT_FORTRAN_BINDINGS,
[test $OSHMEM_FORTRAN_BINDINGS -eq 1])
#
# We can't set am_conditional here since it's yet unknown if there is valid Fortran compiler avaliable
#
]) dnl

Просмотреть файл

@ -1273,6 +1273,11 @@ fi
# a C++ compiler.
AS_IF([test "$OMPI_WANT_FORTRAN_BINDINGS" != "1"],[F77=no FC=no])
AM_CONDITIONAL(OSHMEM_BUILD_FORTRAN_BINDINGS,
[test "$ompi_fortran_happy" == "1" -a \
"$OMPI_WANT_FORTRAN_BINDINGS" == "1" -a \
"$oshmem_fortran_enable" != "no"])
LT_CONFIG_LTDL_DIR([opal/libltdl], [subproject])
LTDL_CONVENIENCE
LT_INIT([dlopen win32-dll])

Просмотреть файл

@ -17,7 +17,7 @@ c_pshmem_lib =
endif
# Do we have the Fortran bindings?
if OSHMEM_WANT_FORTRAN_BINDINGS
if OSHMEM_BUILD_FORTRAN_BINDINGS
fortran_oshmem_lib = shmem/fortran/liboshmem_fortran.la
else
fortran_oshmem_lib =

Просмотреть файл

@ -11,7 +11,7 @@
AM_CPPFLAGS = -DOSHMEM_PROFILING_DEFINES=0 -DOSHMEM_HAVE_WEAK_SYMBOLS=0
if OSHMEM_WANT_FORTRAN_BINDINGS
if OSHMEM_BUILD_FORTRAN_BINDINGS
oshmem_fortran_lib = liboshmem_fortran.la
else
oshmem_fortran_lib =

Просмотреть файл

@ -31,10 +31,10 @@ else
AM_CFLAGS += -DOSHMEM_PROFILING=0
endif
if OSHMEM_WANT_FORTRAN_BINDINGS
AM_CFLAGS += -DOSHMEM_WANT_FORTRAN_BINDINGS=1
if OSHMEM_BUILD_FORTRAN_BINDINGS
AM_CFLAGS += -DOSHMEM_BUILD_FORTRAN_BINDINGS=1
else
AM_CFLAGS += -DOSHMEM_WANT_FORTRAN_BINDINGS=0
AM_CFLAGS += -DOSHMEM_BUILD_FORTRAN_BINDINGS=0
endif
include $(top_srcdir)/Makefile.man-page-rules

Просмотреть файл

@ -604,7 +604,7 @@ void oshmem_info_do_config(bool want_all)
/* This block displays all the options with which the current
* installation of oshmem was configured. */
{
char *oshmem_fortran = OSHMEM_WANT_FORTRAN_BINDINGS ? "yes" : "no";
char *oshmem_fortran = OSHMEM_BUILD_FORTRAN_BINDINGS ? "yes" : "no";
char *oshmem_compat = OSHMEM_SPEC_COMPAT ? "yes" : "no";
char *oshmem_param_check = OSHMEM_PARAM_CHECK ? "yes" : "no";
char *oshmem_profiling = OSHMEM_PROFILING ? "yes" : "no";