From 0a5b9684ee8e2485eb3ca07bffa2b3e618f9c229 Mon Sep 17 00:00:00 2001 From: pini Date: Thu, 6 Jan 2011 10:13:36 +0000 Subject: [PATCH 1/1] We have to somehow rely on F2C if we want it. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9370 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- .gitignore | 1 + buildtools/Cmake/CompleteInFiles.cmake | 3 ++- include/smpi/{smpif.h => smpif.h.in} | 9 ++++++++- src/smpi/smpi_global.c | 4 ++-- 4 files changed, 13 insertions(+), 4 deletions(-) rename include/smpi/{smpif.h => smpif.h.in} (71%) diff --git a/.gitignore b/.gitignore index 845a93a664..0a474a8908 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ src/supernovae_*.c _*.c include/simgrid_config.h include/instr/tracing_config.h +include/smpi/smpif.h src/context_sysv_config.h src/gras_config.h src/smpi/smpicc diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 9683bdbe9f..5f1ae2b29b 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -638,6 +638,7 @@ set(libdir ${exec_prefix}/lib) set(CMAKE_LINKARGS "${CMAKE_CURRENT_BINARY_DIR}/lib") set(CMAKE_SMPI_COMMAND "export LD_LIBRARY_PATH=${CMAKE_CURRENT_BINARY_DIR}/lib:${GTNETS_LIB_PATH}:$LD_LIBRARY_PATH") +configure_file(${CMAKE_HOME_DIRECTORY}/include/smpi/smpif.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/smpi/smpif.h @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpicc.in ${CMAKE_CURRENT_BINARY_DIR}/bin/smpicc @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpif2c.in ${CMAKE_CURRENT_BINARY_DIR}/bin/smpif2c @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpiff.in ${CMAKE_CURRENT_BINARY_DIR}/bin/smpiff @ONLY) @@ -668,4 +669,4 @@ ${CMAKE_CURRENT_BINARY_DIR}/examples/msg/small_platform_with_routers.xml ) SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES -"${generate_files_to_clean}") \ No newline at end of file +"${generate_files_to_clean}") diff --git a/include/smpi/smpif.h b/include/smpi/smpif.h.in similarity index 71% rename from include/smpi/smpif.h rename to include/smpi/smpif.h.in index 156c9ea478..6f3ccb876c 100644 --- a/include/smpi/smpif.h +++ b/include/smpi/smpif.h.in @@ -7,10 +7,17 @@ #ifndef SMPIF_H #define SMPIF_H +#cmakedefine HAVE_F2C_H @HAVE_SMPI_F2C_H@ + +#ifndef HAVE_F2C_H +#error F2C is mandatory +#endif + #include +#include XBT_PUBLIC(int) smpi_process_argc(void); -XBT_PUBLIC(int) smpi_process_getarg(int* index, char* dst, size_t len); +XBT_PUBLIC(int) smpi_process_getarg(integer* index, char* dst, ftnlen len); XBT_PUBLIC(int) smpi_global_rank(void); XBT_PUBLIC(int) smpi_global_size(void); diff --git a/src/smpi/smpi_global.c b/src/smpi/smpi_global.c index 86b1a097ec..fb4d167e3c 100644 --- a/src/smpi/smpi_global.c +++ b/src/smpi/smpi_global.c @@ -75,10 +75,10 @@ int smpi_process_argc(void) { return data->argc ? *(data->argc) - 1 : 0; } -int smpi_process_getarg(int* index, char* dst, size_t len) { +int smpi_process_getarg(integer* index, char* dst, ftnlen len) { smpi_process_data_t data = smpi_process_data(); char* arg; - size_t i; + ftnlen i; if(!data->argc || !data->argv || *index < 1 || *index >= *(data->argc)) { -- 2.20.1