X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d80d762d5f337406c0bf863af8cfb19ab83085a..d649c1b9b2415afa32720000a369572588ce6462:/buildtools/Cmake/CompleteInFiles.cmake diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index e97750e3b9..828615aaac 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -41,6 +41,7 @@ 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("stdio.h" HAVE_STDIO_H) CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP) @@ -56,9 +57,11 @@ CHECK_FUNCTION_EXISTS(vasprintf HAVE_VASPRINTF) CHECK_FUNCTION_EXISTS(makecontext HAVE_MAKECONTEXT) CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP) -if(WIN32) +if(WIN32) #THOSE FILES ARE FUNCTIONS ARE NOT DETECTED BUT THEY SHOULD... set(HAVE_UCONTEXT_H 1) set(HAVE_MAKECONTEXT 1) + set(HAVE_SNPRINTF 1) + set(HAVE_VSNPRINTF 1) endif(WIN32) set(CONTEXT_UCONTEXT 0) @@ -67,11 +70,16 @@ SET(HAVE_RUBY 0) set(HAVE_LUA 0) SET(HAVE_JAVA 0) SET(HAVE_TRACING 0) +SET(HAVE_LATENCY_BOUND_TRACKING 0) if(enable_tracing) SET(HAVE_TRACING 1) endif(enable_tracing) +if(enable_latency_bound_tracking) + SET(HAVE_LATENCY_BOUND_TRACKING 1) +endif(enable_latency_bound_tracking) + if(enable_model-checking AND HAVE_MMAP) SET(HAVE_MC 1) SET(MMALLOC_WANT_OVERIDE_LEGACY 1) @@ -88,11 +96,11 @@ if(enable_lua) foreach(path_lua ${LUA_LIBRARIES}) string(REGEX REPLACE "liblua.*" "" path_lua_to_use ${path_lua}) string(REGEX MATCH ".*lua.*" operation "${path_lua}") - if(NOT operation) + if(operation) string(REGEX REPLACE "${path_lua_to_use}" "" liblua ${path_lua}) string(REPLACE "lib" "" liblua "${liblua}") string(REGEX REPLACE "[.][^.]*$" "" liblua "${liblua}") - endif(NOT operation) + endif(operation) endforeach(path_lua ${LUA_LIBRARIES}) else(LUA51_FOUND) message("Lua binding need version 5.1 and cmake version 2.8") @@ -180,14 +188,32 @@ mark_as_advanced(HAVE_CGRAPH_H) if(HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H) string(REGEX REPLACE "/libcgraph.*" "" lib_cgraph ${HAVE_CGRAPH_LIB}) string(REPLACE "/cgraph.h" "" file_cgraph_h ${HAVE_CGRAPH_H}) - string(REGEX MATCH "-I${file_cgraph_h} " operation "${CMAKE_C_FLAGS}") if(NOT operation) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${file_cgraph_h} ") endif(NOT operation) + string(REGEX MATCH "-L${lib_cgraph} " operation "${CMAKE_C_FLAGS}") + if(NOT operation) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${lib_cgraph} ") + endif(NOT operation) endif(HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H) +#-------------------------------------------------------------------------------------------------- +### Initialize of pcre +find_library(PATH_PCRE_LIB pcre "/usr/lib/") +set(HAVE_PCRE_LIB 0) +if(PATH_PCRE_LIB) + string(REGEX REPLACE "/libpcre.*[.]so$" "" PATHLIBPCRE "${PATH_PCRE_LIB}") + string(REGEX MATCH "-L${PATHLIBPCRE} " operation "${CMAKE_C_FLAGS}") + if(NOT operation) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${PATHLIBPCRE} ") + endif(NOT operation) + set(HAVE_PCRE_LIB 1) +else(PATH_PCRE_LIB) + message("You should install libpcre (please install the libpcre3-dev package or equivalent)") +endif(PATH_PCRE_LIB) + #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT THREADS @@ -535,8 +561,8 @@ set(diff_va "va_copy((d),(s))" "__builtin_va_copy((d),(s))" "do { (d) = (s)\; } while (0)" "do { *(d) = *(s)\; } while (0)" -"memcpy((void *)&(d), (void *)&(s)), sizeof((s))" -"memcpy((void *)(d), (void *)(s)), sizeof(*(s))" +"memcpy((void *)&(d), (void *)&(s), sizeof(s))" +"memcpy((void *)(d), (void *)(s), sizeof(*(s)))" ) foreach(fct ${diff_va}) @@ -606,15 +632,15 @@ foreach(fct ${diff_va}) set(__VA_COPY_USE_ASP "do { *(d) = *(s); } while (0)") endif(${fctbis} STREQUAL "do { *(d) = *(s) } while (0)") - if(${fctbis} STREQUAL "memcpy((void *)&(d), (void *)&(s)), sizeof((s))") + if(${fctbis} STREQUAL "memcpy((void *)&(d), (void *)&(s), sizeof(s))") set(ac_cv_va_copy "CPS") - set(__VA_COPY_USE_CPS "memcpy((void *)&(d), (void *)&(s)), sizeof((s))") - endif(${fctbis} STREQUAL "memcpy((void *)&(d), (void *)&(s)), sizeof((s))") + set(__VA_COPY_USE_CPS "memcpy((void *)&(d), (void *)&(s), sizeof(s))") + endif(${fctbis} STREQUAL "memcpy((void *)&(d), (void *)&(s), sizeof(s))") - if(${fctbis} STREQUAL "memcpy((void *)(d), (void *)(s)), sizeof(*(s))") + if(${fctbis} STREQUAL "memcpy((void *)(d), (void *)(s), sizeof(*(s)))") set(ac_cv_va_copy "CPP") - set(__VA_COPY_USE_CPP "memcpy((void *)(d), (void *)(s)), sizeof(*(s))") - endif(${fctbis} STREQUAL "memcpy((void *)(d), (void *)(s)), sizeof(*(s))") + set(__VA_COPY_USE_CPP "memcpy((void *)(d), (void *)(s), sizeof(*(s)))") + 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}(d, s)") @@ -626,11 +652,10 @@ foreach(fct ${diff_va}) endforeach(fct ${diff_va}) #-------------------------------------------------------------------------------------------------- -### Try execut getline command -try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR +### check for getline +try_compile(COMPILE_RESULT_VAR ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_getline.c - OUTPUT_VARIABLE GETLINE_OUTPUT ) if(NOT COMPILE_RESULT_VAR) @@ -642,8 +667,12 @@ SET(SIMGRID_NEED_GETLINE 0) endif(NOT COMPILE_RESULT_VAR) ### check for a working snprintf -if(HAVE_SNPRINTF AND HAVE_VSNPRINTF) - +if(HAVE_SNPRINTF AND HAVE_VSNPRINTF OR WIN32) + if(WIN32) + #set(HAVE_SNPRINTF 1) + #set(HAVE_VSNPRINTF 1) + endif(WIN32) + try_run(RUN_SNPRINTF_FUNC_VAR COMPILE_SNPRINTF_FUNC_VAR ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_snprintf.c @@ -666,7 +695,7 @@ if(HAVE_SNPRINTF AND HAVE_VSNPRINTF) if(RUN_SNPRINTF_FUNC_VAR MATCHES "FAILED_TO_RUN") set(PREFER_PORTABLE_SNPRINTF 1) endif(RUN_SNPRINTF_FUNC_VAR MATCHES "FAILED_TO_RUN") -endif(HAVE_SNPRINTF AND HAVE_VSNPRINTF) +endif(HAVE_SNPRINTF AND HAVE_VSNPRINTF OR WIN32) ### check for asprintf function familly if(HAVE_ASPRINTF) @@ -711,11 +740,13 @@ set(includedir ${prefix}/include) set(top_builddir ${PROJECT_DIRECTORY}) set(libdir ${exec_prefix}/lib) set(CMAKE_LINKARGS "${CMAKE_CURRENT_BINARY_DIR}/lib") +set(CMAKE_SMPI_COMMAND "export LD_LIBRARY_PATH=${CMAKE_CURRENT_BINARY_DIR}/lib:${gtnets_path}/lib:$LD_LIBRARY_PATH") 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) configure_file(${PROJECT_DIRECTORY}/examples/smpi/hostfile ${CMAKE_CURRENT_BINARY_DIR}/examples/smpi/hostfile COPYONLY) configure_file(${PROJECT_DIRECTORY}/examples/msg/small_platform.xml ${CMAKE_CURRENT_BINARY_DIR}/examples/msg/small_platform.xml COPYONLY) +configure_file(${PROJECT_DIRECTORY}/examples/msg/small_platform_with_routers.xml ${CMAKE_CURRENT_BINARY_DIR}/examples/msg/small_platform_with_routers.xml COPYONLY) exec_program("chmod a=rwx ${CMAKE_CURRENT_BINARY_DIR}/bin/smpicc" OUTPUT_VARIABLE OKITOKI) exec_program("chmod a=rwx ${CMAKE_CURRENT_BINARY_DIR}/bin/smpirun" OUTPUT_VARIABLE OKITOKI)