From fb02e400aa6b82543ea0f6310d230e38f5c2a5e6 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Thu, 26 Sep 2013 23:01:17 +0200 Subject: [PATCH] Set MPI_ADDRESS_KIND and MPI_OFFSET_KIND to 4 on 32 bits archs. This is consistent with the definition of MPI_Aint (ptrdiff_t). --- buildtools/Cmake/CompleteInFiles.cmake | 8 ++++++++ buildtools/Cmake/DefinePackages.cmake | 2 +- buildtools/Cmake/src/simgrid.nsi.in | 2 +- include/smpi/{mpif.h => mpif.h.in} | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) rename include/smpi/{mpif.h => mpif.h.in} (98%) diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 319f8f0fc9..e8120d2867 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -56,6 +56,12 @@ ELSE() #PROCESSOR NOT FOUND ENDIF() +if(ARCH_32_BITS) + set(MPI_ADDRESS_SIZE 4) +else() + set(MPI_ADDRESS_SIZE 8) +endif() + message(STATUS "Cmake version ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}") include(CheckFunctionExists) @@ -779,6 +785,7 @@ set(includedir "${CMAKE_INSTALL_PREFIX}/include") set(libdir ${exec_prefix}/lib) set(CMAKE_SMPI_COMMAND "export LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX}/lib:${GTNETS_LIB_PATH}:${HAVE_NS3_LIB}:$LD_LIBRARY_PATH") +configure_file(${CMAKE_HOME_DIRECTORY}/include/smpi/mpif.h.in ${CMAKE_BINARY_DIR}/include/smpi/mpif.h @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/include/smpi/smpif.h.in ${CMAKE_BINARY_DIR}/include/smpi/smpif.h @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpicc.in ${CMAKE_BINARY_DIR}/bin/smpicc @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpif2c.in ${CMAKE_BINARY_DIR}/bin/smpif2c @ONLY) @@ -816,6 +823,7 @@ if(NOT WIN32) endif() set(generated_headers_to_install + ${CMAKE_CURRENT_BINARY_DIR}/include/smpi/mpif.h ${CMAKE_CURRENT_BINARY_DIR}/include/smpi/smpif.h ${CMAKE_CURRENT_BINARY_DIR}/include/simgrid_config.h ) diff --git a/buildtools/Cmake/DefinePackages.cmake b/buildtools/Cmake/DefinePackages.cmake index 940acdb8d7..301ccb087c 100644 --- a/buildtools/Cmake/DefinePackages.cmake +++ b/buildtools/Cmake/DefinePackages.cmake @@ -534,7 +534,6 @@ set(headers_to_install include/simgrid/platf_generator.h include/simgrid/simix.h include/smpi/mpi.h - include/smpi/mpif.h include/smpi/smpi.h include/smpi/smpi_cocci.h include/smpi/smpi_main.h @@ -580,6 +579,7 @@ set(headers_to_install ) set(source_of_generated_headers include/simgrid_config.h.in + include/smpi/mpif.h.in include/smpi/smpif.h.in src/context_sysv_config.h.in) diff --git a/buildtools/Cmake/src/simgrid.nsi.in b/buildtools/Cmake/src/simgrid.nsi.in index 2105d4d1c9..c53efe4e43 100644 --- a/buildtools/Cmake/src/simgrid.nsi.in +++ b/buildtools/Cmake/src/simgrid.nsi.in @@ -201,9 +201,9 @@ Section "SMPI Library" SMPISection setOutPath $INSTDIR\include\smpi file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi.h file @CMAKE_HOME_DIRECTORY@\include\smpi\mpi.h - file @CMAKE_HOME_DIRECTORY@\include\smpi\mpif.h file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi_cocci.h file @CMAKE_HOME_DIRECTORY@\include\smpi\smpi_main.h + file include\smpi\mpif.h file include\smpi\smpif.h CreateDirectory $INSTDIR\examples\smpi diff --git a/include/smpi/mpif.h b/include/smpi/mpif.h.in similarity index 98% rename from include/smpi/mpif.h rename to include/smpi/mpif.h.in index 88922f3ae9..c6a96a2857 100644 --- a/include/smpi/mpif.h +++ b/include/smpi/mpif.h.in @@ -182,8 +182,8 @@ parameter(MPI_BXOR=11) INTEGER MPI_ADDRESS_KIND, MPI_OFFSET_KIND - PARAMETER (MPI_ADDRESS_KIND=8) - PARAMETER (MPI_OFFSET_KIND=8) + PARAMETER (MPI_ADDRESS_KIND=@MPI_ADDRESS_SIZE@) + PARAMETER (MPI_OFFSET_KIND=@MPI_ADDRESS_SIZE@) INTEGER MPI_MODE_NOPRECEDE PARAMETER (MPI_MODE_NOPRECEDE=8192) -- 2.20.1