X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/eea304df3c19822739670c90d53cb890702ce897..00b8b9a6c24efa391b997f26d5ff6d2dfd0b0dd1:/buildtools/Cmake/CompleteInFiles.cmake diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 549f91ad39..479b997c3f 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -2,6 +2,9 @@ include(CheckFunctionExists) include(CheckIncludeFile) include(CheckIncludeFiles) include(CheckLibraryExists) +if(APPLE) +set( CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES} /opt/local/include") +endif(APPLE) # Checks for header libraries functions. @@ -34,7 +37,8 @@ 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_INCLUDE_FILE(graphviz/cgraph.h HAVE_CGRAPH_H) CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP) CHECK_FUNCTION_EXISTS(getdtablesize HAVE_GETDTABLESIZE) @@ -49,6 +53,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,17 +69,21 @@ 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) - string(REGEX MATCH "[0-9].[0-9].[0-9]" LUA_VERSION "${LUA_VERSION}") - string(REGEX MATCH "^[0-9]" LUA_MAJOR_VERSION "${LUA_VERSION}") - string(REPLACE "${LUA_MAJOR_VERSION}." "" LUA_VERSION "${LUA_VERSION}") - string(REGEX MATCH "^[0-9]" LUA_MINOR_VERSION "${LUA_VERSION}") - string(REPLACE "${LUA_MINOR_VERSION}." "" LUA_PATCH_VERSION "${LUA_VERSION}") + string(REGEX MATCH "[0-9]+[.]+[0-9]+[.]+[0-9]+" LUA_VERSION "${LUA_VERSION}") + string(REGEX MATCH "^[0-9]+" LUA_MAJOR_VERSION "${LUA_VERSION}") + string(REGEX MATCH "[0-9]+[.]+[0-9]+$" LUA_VERSION "${LUA_VERSION}") + string(REGEX MATCH "^[0-9]+" LUA_MINOR_VERSION "${LUA_VERSION}") + string(REGEX MATCH "[0-9]+$" LUA_PATCH_VERSION "${LUA_VERSION}") if(LUA_MAJOR_VERSION MATCHES "5" AND LUA_MINOR_VERSION MATCHES "1") @@ -146,7 +159,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 +203,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 +216,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 +359,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 +376,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 +477,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 "-D_XBT_WIN32 ${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 +501,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 +632,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") @@ -698,10 +712,6 @@ configure_file("${PROJECT_DIRECTORY}/include/simgrid_config.h.in" "${PROJECT_ 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) - set(top_srcdir "${PROJECT_DIRECTORY}") set(srcdir "${PROJECT_DIRECTORY}/src")