X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fbf3527063143094ed40d1a4a3bc595c29b81145..86f950293752bcf0cf3aa4dc0317f65e1cf938b5:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index dfd7569c8a..a6594177fa 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,8 +177,6 @@ if(WIN32) set(INCLUDES ${INCLUDES} ${CMAKE_INCLUDE_WIN}) unset(CMAKE_INCLUDE_WIN) - set(_XBT_WIN32 1) - endif() include_directories(${INCLUDES}) @@ -268,8 +265,6 @@ 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") @@ -282,13 +277,10 @@ else() set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE") 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/ptrace.h" HAVE_SYS_PTRACE_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("ucontext.h" HAVE_UCONTEXT_H) @@ -510,66 +502,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") @@ -643,15 +586,6 @@ if(HAVE_UCONTEXT_H) 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) @@ -674,8 +608,6 @@ if(HAVE_UCONTEXT_H) 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() @@ -972,56 +904,22 @@ endif() ### Print the result of configuration message("") -message("______________________________________________________________________") -message("______________________________________________________________________ DEBUG") -message("CMAKE_HOME_DIRECTORY ........: ${CMAKE_HOME_DIRECTORY}") -message("") -message("PTH_STACKGROWTH .............: ${PTH_STACKGROWTH}") -message("HAVE_VA_COPY ................: ${HAVE_VA_COPY}") -message("") -message("\#define pth_skaddr_makecontext(skaddr,sksize) (${makecontext_addr})") -message("\#define pth_sksize_makecontext(skaddr,sksize) (${makecontext_size})") -message("\#define __VA_COPY_USE ${__VA_COPY_USE}") -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_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_DLFCN_H ................: ${HAVE_DLFCN_H}") - -message("") -message("HAVE_GETTIMEOFDAY ...........: ${HAVE_GETTIMEOFDAY}") -message("HAVE_NANOSLEEP ..............: ${HAVE_NANOSLEEP}") -message("HAVE_GETDTABLESIZE ..........: ${HAVE_GETDTABLESIZE}") -message("HAVE_SYSCONF ................: ${HAVE_SYSCONF}") -message("HAVE_POPEN ..................: ${HAVE_POPEN}") -message("HAVE_VASPRINTF ..............: ${HAVE_VASPRINTF}") -message("HAVE_MMAP ...................: ${HAVE_MMAP}") -message("HAVE_PRIVATIZATION ..........: ${HAVE_PRIVATIZATION}") -message("HAVE_PROCESS_VM_READV .......: ${HAVE_PROCESS_VM_READV}") -message("HAVE_THREAD_LOCAL_STORAGE ...: ${HAVE_THREAD_LOCAL_STORAGE}") -message("HAVE_MMALLOC ................: ${HAVE_MMALLOC}") -message("") -message("HAVE_THREAD_CONTEXTS .............: ${HAVE_THREAD_CONTEXTS}") -message("HAVE_UCONTEXT_CONTEXTS ............: ${HAVE_UCONTEXT_CONTEXTS}") -message("______________________________________________________________________") -message("______________________________________________________________________ DEBUG END") -message("") - +message("##########################################") +message("#### Content of src/internal_config.h ####") +file(STRINGS ${CMAKE_CURRENT_BINARY_DIR}/src/internal_config.h config_output) +LIST(REMOVE_AT config_output 0 1 2 3 4 5 6 7 8) # Pass the file header +foreach(line ${config_output}) + message(" ${line}") +endforeach() +message("#### end of src/internal_config.h ####") +message("##########################################") message("\nConfiguration of package `simgrid':") +message(" Home directory ..............: ${CMAKE_HOME_DIRECTORY}") message(" Build Name ..................: ${BUILDNAME}") message(" Cmake Generator .............: ${CMAKE_GENERATOR}") -message(" SITE ........................: ${SITE}") +message(" Site ........................: ${SITE}") +message(" Install prefix ..............: ${CMAKE_INSTALL_PREFIX}") if(release) message(" Release .....................: simgrid-${release_version}${SIMGRID_VERSION_EXTRA} (release build)") else() @@ -1070,23 +968,21 @@ else() endif() message(" Compile Lua .................: ${HAVE_LUA}") message(" Compile Smpi ................: ${HAVE_SMPI}") -message(" Compile MPI testsuite .......: ${enable_smpi_MPICH3_testsuite}") -message(" Compile Smpi f77 ............: ${SMPI_FORTRAN}") -message(" Compile Smpi f90 ............: ${SMPI_FORTRAN}") +message(" Smpi fortran ..............: ${SMPI_FORTRAN}") +message(" MPICH3 testsuite ..........: ${enable_smpi_MPICH3_testsuite}") +message(" Privatization .............: ${HAVE_PRIVATIZATION}") message(" Compile Boost.Context support: ${HAVE_BOOST_CONTEXTS}") message("") message(" Maintainer mode .............: ${enable_maintainer_mode}") message(" Documentation................: ${enable_documentation}") message(" Model checking ..............: ${HAVE_MC}") -message(" Tracing mode ................: ${enable_tracing}") -message(" Jedule mode ................: ${enable_jedule}") +message(" Jedule mode ................: ${HAVE_JEDULE}") message(" Graphviz mode ...............: ${HAVE_GRAPHVIZ}") message(" Sigc++ mode .................: ${SIMGRID_HAVE_LIBSIG}") message(" Mallocators .................: ${enable_mallocators}") message("") message(" Simgrid dependencies ........: ${SIMGRID_DEP}") message("") -message(" INSTALL_PREFIX ..............: ${CMAKE_INSTALL_PREFIX}") exec_program("${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/Testing/Notes/" OUTPUT_VARIABLE OKIDOKI) file(WRITE ${PROJECT_BINARY_DIR}/Testing/Notes/Build "GIT version : ${GIT_VERSION}\n")