X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0ef47f951954678fed8c57bb97ab52147eee52f4..162b7f2ae7f56c611a7d8f951477b3a23a53a2b4:/src/smpi/internals/smpi_global.cpp diff --git a/src/smpi/internals/smpi_global.cpp b/src/smpi/internals/smpi_global.cpp index f4347e5902..7544bbd081 100644 --- a/src/smpi/internals/smpi_global.cpp +++ b/src/smpi/internals/smpi_global.cpp @@ -15,10 +15,23 @@ #include /* DBL_MAX */ #include #include +#include + #if not defined(__APPLE__) #include #endif -#include + +#if defined(__APPLE__) +# include +# ifndef MAC_OS_X_VERSION_10_12 +# define MAC_OS_X_VERSION_10_12 101200 +# endif +# define HAVE_WORKING_MMAP (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12) +#elif defined(__FreeBSD__) +# define HAVE_WORKING_MMAP 0 +#else +# define HAVE_WORKING_MMAP 1 +#endif #if HAVE_SENDFILE #include @@ -376,7 +389,7 @@ static void smpi_init_options(){ XBT_DEBUG("Running without smpi_main(); disable smpi/privatization."); smpi_privatize_global_variables = SmpiPrivStrategies::NONE; } -#if defined(__FreeBSD__) +#if HAVE_WORKING_MMAP if (smpi_privatize_global_variables == SmpiPrivStrategies::MMAP) { XBT_INFO("mmap privatization is broken on FreeBSD, switching to dlopen privatization instead."); smpi_privatize_global_variables = SmpiPrivStrategies::DLOPEN;