X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d1910147874d898e93c1a4edd85d9b5ea049055..3f485ca36d11ca7dda9a469b81265705f0e7749b:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index fb7675774d..24dee6b9cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -170,7 +170,6 @@ ENDIF() if(WIN32) - #Need env INCLUDE set(CMAKE_INCLUDE_WIN "${CMAKE_C_COMPILER}") set(CMAKE_LIB_WIN "${CMAKE_C_COMPILER}") string(REGEX REPLACE "/bin/gcc.*" "/include" CMAKE_INCLUDE_WIN "${CMAKE_INCLUDE_WIN}") @@ -178,18 +177,6 @@ if(WIN32) set(INCLUDES ${INCLUDES} ${CMAKE_INCLUDE_WIN}) unset(CMAKE_INCLUDE_WIN) - set(_XBT_WIN32 1) - - message(STATUS "C_COMPILER ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_VERSION}") - message(STATUS "CXX_COMPILER ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_VERSION}") - message(STATUS "CMAKE_RC_COMPILER ${CMAKE_RC_COMPILER}") - message(STATUS "LIB ${CMAKE_LIB_WIN}") - message(STATUS "MAKE_PROGRAM ${CMAKE_MAKE_PROGRAM}") - message(STATUS "CMAKE_BUILD_TOOL ${CMAKE_BUILD_TOOL}") - message(STATUS "LINKER ${CMAKE_LINKER}") - message(STATUS "CMAKE_GENERATOR ${CMAKE_GENERATOR}") - message(STATUS "GNUC ${CMAKE_COMPILER_IS_GNUCC}") - endif() include_directories(${INCLUDES}) @@ -278,14 +265,12 @@ CHECK_LIBRARY_EXISTS(rt clock_gettime "" HAVE_POSIX_GETTIME) CHECK_LIBRARY_EXISTS(pthread pthread_create "" HAVE_PTHREAD) CHECK_LIBRARY_EXISTS(pthread sem_init "" HAVE_SEM_INIT_LIB) CHECK_LIBRARY_EXISTS(pthread sem_open "" HAVE_SEM_OPEN_LIB) -CHECK_LIBRARY_EXISTS(pthread sem_timedwait "" HAVE_SEM_TIMEDWAIT_LIB) -CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock "" HAVE_MUTEX_TIMEDLOCK_LIB) - +CHECK_LIBRARY_EXISTS(pthread pthread_setaffinity_np "" HAVE_PTHREAD_SETAFFINITY) if(CMAKE_SYSTEM_NAME MATCHES "Darwin") set(CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE") elseif(MINGW) - # Use the GNU version of unusual modifiers like PRIx64 + # Use the GNU version of unusual modifiers like PRIx64 add_definitions(-D__USE_MINGW_ANSI_STDIO=1) set(CMAKE_REQUIRED_DEFINITIONS "-D__USE_MINGW_ANSI_STDIO=1") else() @@ -294,17 +279,12 @@ endif() CHECK_INCLUDE_FILES("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS) CHECK_INCLUDE_FILE("valgrind/valgrind.h" HAVE_VALGRIND_VALGRIND_H) -CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H) CHECK_INCLUDE_FILE("sys/ptrace.h" HAVE_SYS_PTRACE_H) -CHECK_INCLUDE_FILE("windows.h" HAVE_WINDOWS_H) -CHECK_INCLUDE_FILE("errno.h" HAVE_ERRNO_H) CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H) CHECK_INCLUDE_FILE("execinfo.h" HAVE_EXECINFO_H) CHECK_INCLUDE_FILE("signal.h" HAVE_SIGNAL_H) -CHECK_INCLUDE_FILE("sys/time.h" HAVE_SYS_TIME_H) CHECK_INCLUDE_FILE("sys/param.h" HAVE_SYS_PARAM_H) CHECK_INCLUDE_FILE("sys/sysctl.h" HAVE_SYS_SYSCTL_H) -CHECK_INCLUDE_FILE("time.h" HAVE_TIME_H) CHECK_INCLUDE_FILE("ucontext.h" HAVE_UCONTEXT_H) CHECK_INCLUDE_FILE("linux/futex.h" HAVE_FUTEX_H) @@ -322,9 +302,7 @@ if(MINGW) set(HAVE_VASPRINTF 1) endif() -CHECK_FUNCTION_EXISTS(makecontext HAVE_MAKECONTEXT) CHECK_FUNCTION_EXISTS(process_vm_readv HAVE_PROCESS_VM_READV) - CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP) #Check if __thread is defined @@ -526,66 +504,17 @@ if(HAVE_PTHREAD) message(FATAL_ERROR "Semaphores are not usable (neither sem_open nor sem_init is both compilable and executable), but they are mandatory to threads (you may need to mount /dev).") endif() - ### Test that we have a way to timewait for semaphores - - if(HAVE_SEM_TIMEDWAIT_LIB) - - execute_process( - COMMAND "${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_sem_timedwait.c -lpthread" - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - OUTPUT_VARIABLE HAVE_SEM_TIMEDWAIT_run - ) - - if(HAVE_SEM_TIMEDWAIT_run) - set(HAVE_SEM_TIMEDWAIT 0) - message(STATUS "timedwait not compilable") - else() - set(HAVE_SEM_TIMEDWAIT 1) - message(STATUS "timedwait is compilable") - endif() - endif() - - ### HAVE_MUTEX_TIMEDLOCK - - if(HAVE_MUTEX_TIMEDLOCK_LIB) - - execute_process( - COMMAND "${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_mutex_timedlock.c -lpthread" - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - OUTPUT_VARIABLE HAVE_MUTEX_TIMEDLOCK_run - ) - - if(HAVE_MUTEX_TIMEDLOCK_run) - set(HAVE_MUTEX_TIMEDLOCK 0) - message(STATUS "timedlock not compilable") - else() - message(STATUS "timedlock is compilable") - set(HAVE_MUTEX_TIMEDLOCK 1) - endif() - endif() endif() # This is needed for ucontext on MacOS X: if(CMAKE_SYSTEM_NAME MATCHES "Darwin") add_definitions(-D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE) endif() - -if(WIN32) - # We always provide our own implementation of ucontext on Windows. - try_compile(HAVE_UCONTEXT - ${CMAKE_BINARY_DIR} - ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_AC_CHECK_MCSC.c - COMPILE_DEFINITIONS -D_XBT_WIN32 -I${CMAKE_HOME_DIRECTORY}/src/include -I${CMAKE_HOME_DIRECTORY}/src/xbt - ) -else() - # We always provide our own implementation of ucontext on Windows. - try_compile(HAVE_UCONTEXT +try_compile(HAVE_UCONTEXT ${CMAKE_BINARY_DIR} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_AC_CHECK_MCSC.c) -endif() #If can have both context - if(HAVE_UCONTEXT) set(HAVE_UCONTEXT_CONTEXTS 1) message("-- Support for ucontext factory") @@ -653,21 +582,12 @@ endif() #-------------------------------------------------------------------------------------------------- set(makecontext_CPPFLAGS_2 "") -if(HAVE_MAKECONTEXT OR WIN32) +if(HAVE_UCONTEXT_H) set(makecontext_CPPFLAGS "-DTEST_makecontext") if(CMAKE_SYSTEM_NAME MATCHES "Darwin") set(makecontext_CPPFLAGS_2 "-D_XOPEN_SOURCE=700") endif() - if(WIN32) - if(ARCH_32_BITS) - set(makecontext_CPPFLAGS "-DTEST_makecontext -D_I_X86_") - else() - set(makecontext_CPPFLAGS "-DTEST_makecontext -D_AMD64_") - endif() - set(makecontext_CPPFLAGS_2 "-D_XBT_WIN32 -I${CMAKE_HOME_DIRECTORY}/src/include -I${CMAKE_HOME_DIRECTORY}/src/xbt") - endif() - file(REMOVE ${CMAKE_BINARY_DIR}/conftestval) if(CMAKE_CROSSCOMPILING) @@ -690,8 +610,6 @@ if(HAVE_MAKECONTEXT OR WIN32) string(REPLACE "," "" makecontext_size "${MAKECONTEXT_SIZE}") set(pth_skaddr_makecontext "#define pth_skaddr_makecontext(skaddr,sksize) (${makecontext_addr})") set(pth_sksize_makecontext "#define pth_sksize_makecontext(skaddr,sksize) (${makecontext_size})") - else() - # message(FATAL_ERROR "makecontext is not compilable") endif() endif() @@ -1002,20 +920,13 @@ message("HAVE_UCONTEXT ...............: ${HAVE_UCONTEXT}") message("") message("HAVE_PTHREAD ................: ${HAVE_PTHREAD}") message("HAVE_SEM_INIT ...............: ${HAVE_SEM_INIT_LIB}") -message("HAVE_SEM_TIMEDWAIT ..........: ${HAVE_SEM_TIMEDWAIT_LIB}") -message("HAVE_MUTEX_TIMEDLOCK ........: ${HAVE_MUTEX_TIMEDLOCK_LIB}") message("HAVE_POSIX_GETTIME ..........: ${HAVE_POSIX_GETTIME}") message("") message("STDC_HEADERS ................: ${STDC_HEADERS}") message("HAVE_VALGRIND_VALGRIND_H ....: ${HAVE_VALGRIND_VALGRIND_H}") -message("HAVE_SYS_STAT_H .............: ${HAVE_SYS_STAT_H}") -message("HAVE_WINDOWS_H ..............: ${HAVE_WINDOWS_H}") -message("HAVE_ERRNO_H ................: ${HAVE_ERRNO_H}") message("HAVE_UNISTD_H ...............: ${HAVE_UNISTD_H}") message("HAVE_EXECINFO_H .............: ${HAVE_EXECINFO_H}") message("HAVE_SIGNAL_H ...............: ${HAVE_SIGNAL_H}") -message("HAVE_SYS_TIME_H .............: ${HAVE_SYS_TIME_H}") -message("HAVE_TIME_H .................: ${HAVE_TIME_H}") message("HAVE_DLFCN_H ................: ${HAVE_DLFCN_H}") message("") @@ -1024,7 +935,6 @@ message("HAVE_NANOSLEEP ..............: ${HAVE_NANOSLEEP}") message("HAVE_GETDTABLESIZE ..........: ${HAVE_GETDTABLESIZE}") message("HAVE_SYSCONF ................: ${HAVE_SYSCONF}") message("HAVE_POPEN ..................: ${HAVE_POPEN}") -message("HAVE_MAKECONTEXT ............: ${HAVE_MAKECONTEXT}") message("HAVE_VASPRINTF ..............: ${HAVE_VASPRINTF}") message("HAVE_MMAP ...................: ${HAVE_MMAP}") message("HAVE_PRIVATIZATION ..........: ${HAVE_PRIVATIZATION}") @@ -1038,8 +948,10 @@ message("______________________________________________________________________" message("______________________________________________________________________ DEBUG END") message("") + message("\nConfiguration of package `simgrid':") -message(" BUILDNAME ...................: ${BUILDNAME}") +message(" Build Name ..................: ${BUILDNAME}") +message(" Cmake Generator .............: ${CMAKE_GENERATOR}") message(" SITE ........................: ${SITE}") if(release) message(" Release .....................: simgrid-${release_version}${SIMGRID_VERSION_EXTRA} (release build)") @@ -1047,12 +959,11 @@ else() message(" Release .....................: simgrid-${release_version}${SIMGRID_VERSION_EXTRA} (development build)") endif() message("") -message(" Compiler: C .................: ${CMAKE_C_COMPILER} (${CMAKE_C_COMPILER_ID})") +message(" Compiler: C .................: ${CMAKE_C_COMPILER} (id: ${CMAKE_C_COMPILER_ID})") message(" version .............: ${CMAKE_C_COMPILER_VERSION}") -if(CMAKE_CXX_COMPILER) - message(" Compiler: C++ ...............: ${CMAKE_CXX_COMPILER} (${CMAKE_CXX_COMPILER_ID})") - message(" version .............: ${CMAKE_CXX_COMPILER_VERSION}") -endif() +message(" is gnu ..............: ${CMAKE_COMPILER_IS_GNUCC}") +message(" Compiler: C++ ...............: ${CMAKE_CXX_COMPILER} (id: ${CMAKE_CXX_COMPILER_ID})") +message(" version .............: ${CMAKE_CXX_COMPILER_VERSION}") if(${Java_FOUND}) message(" Compiler: Javac .............: ${Java_JAVAC_EXECUTABLE}") message(" version .............: ${Java_VERSION_STRING}") @@ -1063,11 +974,12 @@ else() endif() endif() if(CMAKE_Fortran_COMPILER) - message(" Compiler: Fortran ...........: ${CMAKE_Fortran_COMPILER} (${CMAKE_Fortran_COMPILER_ID})") + message(" Compiler: Fortran ...........: ${CMAKE_Fortran_COMPILER} (id: ${CMAKE_Fortran_COMPILER_ID})") message(" version .............: ${CMAKE_Fortran_COMPILER_VERSION}") endif() message(" Linker: .....................: ${CMAKE_LINKER}") message(" version .............: ${LINKER_VERSION}") +message(" Make program: ...............: ${CMAKE_MAKE_PROGRAM}") message("") message(" CFlags ......................: ${CMAKE_C_FLAGS}") message(" CXXFlags ....................: ${CMAKE_CXX_FLAGS}") @@ -1087,7 +999,6 @@ if (${Java_FOUND}) else() message(" Compile Java ................: NO") endif() -message(" Compile Scala................: ${HAVE_Scala}") message(" Compile Lua .................: ${HAVE_LUA}") message(" Compile Smpi ................: ${HAVE_SMPI}") message(" Compile MPI testsuite .......: ${enable_smpi_MPICH3_testsuite}")