X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/47a0267eaa6bf1f8ba5d1e36bb40cb03c3396edd..bc1e3bb10f6d78b9d866b0b8e16a1d9bd37a600b:/buildtools/Cmake/CompleteInFiles.cmake diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index e5b01d7d59..e61c78cbf0 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -2,6 +2,14 @@ include(CheckFunctionExists) include(CheckIncludeFile) include(CheckIncludeFiles) include(CheckLibraryExists) +include(TestBigEndian) + +TEST_BIG_ENDIAN(BIGENDIAN) + +set(CMAKE_REQUIRED_INCLUDES + ${CGRAPH_PATH} + ${CMAKE_REQUIRED_INCLUDES} + ) # Checks for header libraries functions. @@ -13,27 +21,29 @@ CHECK_LIBRARY_EXISTS(rt clock_gettime NO_DEFAULT_PATHS HAVE_POSIX_GETTIME) CHECK_INCLUDE_FILES("time.h;sys/time.h" TIME_WITH_SYS_TIME) CHECK_INCLUDE_FILES("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS) -CHECK_INCLUDE_FILE(pthread.h HAVE_PTHREAD_H) -CHECK_INCLUDE_FILE(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H) -CHECK_INCLUDE_FILE(socket.h HAVE_SOCKET_H) -CHECK_INCLUDE_FILE(sys/socket.h HAVE_SYS_SOCKET_H) -CHECK_INCLUDE_FILE(stat.h HAVE_STAT_H) -CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H) -CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H) -CHECK_INCLUDE_FILE(winsock.h HAVE_WINSOCK_H) -CHECK_INCLUDE_FILE(winsock2.h HAVE_WINSOCK2_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(time.h HAVE_TIME_H) -CHECK_INCLUDE_FILE(dlfcn.h HAVE_DLFCN_H) -CHECK_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H) -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("pthread.h" HAVE_PTHREAD_H) +CHECK_INCLUDE_FILE("valgrind/valgrind.h" HAVE_VALGRIND_VALGRIND_H) +CHECK_INCLUDE_FILE("socket.h" HAVE_SOCKET_H) +CHECK_INCLUDE_FILE("sys/socket.h" HAVE_SYS_SOCKET_H) +CHECK_INCLUDE_FILE("stat.h" HAVE_STAT_H) +CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H) +CHECK_INCLUDE_FILE("windows.h" HAVE_WINDOWS_H) +CHECK_INCLUDE_FILE("winsock.h" HAVE_WINSOCK_H) +CHECK_INCLUDE_FILE("winsock2.h" HAVE_WINSOCK2_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("time.h" HAVE_TIME_H) +CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H) +CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H) +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) @@ -49,6 +59,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) @@ -70,11 +85,11 @@ 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") @@ -150,7 +165,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) @@ -192,6 +207,13 @@ if(enable_java) endif(JAVA_COMPILE AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2) endif(enable_java) +#-------------------------------------------------------------------------------------------------- +### Initialize of cgraph + +if(HAVE_CGRAPH_H) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${CGRAPH_PATH} ") +endif(HAVE_CGRAPH_H) + #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT GTNETS if(NOT enable_gtnets OR enable_supernovae) @@ -360,8 +382,6 @@ if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git) 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) @@ -369,14 +389,12 @@ 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) ################################### ## SimGrid and GRAS specific checks ## -include(TestBigEndian) -TEST_BIG_ENDIAN(BIGENDIAN) + # Check architecture signature begin try_run(RUN_GRAS_VAR COMPILE_GRAS_VAR ${PROJECT_DIRECTORY} @@ -471,20 +489,22 @@ 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) - message("MAKECONTEXT_ADDR_SIZE : ${MAKECONTEXT_ADDR_SIZE}") string(REPLACE "\n" "" MAKECONTEXT_ADDR_SIZE "${MAKECONTEXT_ADDR_SIZE}") string(REGEX MATCH ;^.*,;MAKECONTEXT_ADDR "${MAKECONTEXT_ADDR_SIZE}") string(REGEX MATCH ;,.*$; MAKECONTEXT_SIZE "${MAKECONTEXT_ADDR_SIZE}") @@ -493,7 +513,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) #--------------------------------------------------------------------------------------------------