From: Augustin Degomme Date: Mon, 3 Jun 2019 08:46:33 +0000 (+0200) Subject: add haiku support. Because why not. X-Git-Tag: v3.23~15 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/3d65d2eaad96faf1c97960216cf8afe08308f9e5 add haiku support. Because why not. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index ea2368a59f..cba00c62ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -410,7 +410,7 @@ endif() if(enable_smpi) SET(HAVE_SMPI 1) - if("${CMAKE_SYSTEM}" MATCHES "Darwin|FreeBSD|Linux|SunOS") + if(NOT WIN32) SET(HAVE_PRIVATIZATION 1) else() message (STATUS "Warning: no support for SMPI automatic privatization on this platform") diff --git a/src/smpi/internals/smpi_global.cpp b/src/smpi/internals/smpi_global.cpp index 8710495e1c..f3f49b38ca 100644 --- a/src/smpi/internals/smpi_global.cpp +++ b/src/smpi/internals/smpi_global.cpp @@ -23,7 +23,7 @@ #include #include -#if not defined(__APPLE__) +#if not defined(__APPLE__) && not defined(__HAIKU__) #include #endif @@ -33,7 +33,7 @@ # define MAC_OS_X_VERSION_10_12 101200 # endif constexpr bool HAVE_WORKING_MMAP = (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12); -#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__sun) +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__sun) || defined(__HAIKU__) constexpr bool HAVE_WORKING_MMAP = false; #else constexpr bool HAVE_WORKING_MMAP = true; @@ -529,7 +529,7 @@ static void smpi_copy_file(const std::string& src, const std::string& target, of close(fdout); } -#if not defined(__APPLE__) +#if not defined(__APPLE__) && not defined(__HAIKU__) static int visit_libs(struct dl_phdr_info* info, size_t, void* data) { char* libname = (char*)(data); @@ -562,7 +562,7 @@ static void smpi_init_privatization_dlopen(const std::string& executable) // get library name from path char fullpath[512] = {'\0'}; strncpy(fullpath, libname.c_str(), 511); -#if not defined(__APPLE__) +#if not defined(__APPLE__) && not defined(__HAIKU__) int ret = dl_iterate_phdr(visit_libs, fullpath); if (ret == 0) xbt_die("Can't find a linked %s - check the setting you gave to smpi/privatize-libs", fullpath); diff --git a/teshsuite/smpi/mpich3-test/util/mtest.c b/teshsuite/smpi/mpich3-test/util/mtest.c index 4f20aab385..cb24b3239d 100644 --- a/teshsuite/smpi/mpich3-test/util/mtest.c +++ b/teshsuite/smpi/mpich3-test/util/mtest.c @@ -1111,7 +1111,7 @@ void MTestError(const char *msg) /* ------------------------------------------------------------------------ */ static void MTestResourceSummary(FILE * fp) { -#ifdef HAVE_GETRUSAGE +#if defined(HAVE_GETRUSAGE) && !defined(__HAIKU__) struct rusage ru; static int pfThreshold = -2; int doOutput = 1;