From: Augustin Degomme Date: Mon, 17 Dec 2012 15:04:50 +0000 (+0100) Subject: do not use f2c with 64 bits platforms which use old gcc (<4.5) X-Git-Tag: v3_9_rc1~86^2~8 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/bdede27b55f4d7428f635ef8ade408247dcfae93?hp=de522691ae839e2dec4107a426f1a0d68848d22c do not use f2c with 64 bits platforms which use old gcc (<4.5) --- diff --git a/buildtools/Cmake/Modules/FindF2c.cmake b/buildtools/Cmake/Modules/FindF2c.cmake index 81cffee36b..921132fc88 100644 --- a/buildtools/Cmake/Modules/FindF2c.cmake +++ b/buildtools/Cmake/Modules/FindF2c.cmake @@ -69,7 +69,16 @@ else() message("-- Fortran for smpi is not installed (http://www.netlib.org/f2c/).") endif() + +#Some old versions of 64 bits systems seem to have a different size between C and Fortran Datatypes +#Deactivate F2C with these versions, in order to avoid breaking test cases in legacy systems (as Fedora 13) +set(COMPILER_OK 1) +if(PROCESSOR_x86_64 AND "${CMAKE_SYSTEM}" MATCHES "Linux" AND "4.5" STRGREATER ${COMPILER_C_VERSION_MAJOR_MINOR} ) + set(COMPILER_OK 0) + message("Your C compiler is a bit old and Fortran support is quite problematic on 64 bit platforms, F2C has been deactivated") +endif() + set(SMPI_F2C 0) -if(HAVE_F2C_H AND F2C_EXE AND HAVE_F2C_LIB) +if(HAVE_F2C_H AND F2C_EXE AND HAVE_F2C_LIB AND COMPILER_OK) set(SMPI_F2C 1) endif()