X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/25565db4e0e123731ccc3a7bba4af66c92fb21dc..9fa79033d8728e656feb09c6c08e570dc8c256c9:/buildtools/Cmake/CompleteInFiles.cmake diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 5becaa899b..5c6e95a983 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -34,6 +34,7 @@ CHECK_INCLUDE_FILE(memory.h HAVE_MEMORY_H) CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H) CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H) CHECK_INCLUDE_FILE(string.h HAVE_STRING_H) +CHECK_INCLUDE_FILE(ucontext.h HAVE_UCONTEXT_H) CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP) @@ -49,6 +50,11 @@ CHECK_FUNCTION_EXISTS(vasprintf HAVE_VASPRINTF) CHECK_FUNCTION_EXISTS(makecontext HAVE_MAKECONTEXT) CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP) +if(WIN32) + set(HAVE_UCONTEXT_H 1) + set(HAVE_MAKECONTEXT 1) +endif(WIN32) + set(CONTEXT_UCONTEXT 0) SET(CONTEXT_THREADS 0) SET(HAVE_RUBY 0) @@ -60,9 +66,13 @@ if(enable_tracing) SET(HAVE_TRACING 1) endif(enable_tracing) -if(enable_model-checking) +if(enable_model-checking AND HAVE_MMAP) + SET(HAVE_MC 1) SET(MMALLOC_WANT_OVERIDE_LEGACY 1) -endif(enable_model-checking) +else(enable_model-checking AND HAVE_MMAP) + SET(HAVE_MC 0) + SET(MMALLOC_WANT_OVERIDE_LEGACY 0) +endif(enable_model-checking AND HAVE_MMAP) if(enable_lua) exec_program("lua -v" OUTPUT_VARIABLE LUA_VERSION) @@ -146,7 +156,7 @@ if(enable_ruby) set(RUBY_LIBRARY_NAME ruby) endif(NOT RUBY_LIBRARY_NAME) string(REGEX REPLACE "libruby.*$" "" RUBY_LIBRARY ${RUBY_LIBRARY}) - SET(CMAKE_EXE_LINKER_FLAGS "-L${RUBY_LIBRARY}") + SET(CMAKE_EXE_LINKER_FLAGS "-L${RUBY_LIBRARY} ") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${RUBY_CONFIG_INCLUDE_DIR} ") #path to config.h string(COMPARE EQUAL "${RUBY_INCLUDE_DIR}" "${RUBY_CONFIG_INCLUDE_DIR}" operation) if(NOT operation) @@ -190,9 +200,9 @@ endif(enable_java) #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT GTNETS -if(NOT enable_gtnets) +if(NOT enable_gtnets OR enable_supernovae) SET(HAVE_GTNETS 0) -else(NOT enable_gtnets) +else(NOT enable_gtnets OR enable_supernovae) set(GTNETS_LDFLAGS "-L${gtnets_path}/lib") set(GTNETS_CPPFLAGS "-I${gtnets_path}/include/gtnets") exec_program("${CMAKE_CXX_COMPILER} ${GTNETS_CPPFLAGS} -lgtnets ${GTNETS_LDFLAGS} ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_gtnets.cpp " OUTPUT_VARIABLE COMPILE_GTNETS_VAR) @@ -203,7 +213,7 @@ else(NOT enable_gtnets) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ") endif(COMPILE_GTNETS_VAR) -endif(NOT enable_gtnets) +endif(NOT enable_gtnets OR enable_supernovae) #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT THREADS @@ -346,17 +356,16 @@ if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn) endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn) if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git) - find_file(GIT ".git" ${PROJECT_DIRECTORY}) + exec_program("git --git-dir=${PROJECT_DIRECTORY}/.git log --oneline -1" OUTPUT_VARIABLE "GIT_VERSION") - string(REGEX REPLACE " .*" "" GIT_VERSION "${GIT_VERSION}") exec_program("git --git-dir=${PROJECT_DIRECTORY}/.git log -n 1 --format=%ai ." OUTPUT_VARIABLE "GIT_DATE") exec_program("git svn info" ${PROJECT_DIRECTORY} OUTPUT_VARIABLE "GIT_SVN_VERSION") + + string(REGEX REPLACE " .*" "" GIT_VERSION "${GIT_VERSION}") string(REPLACE "\n" ";" GIT_SVN_VERSION ${GIT_SVN_VERSION}) STRING(REPLACE " +0000" "" GIT_DATE ${GIT_DATE}) STRING(REPLACE " " "~" GIT_DATE ${GIT_DATE}) STRING(REPLACE ":" "-" GIT_DATE ${GIT_DATE}) - message("GIT_DATE : ${GIT_DATE}") - message("GIT_VERSION : ${GIT_VERSION}") foreach(line ${GIT_SVN_VERSION}) string(REGEX MATCH "^Revision:.*" line_good ${line}) if(line_good) @@ -364,7 +373,6 @@ if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git) set(SVN_VERSION ${line_good}) endif(line_good) endforeach(line ${GIT_SVN_VERSION}) - message("GIT_SVN_VERSION : ${SVN_VERSION}") endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git) ################################### @@ -466,18 +474,21 @@ SET(SIZEOF_MAX ${var3}) #-------------------------------------------------------------------------------------------------- set(makecontext_CPPFLAGS_2 "") -if(HAVE_MAKECONTEXT) +if(HAVE_MAKECONTEXT OR WIN32) set(makecontext_CPPFLAGS "-DTEST_makecontext") if(CMAKE_SYSTEM_NAME MATCHES "Darwin") set(makecontext_CPPFLAGS_2 "-DOSX") endif(CMAKE_SYSTEM_NAME MATCHES "Darwin") + + if(WIN32) + set(makecontext_CPPFLAGS_2 "-DWIN32 ${INCLUDES}") + endif(WIN32) try_run(RUN_makecontext_VAR COMPILE_makecontext_VAR ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_stacksetup.c COMPILE_DEFINITIONS "${makecontext_CPPFLAGS} ${makecontext_CPPFLAGS_2}" ) - file(READ ${simgrid_BINARY_DIR}/conftestval MAKECONTEXT_ADDR_SIZE) string(REPLACE "\n" "" MAKECONTEXT_ADDR_SIZE "${MAKECONTEXT_ADDR_SIZE}") string(REGEX MATCH ;^.*,;MAKECONTEXT_ADDR "${MAKECONTEXT_ADDR_SIZE}") @@ -487,7 +498,7 @@ if(HAVE_MAKECONTEXT) set(pth_skaddr_makecontext "#define pth_skaddr_makecontext(skaddr,sksize) (${makecontext_addr})") set(pth_sksize_makecontext "#define pth_sksize_makecontext(skaddr,sksize) (${makecontext_size})") -endif(HAVE_MAKECONTEXT) +endif(HAVE_MAKECONTEXT OR WIN32) #-------------------------------------------------------------------------------------------------- @@ -618,7 +629,7 @@ foreach(fct ${diff_va}) endif(${fctbis} STREQUAL "memcpy((void *)(d), (void *)(s)), sizeof(*(s))") if(NOT STATUS_OK) - set(__VA_COPY_USE "__VA_COPY_USE_${ac_cv_va_copy}") + set(__VA_COPY_USE "__VA_COPY_USE_${ac_cv_va_copy}(d, s)") endif(NOT STATUS_OK) set(STATUS_OK "1") @@ -689,18 +700,14 @@ endif(ADDR2LINE) ### File to create -configure_file(${PROJECT_DIRECTORY}/src/context_sysv_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/context_sysv_config.h) +configure_file("${PROJECT_DIRECTORY}/src/context_sysv_config.h.in" "${PROJECT_DIRECTORY}/src/context_sysv_config.h" @ONLY IMMEDIATE) SET( CMAKEDEFINE "#cmakedefine" ) -configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/gras_config.h.in" "${PROJECT_DIRECTORY}/include/gras_config.h" @ONLY IMMEDIATE) -configure_file("${PROJECT_DIRECTORY}/include/gras_config.h" "${PROJECT_DIRECTORY}/include/gras_config.h" @ONLY IMMEDIATE) -configure_file("${PROJECT_DIRECTORY}/include/simgrid_config.h.in" "${PROJECT_DIRECTORY}/include/simgrid_config.h" @ONLY IMMEDIATE) -configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/tracing_config.h.in" "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE) -configure_file("${PROJECT_DIRECTORY}/include/instr/tracing_config.h" "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE) - -if(NOT prefix) - set(prefix /usr/local) -endif(NOT prefix) +configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/gras_config.h.in" "${PROJECT_DIRECTORY}/src/gras_config.h" @ONLY IMMEDIATE) +configure_file("${PROJECT_DIRECTORY}/src/gras_config.h" "${PROJECT_DIRECTORY}/src/gras_config.h" @ONLY IMMEDIATE) +configure_file("${PROJECT_DIRECTORY}/include/simgrid_config.h.in" "${PROJECT_DIRECTORY}/include/simgrid_config.h" @ONLY IMMEDIATE) +configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/tracing_config.h.in" "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE) +configure_file("${PROJECT_DIRECTORY}/include/instr/tracing_config.h" "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE) set(top_srcdir "${PROJECT_DIRECTORY}") set(srcdir "${PROJECT_DIRECTORY}/src") @@ -709,6 +716,7 @@ set(exec_prefix ${prefix}) set(includedir ${prefix}/include) set(top_builddir ${PROJECT_DIRECTORY}) set(libdir ${exec_prefix}/lib) +set(CMAKE_LINKARGS "${CMAKE_CURRENT_BINARY_DIR}/lib") configure_file(${PROJECT_DIRECTORY}/src/smpi/smpicc.in ${CMAKE_CURRENT_BINARY_DIR}/bin/smpicc @ONLY) configure_file(${PROJECT_DIRECTORY}/src/smpi/smpirun.in ${CMAKE_CURRENT_BINARY_DIR}/bin/smpirun @ONLY)