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)
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
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)