X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/64c43371cc5d10cad8937f81429a8743849bdea4..f4c4bb0050ab968a35369d8e844cda166782869a:/buildtools/Cmake/CompleteInFiles.cmake diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 72a6c6cb39..bf6d3e9d6f 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -94,9 +94,10 @@ else(HAVE_thread_storage_run) endif(HAVE_thread_storage_run) # Our usage of mmap is Linux-specific (flag MAP_ANONYMOUS), but kFreeBSD uses a GNU libc -IF(NOT "${CMAKE_SYSTEM}" MATCHES "Linux" AND NOT "${CMAKE_SYSTEM}" MATCHES "kFreeBSD") +IF(NOT "${CMAKE_SYSTEM}" MATCHES "Linux" AND NOT "${CMAKE_SYSTEM}" MATCHES "kFreeBSD" AND NOT "${CMAKE_SYSTEM}" MATCHES "GNU") SET(HAVE_MMAP 0) -ENDIF(NOT "${CMAKE_SYSTEM}" MATCHES "Linux" AND NOT "${CMAKE_SYSTEM}" MATCHES "kFreeBSD") + message(STATUS "Warning: MMAP is thought as non functional on this architecture (${CMAKE_SYSTEM})") +ENDIF(NOT "${CMAKE_SYSTEM}" MATCHES "Linux" AND NOT "${CMAKE_SYSTEM}" MATCHES "kFreeBSD" AND NOT "${CMAKE_SYSTEM}" MATCHES "GNU") if(WIN32) #THOSE FILES ARE FUNCTIONS ARE NOT DETECTED BUT THEY SHOULD... set(HAVE_UCONTEXT_H 1) @@ -208,7 +209,6 @@ IF(CMAKE_CROSSCOMPILING) set(IS_WINDOWS 1) ENDIF(WIN32) ELSE(CMAKE_CROSSCOMPILING) - if(HAVE_UCONTEXT_H) try_run(RUN_mcsc_VAR COMPILE_mcsc_VAR ${simgrid_BINARY_DIR} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c @@ -220,16 +220,18 @@ ELSE(CMAKE_CROSSCOMPILING) file(READ "${simgrid_BINARY_DIR}/conftestval" mcsc) STRING(REPLACE "\n" "" mcsc "${mcsc}") if(mcsc) - set(mcsc "yes") + if(APPLE AND NOT ucontext) # TODO for the moment ucontext don't work on MAC OSX + set(mcsc "no") + else(APPLE AND NOT ucontext) + set(mcsc "yes") + set(HAVE_UCONTEXT_H 1) + endif(APPLE AND NOT ucontext) else(mcsc) set(mcsc "no") endif(mcsc) else(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR) set(mcsc "no") endif(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR) - else(HAVE_UCONTEXT_H) - set(mcsc "no") - endif(HAVE_UCONTEXT_H) ENDIF(CMAKE_CROSSCOMPILING) if(mcsc MATCHES "no" AND pthread) @@ -403,7 +405,7 @@ set(makecontext_CPPFLAGS_2 "") if(HAVE_MAKECONTEXT OR WIN32) set(makecontext_CPPFLAGS "-DTEST_makecontext") if(CMAKE_SYSTEM_NAME MATCHES "Darwin") - set(makecontext_CPPFLAGS_2 "-DOSX") + set(makecontext_CPPFLAGS_2 "-D_XOPEN_SOURCE") endif(CMAKE_SYSTEM_NAME MATCHES "Darwin") if(WIN32 AND __VISUALC__)