X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9542feb75e0699f61b74935446dfed3991e45fa6..6e31bb477ffc836d630ada9793873dab17243622:/buildtools/Cmake/CompleteInFiles.cmake diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 4f801ebb7d..d398e7a5cc 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -19,6 +19,7 @@ string(TOUPPER ${enable_pcre} enable_pcre) if(enable_pcre STREQUAL "AUTO" OR enable_pcre STREQUAL "ON") include(FindPCRE) endif(enable_pcre STREQUAL "AUTO" OR enable_pcre STREQUAL "ON") +set(HAVE_GTNETS 0) if(enable_gtnets) include(FindGTnets) endif(enable_gtnets) @@ -28,6 +29,10 @@ endif(enable_smpi) if(enable_lua) include(FindLua51Simgrid) endif(enable_lua) +set(HAVE_NS3 0) +if(enable_ns3) + include(FindNS3) +endif(enable_ns3) # Checks for header libraries functions. CHECK_LIBRARY_EXISTS(pthread pthread_create "" pthread) @@ -78,6 +83,20 @@ CHECK_FUNCTION_EXISTS(vasprintf HAVE_VASPRINTF) CHECK_FUNCTION_EXISTS(makecontext HAVE_MAKECONTEXT) CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP) +#Check if __thread is defined +exec_program("${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_thread_storage.c" + OUTPUT_VARIABLE HAVE_thread_storage_run) +if(HAVE_thread_storage_run) + set(HAVE_THREAD_LOCAL_STORAGE 0) +else(HAVE_thread_storage_run) + set(HAVE_THREAD_LOCAL_STORAGE 1) +endif(HAVE_thread_storage_run) + +# Our usage of mmap is Linux-specific (flag MAP_ANONYMOUS), but kFreeBSD uses a GNU libc +IF(NOT "${CMAKE_SYSTEM}" MATCHES "Linux" AND NOT "${CMAKE_SYSTEM}" MATCHES "kFreeBSD") + SET(HAVE_MMAP 0) +ENDIF(NOT "${CMAKE_SYSTEM}" MATCHES "Linux" AND NOT "${CMAKE_SYSTEM}" MATCHES "kFreeBSD") + if(WIN32) #THOSE FILES ARE FUNCTIONS ARE NOT DETECTED BUT THEY SHOULD... set(HAVE_UCONTEXT_H 1) set(HAVE_MAKECONTEXT 1) @@ -637,7 +656,7 @@ set(includedir ${CMAKE_INSTALL_PREFIX}/include) set(top_builddir ${CMAKE_HOME_DIRECTORY}) set(libdir ${exec_prefix}/lib) set(CMAKE_LINKARGS "${CMAKE_BINARY_DIR}/lib") -set(CMAKE_SMPI_COMMAND "export LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib:${GTNETS_LIB_PATH}:$LD_LIBRARY_PATH") +set(CMAKE_SMPI_COMMAND "export LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib:${GTNETS_LIB_PATH}:${HAVE_NS3_LIB}:$LD_LIBRARY_PATH") configure_file(${CMAKE_HOME_DIRECTORY}/include/smpi/smpif.h.in ${CMAKE_BINARY_DIR}/include/smpi/smpif.h @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpicc.in ${CMAKE_BINARY_DIR}/bin/smpicc @ONLY) @@ -672,12 +691,14 @@ else("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_HOME_DIRECTORY}") configure_file(${CMAKE_HOME_DIRECTORY}/examples/smpi/hostfile ${CMAKE_BINARY_DIR}/examples/smpi/hostfile COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/examples/msg/small_platform.xml ${CMAKE_BINARY_DIR}/examples/msg/small_platform.xml COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/examples/msg/small_platform_with_routers.xml ${CMAKE_BINARY_DIR}/examples/msg/small_platform_with_routers.xml COPYONLY) + configure_file(${CMAKE_HOME_DIRECTORY}/examples/msg/tracing/platform.xml ${CMAKE_BINARY_DIR}/examples/msg/tracing/platform.xml COPYONLY) set(generate_files_to_clean ${generate_files_to_clean} ${CMAKE_BINARY_DIR}/examples/smpi/hostfile ${CMAKE_BINARY_DIR}/examples/msg/small_platform.xml ${CMAKE_BINARY_DIR}/examples/msg/small_platform_with_routers.xml + ${CMAKE_BINARY_DIR}/examples/msg/tracing/platform.xml ) endif("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_HOME_DIRECTORY}")