diff --git a/ompi/CMakeLists.txt b/ompi/CMakeLists.txt index 14073d2112..44510a86e9 100644 --- a/ompi/CMakeLists.txt +++ b/ompi/CMakeLists.txt @@ -95,15 +95,15 @@ ELSE(OMPI_ENABLE_MPI_PROFILING) ENDIF(OMPI_ENABLE_MPI_PROFILING) -IF(OMPI_WANT_F77_BINDINGS) - # A handful of files in mpi/f77/base must be included in libmpi, in order to build the +IF(OMPI_WANT_MPIFH_BINDINGS) + # A handful of files in mpi/fortran/base must be included in libmpi, in order to build the # Fortran 77 glue into libmpi - FILE(GLOB OMPI_F77_BASE_FILES "mpi/f77/base/*.c") - SET_SOURCE_FILES_PROPERTIES(${OMPI_F77_BASE_FILES} - PROPERTIES COMPILE_FLAGS "${OMPI_C_DEF_PRE}OMPI_COMPILING_F77_WRAPPERS=1 ${OMPI_C_DEF_PRE}OMPI_PROFILE_LAYER=0") - SET(OMPI_SOURCE_FILES ${OMPI_SOURCE_FILES} ${OMPI_F77_BASE_FILES}) - SOURCE_GROUP(mpi\\f77\\base FILES ${OMPI_F77_BASE_FILES}) -ENDIF(OMPI_WANT_F77_BINDINGS) + FILE(GLOB OMPI_FORTRAN_BASE_FILES "mpi/fortran/base/*.c") + SET_SOURCE_FILES_PROPERTIES(${OMPI_FORTRAN_BASE_FILES} + PROPERTIES COMPILE_FLAGS "${OMPI_C_DEF_PRE}OMPI_COMPILING_FORTRAN_WRAPPERS=1 ${OMPI_C_DEF_PRE}OMPI_PROFILE_LAYER=0") + SET(OMPI_SOURCE_FILES ${OMPI_SOURCE_FILES} ${OMPI_FORTRAN_BASE_FILES}) + SOURCE_GROUP(mpi\\fortran\\base FILES ${OMPI_FORTRAN_BASE_FILES}) +ENDIF(OMPI_WANT_FORTRAN_BINDINGS) #configure ompi extension components INCLUDE (ompi_ext_config) @@ -156,13 +156,13 @@ IF (OMPI_DEBUG_BUILD AND WINDOWS_VS) DESTINATION bin) ENDIF (OMPI_DEBUG_BUILD AND WINDOWS_VS) -IF(OMPI_WANT_F77_BINDINGS) +IF(OMPI_WANT_FORTRAN_BINDINGS) INSTALL(FILES ${PROJECT_BINARY_DIR}/include/mpif.h ${PROJECT_BINARY_DIR}/include/mpif-config.h ${PROJECT_SOURCE_DIR}/include/mpif-common.h ${PROJECT_SOURCE_DIR}/include/mpif-mpi-io.h DESTINATION include) -ENDIF(OMPI_WANT_F77_BINDINGS) +ENDIF(OMPI_WANT_FORTRAN_BINDINGS) INSTALL(FILES ${PROJECT_SOURCE_DIR}/runtime/help-mpi-runtime.txt ${PROJECT_SOURCE_DIR}/mpi/help-mpi-api.txt DESTINATION share/openmpi) diff --git a/ompi/config/ompi_configure_options.m4 b/ompi/config/ompi_configure_options.m4 index 301eb3a3a7..4367dc8b10 100644 --- a/ompi/config/ompi_configure_options.m4 +++ b/ompi/config/ompi_configure_options.m4 @@ -178,13 +178,16 @@ mpi_param_check=ompi_mpi_param_check if test "$with_mpi_param_check" = "no" -o \ "$with_mpi_param_check" = "never"; then mpi_param_check=0 + ompi_param_check=0 AC_MSG_RESULT([never]) elif test "$with_mpi_param_check" = "yes" -o \ "$with_mpi_param_check" = "always"; then mpi_param_check=1 + ompi_param_check=1 AC_MSG_RESULT([always]) elif test "$with_mpi_param_check" = "runtime" -o \ -z "$with_mpi_params_check"; then + ompi_param_check=1 AC_MSG_RESULT([runtime]) else AC_MSG_RESULT([unknown]) @@ -194,7 +197,8 @@ else fi AC_DEFINE_UNQUOTED(MPI_PARAM_CHECK, $mpi_param_check, [Whether we want to check MPI parameters always, never, or decide at run-time]) - +AC_DEFINE_UNQUOTED(OMPI_PARAM_CHECK, $ompi_param_check, + [Whether we want to check MPI parameters never or possible (an integer constant)]) # # Do we want the prototype "use mpi_f08" implementation that uses diff --git a/ompi/include/mpi.h.in b/ompi/include/mpi.h.in index 34a67fe085..074c3b8ec4 100644 --- a/ompi/include/mpi.h.in +++ b/ompi/include/mpi.h.in @@ -156,11 +156,8 @@ /* Whether a const_cast on a 2-d array will work with the C++ compiler */ #undef OMPI_CXX_SUPPORTS_2D_CONST_CAST -/* Whether we want the MPI f77 bindings or not */ -#undef OMPI_WANT_F77_BINDINGS - -/* Whether we want the MPI f90 bindings or not */ -#undef OMPI_WANT_F90_BINDINGS +/* Whether OMPI was built with parameter checking or not */ +#undef OMPI_PARAM_CHECK /* Enable warnings in wrong usage (e.g. deprecated) in user-level code */ /* XXX This __disabled__ by default for Open MPI-1.5, but will be __enabled__ for Open MPI-1.7 by default */ @@ -662,7 +659,7 @@ enum { compiled as MPI_TYPE_NULL_DELETE_FN). So add some #if kinds of protection for this case. */ -#if !defined(OMPI_COMPILING_F77_WRAPPERS) +#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) #define MPI_NULL_DELETE_FN OMPI_C_MPI_NULL_DELETE_FN #define MPI_NULL_COPY_FN OMPI_C_MPI_NULL_COPY_FN #define MPI_DUP_FN OMPI_C_MPI_DUP_FN diff --git a/ompi/include/mpif.h.in b/ompi/include/mpif.h.in index cda40c6ba7..61ebc7ade0 100644 --- a/ompi/include/mpif.h.in +++ b/ompi/include/mpif.h.in @@ -27,16 +27,16 @@ ! tells the compiler where to find .h files (specifically, this one). For ! example: ! -! shell$ mpif77 foo.f -o foo -I$OMPI_HOME/include +! shell$ mpifort foo.f -o foo -I$OMPI_HOME/include ! ! will probably do the trick (assuming that you have set OMPI_HOME ! properly). ! -! That being said, OMPI's "mpif77" wrapper compiler should +! That being said, OMPI's "mpifort" wrapper compiler should ! automatically include the -I option for you. The following command ! should be equivalent to the command listed above: ! -! shell$ mpif77 foo.f -o foo +! shell$ mpifort foo.f -o foo ! ! You should not copy this file to your local directory because it is ! possible that this file will be changed between versions of Open MPI. @@ -45,7 +45,7 @@ ! of MPI, or with other versions of Open MPI will result in undefined ! behavior (to include incorrect results, segmentation faults, ! unexplainable "hanging" in your application, etc.). Always use the -! -I command line option instead (or let mpif77 do it for you). +! -I command line option instead (or let mpifort do it for you). ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING @@ -59,9 +59,9 @@ include 'mpif-common.h' ! -! These "external" statements are specific to the MPI F77 interface +! These "external" statements are specific to the MPI mpif.h interface ! (and are toxic to the MPI F90 interface), and are therefore in the -! MPI F77-specific header file (i.e., this one). +! MPI Fortran-specific header file (i.e., this one). ! external MPI_NULL_COPY_FN, MPI_NULL_DELETE_FN external MPI_COMM_NULL_COPY_FN, MPI_COMM_NULL_DELETE_FN diff --git a/ompi/mpi/fortran/base/Makefile.am b/ompi/mpi/fortran/base/Makefile.am index 0aaa2636e2..751871e775 100644 --- a/ompi/mpi/fortran/base/Makefile.am +++ b/ompi/mpi/fortran/base/Makefile.am @@ -32,7 +32,7 @@ noinst_LTLIBRARIES += libmpi_fortran_base.la # unfortunately can't just suck the sources into the larger libmpi.la. libmpi_fortran_base_la_CPPFLAGS = \ - -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_F77_WRAPPERS=1 + -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1 libmpi_fortran_base_la_SOURCES = \ constants.h \ datarep.h \ diff --git a/ompi/mpi/fortran/mpif-h/CMakeLists.txt b/ompi/mpi/fortran/mpif-h/CMakeLists.txt index 217404ee94..69f5604252 100644 --- a/ompi/mpi/fortran/mpif-h/CMakeLists.txt +++ b/ompi/mpi/fortran/mpif-h/CMakeLists.txt @@ -8,26 +8,25 @@ # $HEADER$ # -FILE(GLOB OMPI_F77_FILES "*.c") -FILE(GLOB OMPI_F77_HEADER_FILES "*.h") +FILE(GLOB OMPI_FORTRAN_FILES "*.c") +FILE(GLOB OMPI_FORTRAN_HEADER_FILES "*.h") # Remove all MPI_File related files if the option is not selected IF (NOT OMPI_PROVIDE_MPI_FILE_INTERFACE) MESSAGE( STATUS "Skipping the MPI I/O interface") SET( TMP_SRC "" ) - FOREACH ( FILENAME ${OMPI_F77_FILES}) + FOREACH ( FILENAME ${OMPI_FORTRAN_FILES}) GET_FILENAME_COMPONENT(relname ${FILENAME} NAME) IF (NOT ${relname} MATCHES "file.*[ch]$") IF (NOT ${relname} STREQUAL "register_datarep.c") LIST(APPEND TMP_SRC ${FILENAME}) ENDIF (NOT ${relname} STREQUAL "register_datarep.c") - ENDIF(NOT ${relname} MATCHES "file.*[ch]$") - ENDFOREACH(FILENAME ${OMPI_F77_FILES}) - SET( OMPI_F77_FILES ${TMP_SRC}) + ENDIF(NOT ${relname} MATCHES "file.*[ch]$") ENDFOREACH(FILENAME ${OMPI_FORTRAN_FILES}) + SET( OMPI_FORTRAN_FILES ${TMP_SRC}) ENDIF(NOT OMPI_PROVIDE_MPI_FILE_INTERFACE) -SET_SOURCE_FILES_PROPERTIES(${OMPI_F77_FILES} PROPERTIES - COMPILE_FLAGS "${OMPI_C_DEF_PRE}OMPI_PROFILE_LAYER=0 ${OMPI_C_DEF_PRE}OMPI_COMPILING_F77_WRAPPERS=1") +SET_SOURCE_FILES_PROPERTIES(${OMPI_FORTRAN_FILES} PROPERTIES + COMPILE_FLAGS "${OMPI_C_DEF_PRE}OMPI_PROFILE_LAYER=0 ${OMPI_C_DEF_PRE}OMPI_COMPILING_FORTRAN_WRAPPERS=1") IF(OMPI_ENABLE_MPI_PROFILING) # As weak symbols are not supported by MS compiler, @@ -35,27 +34,27 @@ IF(OMPI_ENABLE_MPI_PROFILING) # i.e. add the pre-processor "OMPI_PROFILING_DEFINES" explicitly. # copy the files to the build directory with a prefix. - FOREACH(FILE_NAME ${OMPI_F77_FILES}) + FOREACH(FILE_NAME ${OMPI_FORTRAN_FILES}) GET_FILENAME_COMPONENT(relname ${FILE_NAME} NAME) CONFIGURE_FILE(${FILE_NAME} ${PROJECT_BINARY_DIR}/profile/p${relname} [COPYONLY]) - ENDFOREACH(FILE_NAME ${OMPI_F77_FILES}) + ENDFOREACH(FILE_NAME ${OMPI_FORTRAN_FILES}) - FILE(GLOB OMPI_F77_PROFILE_FILES "${PROJECT_BINARY_DIR}/profile/*.c" ) + FILE(GLOB OMPI_FORTRAN_PROFILE_FILES "${PROJECT_BINARY_DIR}/profile/*.c" ) - SET_SOURCE_FILES_PROPERTIES(${OMPI_F77_PROFILE_FILES} PROPERTIES - COMPILE_FLAGS "${OMPI_C_DEF_PRE}OMPI_PROFILE_LAYER=1 ${OMPI_C_DEF_PRE}OMPI_COMPILING_F77_WRAPPERS=1") + SET_SOURCE_FILES_PROPERTIES(${OMPI_FORTRAN_PROFILE_FILES} PROPERTIES + COMPILE_FLAGS "${OMPI_C_DEF_PRE}OMPI_PROFILE_LAYER=1 ${OMPI_C_DEF_PRE}OMPI_COMPILING_FORTRAN_WRAPPERS=1") - SET(OMPI_F77_FILES ${OMPI_F77_FILES} ${OMPI_F77_PROFILE_FILES}) - SOURCE_GROUP(profile FILES ${OMPI_F77_PROFILE_FILES}) + SET(OMPI_FORTRAN_FILES ${OMPI_FORTRAN_FILES} ${OMPI_FORTRAN_PROFILE_FILES}) + SOURCE_GROUP(profile FILES ${OMPI_FORTRAN_PROFILE_FILES}) ELSE(OMPI_ENABLE_MPI_PROFILING) MESSAGE( STATUS "Skipping the MPI profiling interface") ENDIF(OMPI_ENABLE_MPI_PROFILING) -ADD_LIBRARY(libmpi_f77 ${OMPI_F77_FILES} ${OMPI_F77_HEADER_FILES}) -TARGET_LINK_LIBRARIES(libmpi_f77 libmpi) +ADD_LIBRARY(libmpi_fortran ${OMPI_FORTRAN_FILES} ${OMPI_FORTRAN_HEADER_FILES}) +TARGET_LINK_LIBRARIES(libmpi_mpifh libmpi) IF(BUILD_SHARED_LIBS) ADD_DEFINITIONS(${OMPI_C_DEF_PRE}_USRDLL ${OMPI_C_DEF_PRE}OPAL_IMPORTS @@ -64,12 +63,12 @@ ELSE(BUILD_SHARED_LIBS) ADD_DEFINITIONS(${OMPI_C_DEF_PRE}_LIB) ENDIF(BUILD_SHARED_LIBS) -INSTALL(TARGETS libmpi_f77 +INSTALL(TARGETS libmpi_mpifh RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) IF (OMPI_DEBUG_BUILD AND WINDOWS_VS) - INSTALL(FILES ${OpenMPI_BINARY_DIR}/Debug/libmpi_f77${CMAKE_DEBUG_POSTFIX}.pdb + INSTALL(FILES ${OpenMPI_BINARY_DIR}/Debug/libmpi_mpifh{CMAKE_DEBUG_POSTFIX}.pdb DESTINATION bin) -ENDIF (OMPI_DEBUG_BUILD AND WINDOWS_VS) \ No newline at end of file +ENDIF (OMPI_DEBUG_BUILD AND WINDOWS_VS) diff --git a/ompi/mpi/fortran/mpif-h/Makefile.am b/ompi/mpi/fortran/mpif-h/Makefile.am index 6874f0c6b7..57c2fc3866 100644 --- a/ompi/mpi/fortran/mpif-h/Makefile.am +++ b/ompi/mpi/fortran/mpif-h/Makefile.am @@ -29,7 +29,7 @@ SUBDIRS = profile # we need it to be 0 # -AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_F77_WRAPPERS=1 +AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1 # The top directory only builds MPI_* bindings and some support # glue. The bottom directory only builds PMPI_* bindings. Each diff --git a/ompi/mpi/fortran/mpif-h/profile/Makefile.am b/ompi/mpi/fortran/mpif-h/profile/Makefile.am index 0d69d024aa..9ce75cbd07 100644 --- a/ompi/mpi/fortran/mpif-h/profile/Makefile.am +++ b/ompi/mpi/fortran/mpif-h/profile/Makefile.am @@ -26,7 +26,7 @@ # replaces all MPI_* symbols with PMPI_* symbols. In this directory # we definately need it to be 1. # -AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=1 -DOMPI_COMPILING_F77_WRAPPERS=1 +AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=1 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1 # # This build needs to go through only if profiling is required. # Further, this build HAS to go through if profiling is required. diff --git a/ompi/mpiext/affinity/c/Makefile.am b/ompi/mpiext/affinity/c/Makefile.am index 41aa2c002c..ae599f10f5 100644 --- a/ompi/mpiext/affinity/c/Makefile.am +++ b/ompi/mpiext/affinity/c/Makefile.am @@ -15,7 +15,7 @@ # We must set these #defines so that the inner OMPI MPI prototype # header files do the Right Thing. -AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_MPIFH_WRAPPERS=1 +AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1 include $(top_srcdir)/Makefile.man-page-rules diff --git a/ompi/mpiext/cr/c/Makefile.am b/ompi/mpiext/cr/c/Makefile.am index 2be54dffc1..0c75a0ff7d 100644 --- a/ompi/mpiext/cr/c/Makefile.am +++ b/ompi/mpiext/cr/c/Makefile.am @@ -15,7 +15,7 @@ # We must set these #defines so that the inner OMPI MPI prototype # header files do the Right Thing. -AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_MPIFH_WRAPPERS=1 +AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1 # Convenience libtool library that will be slurped up into libmpi.la. noinst_LTLIBRARIES = libmpiext_cr_c.la diff --git a/ompi/mpiext/example/c/Makefile.am b/ompi/mpiext/example/c/Makefile.am index 2e782516f9..6ec992af20 100644 --- a/ompi/mpiext/example/c/Makefile.am +++ b/ompi/mpiext/example/c/Makefile.am @@ -16,7 +16,7 @@ # We must set these #defines so that the inner OMPI MPI prototype # header files do the Right Thing. -AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_MPIFH_WRAPPERS=1 +AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1 # Convenience libtool library that will be slurped up into libmpi.la. noinst_LTLIBRARIES = libmpiext_example_c.la diff --git a/ompi/mpiext/example/mpif-h/Makefile.am b/ompi/mpiext/example/mpif-h/Makefile.am index c837ded969..c22b5225a5 100644 --- a/ompi/mpiext/example/mpif-h/Makefile.am +++ b/ompi/mpiext/example/mpif-h/Makefile.am @@ -16,7 +16,7 @@ # We must set these #defines so that the inner OMPI MPI prototype # header files do the Right Thing. -AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_F77_WRAPPERS=1 +AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1 # Note that the mpif.h-based bindings are optional -- they can only be # built if OMPI is also building the Fortran-based bindings. So we