X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/14e582a514c60f61155a4548fc48841154069969..bd0fb57e458ea6c58fe75a022c52a9a0336452b5:/buildtools/Cmake/CompleteInFiles.cmake diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 0ece328a86..037d1ed69a 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -52,7 +52,7 @@ ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^s390") ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh") message(STATUS "System processor: sh") -ELSE() #PROCESSOR NOT fIND +ELSE() #PROCESSOR NOT FOUND message(STATUS "PROCESSOR NOT FOUND: ${CMAKE_SYSTEM_PROCESSOR}") ENDIF() @@ -247,6 +247,7 @@ if(pthread) RESULT_VARIABLE HAVE_SEM_OPEN_run OUTPUT_VARIABLE var_compil ) + file(REMOVE sem_open) if(NOT HAVE_SEM_OPEN_run) set(HAVE_SEM_OPEN 1) @@ -271,7 +272,7 @@ if(pthread) execute_process(COMMAND ${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_sem_init.c -lpthread -o sem_init WORKING_DIRECTORY ${CMAKE_BINARY_DIR} RESULT_VARIABLE HAVE_SEM_INIT_run OUTPUT_VARIABLE HAVE_SEM_INIT_compil) - + if(HAVE_SEM_INIT_compil) set(HAVE_SEM_INIT 0) message(STATUS "Warning: sem_init not compilable") @@ -285,6 +286,8 @@ if(pthread) RESULT_VARIABLE HAVE_SEM_INIT_run OUTPUT_VARIABLE var_compil ) + file(REMOVE sem_init) + if(NOT HAVE_SEM_INIT_run) set(HAVE_SEM_INIT 1) @@ -448,14 +451,14 @@ if(EXISTS ${CMAKE_HOME_DIRECTORY}/.git/ AND NOT WIN32) string(REPLACE "\n" "" url "${url}") #message(STATUS "Git url: ${url}") if(url) - execute_process(COMMAND git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log --oneline -1 + execute_process(COMMAND git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log --pretty=oneline --abbrev-commit -1 WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/ OUTPUT_VARIABLE GIT_VERSION RESULT_VARIABLE ret ) string(REPLACE "\n" "" GIT_VERSION "${GIT_VERSION}") message(STATUS "Git version: ${GIT_VERSION}") - execute_process(COMMAND git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log -n 1 --format=%ai . + execute_process(COMMAND git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log -n 1 --pretty=format:%ai . WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/ OUTPUT_VARIABLE GIT_DATE RESULT_VARIABLE ret @@ -463,149 +466,12 @@ if(EXISTS ${CMAKE_HOME_DIRECTORY}/.git/ AND NOT WIN32) string(REPLACE "\n" "" GIT_DATE "${GIT_DATE}") message(STATUS "Git date: ${GIT_DATE}") string(REGEX REPLACE " .*" "" GIT_VERSION "${GIT_VERSION}") - STRING(REPLACE " +0000" "" GIT_DATE ${GIT_DATE}) - STRING(REPLACE " " "~" GIT_DATE ${GIT_DATE}) - STRING(REPLACE ":" "-" GIT_DATE ${GIT_DATE}) + STRING(REPLACE " +0000" "" GIT_DATE "${GIT_DATE}") + STRING(REPLACE " " "~" GIT_DATE "${GIT_DATE}") + STRING(REPLACE ":" "-" GIT_DATE "${GIT_DATE}") endif() endif() -################################### -## SimGrid and GRAS specific checks -## - -IF(NOT CMAKE_CROSSCOMPILING) - # Check architecture signature begin - try_run(RUN_GRAS_VAR COMPILE_GRAS_VAR - ${CMAKE_BINARY_DIR} - ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_GRAS_ARCH.c - RUN_OUTPUT_VARIABLE var1 - ) - if(BIGENDIAN) - set(val_big "B${var1}") - set(GRAS_BIGENDIAN 1) - else() - set(val_big "l${var1}") - set(GRAS_BIGENDIAN 0) - endif() - - # The syntax of this magic string is given in src/xbt/datadesc/ddt_convert.c - # It kinda matches the values that the xbt_arch_desc_t structure can take - - # Basically, the syntax is one char l or B for endianness (little or Big) - # then there is a bunch of blocks separated by _. - # C block is for char, I block for integers, P block for pointers and - # D block for floating points - # For each block there is an amount of chuncks separated by :, each of - # them describing a data size. For example there is only one chunk - # in the char block, because no architecture provide several sizes - # of chars. In integer block, there is 4 chunks: "short int", "int", - # "long int", "long long int". There is 2 pointer chunks for data - # pointers and pointers on functions (thanks to the AMD64 madness). - # Thee two floating points chuncks are for "float" and "double". - # Each chunk is of the form datasize/minimal_alignment_size - - # These informations are used to convert a data stream from one - # formalism to another. Only the GRAS_ARCH is transfered in the - # stream, and it it of cruxial importance to keep these detection - # information here synchronized with the data hardcoded in the - # source in src/xbt/datadesc/ddt_convert.c - - # If you add something here (like a previously unknown architecture), - # please add it to the source code too. - # Please do not modify stuff here since it'd break the GRAS protocol. - # If you really need to change stuff, please also bump - # GRAS_PROTOCOL_VERSION in src/gras/Msg/msg_interface.h - - SET(GRAS_THISARCH "none") - - if(val_big MATCHES "l_C:1/1:_I:2/1:4/1:4/1:8/1:_P:4/1:4/1:_D:4/1:8/1:") - #gras_arch=0; gras_size=32; gras_arch_name=little32_1; - SET(GRAS_ARCH_32_BITS 1) - SET(GRAS_THISARCH 0) - endif() - if(val_big MATCHES "l_C:1/1:_I:2/2:4/2:4/2:8/2:_P:4/2:4/2:_D:4/2:8/2:") - #gras_arch=1; gras_size=32; gras_arch_name=little32_2; - SET(GRAS_ARCH_32_BITS 1) - SET(GRAS_THISARCH 1) - endif() - if(val_big MATCHES "l_C:1/1:_I:2/2:4/4:4/4:8/4:_P:4/4:4/4:_D:4/4:8/4:") - #gras_arch=2; gras_size=32; gras_arch_name=little32_4; - SET(GRAS_ARCH_32_BITS 1) - SET(GRAS_THISARCH 2) - endif() - if(val_big MATCHES "l_C:1/1:_I:2/2:4/4:4/4:8/8:_P:4/4:4/4:_D:4/4:8/8:") - #gras_arch=3; gras_size=32; gras_arch_name=little32_8; - SET(GRAS_ARCH_32_BITS 1) - SET(GRAS_THISARCH 3) - endif() - if(val_big MATCHES "l_C:1/1:_I:2/2:4/4:8/8:8/8:_P:8/8:8/8:_D:4/4:8/8:") - #gras_arch=4; gras_size=64; gras_arch_name=little64; - SET(GRAS_ARCH_32_BITS 0) - SET(GRAS_THISARCH 4) - endif() - if(val_big MATCHES "l_C:1/1:_I:2/2:4/4:4/4:8/8:_P:8/8:8/8:_D:4/4:8/8:") - #gras_arch=5; gras_size=64; gras_arch_name=little64_2; - SET(GRAS_ARCH_32_BITS 0) - SET(GRAS_THISARCH 5) - endif() - - if(val_big MATCHES "B_C:1/1:_I:2/2:4/4:4/4:8/8:_P:4/4:4/4:_D:4/4:8/8:") - #gras_arch=6; gras_size=32; gras_arch_name=big32_8; - SET(GRAS_ARCH_32_BITS 1) - SET(GRAS_THISARCH 6) - endif() - if(val_big MATCHES "B_C:1/1:_I:2/2:4/4:4/4:8/8:_P:4/4:4/4:_D:4/4:8/4:") - #gras_arch=7; gras_size=32; gras_arch_name=big32_8_4; - SET(GRAS_ARCH_32_BITS 1) - SET(GRAS_THISARCH 7) - endif() - if(val_big MATCHES "B_C:1/1:_I:2/2:4/4:4/4:8/4:_P:4/4:4/4:_D:4/4:8/4:") - #gras_arch=8; gras_size=32; gras_arch_name=big32_4; - SET(GRAS_ARCH_32_BITS 1) - SET(GRAS_THISARCH 8) - endif() - if(val_big MATCHES "B_C:1/1:_I:2/2:4/2:4/2:8/2:_P:4/2:4/2:_D:4/2:8/2:") - #gras_arch=9; gras_size=32; gras_arch_name=big32_2; - SET(GRAS_ARCH_32_BITS 1) - SET(GRAS_THISARCH 9) - endif() - if(val_big MATCHES "B_C:1/1:_I:2/2:4/4:8/8:8/8:_P:8/8:8/8:_D:4/4:8/8:") - #gras_arch=10; gras_size=64; gras_arch_name=big64; - SET(GRAS_ARCH_32_BITS 0) - SET(GRAS_THISARCH 10) - endif() - if(val_big MATCHES "B_C:1/1:_I:2/2:4/4:8/8:8/8:_P:8/8:8/8:_D:4/4:8/4:") - #gras_arch=11; gras_size=64; gras_arch_name=big64_8_4; - SET(GRAS_ARCH_32_BITS 0) - SET(GRAS_THISARCH 11) - endif() - - if(GRAS_THISARCH MATCHES "none") - message(STATUS "architecture: ${val_big}") - message(FATAL_ERROR "GRAS_THISARCH is empty: '${GRAS_THISARCH}'") - endif() - - # Check architecture signature end - try_run(RUN_GRAS_VAR COMPILE_GRAS_VAR - ${CMAKE_BINARY_DIR} - ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_GRAS_CHECK_STRUCT_COMPACTION.c - RUN_OUTPUT_VARIABLE var2 - ) - separate_arguments(var2) - foreach(var_tmp ${var2}) - set(${var_tmp} 1) - endforeach(var_tmp ${var2}) - - # Check for [SIZEOF_MAX] - try_run(RUN_SM_VAR COMPILE_SM_VAR - ${CMAKE_BINARY_DIR} - ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_max_size.c - RUN_OUTPUT_VARIABLE var3 - ) - message(STATUS "SIZEOF_MAX ${var3}") - SET(SIZEOF_MAX ${var3}) -ENDIF() - #-------------------------------------------------------------------------------------------------- set(makecontext_CPPFLAGS_2 "") @@ -873,8 +739,8 @@ endif() configure_file("${CMAKE_HOME_DIRECTORY}/src/context_sysv_config.h.in" "${CMAKE_BINARY_DIR}/src/context_sysv_config.h" @ONLY IMMEDIATE) SET( CMAKEDEFINE "#cmakedefine" ) -configure_file("${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/src/gras_config.h.in" "${CMAKE_BINARY_DIR}/src/gras_config.h" @ONLY IMMEDIATE) -configure_file("${CMAKE_BINARY_DIR}/src/gras_config.h" "${CMAKE_BINARY_DIR}/src/gras_config.h" @ONLY IMMEDIATE) +configure_file("${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/src/internal_config.h.in" "${CMAKE_BINARY_DIR}/src/internal_config.h" @ONLY IMMEDIATE) +configure_file("${CMAKE_BINARY_DIR}/src/internal_config.h" "${CMAKE_BINARY_DIR}/src/internal_config.h" @ONLY IMMEDIATE) configure_file("${CMAKE_HOME_DIRECTORY}/include/simgrid_config.h.in" "${CMAKE_BINARY_DIR}/include/simgrid_config.h" @ONLY IMMEDIATE) set(top_srcdir "${CMAKE_HOME_DIRECTORY}") @@ -891,6 +757,7 @@ configure_file(${CMAKE_HOME_DIRECTORY}/include/smpi/smpif.h.in ${CMAKE_BINARY_DI configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpicc.in ${CMAKE_BINARY_DIR}/bin/smpicc @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpif2c.in ${CMAKE_BINARY_DIR}/bin/smpif2c @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpiff.in ${CMAKE_BINARY_DIR}/bin/smpiff @ONLY) +configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpif90.in ${CMAKE_BINARY_DIR}/bin/smpif90 @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpirun.in ${CMAKE_BINARY_DIR}/bin/smpirun @ONLY) ### Script used when simgrid is compiling @@ -904,6 +771,7 @@ set(libdir "${CMAKE_BINARY_DIR}/lib") configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpicc.in ${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpif2c.in ${CMAKE_BINARY_DIR}/smpi_script/bin/smpif2c @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpiff.in ${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff @ONLY) +configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpif90.in ${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90 @ONLY) configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpirun.in ${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun @ONLY) set(top_builddir ${CMAKE_HOME_DIRECTORY}) @@ -912,10 +780,12 @@ if(NOT WIN32) execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpicc) execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpif2c) execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpiff) + execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpif90) execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpirun) execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc) execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/smpi_script/bin/smpif2c) execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff) + execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90) execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun) endif() @@ -926,7 +796,7 @@ set(generated_headers_to_install set(generated_headers ${CMAKE_CURRENT_BINARY_DIR}/src/context_sysv_config.h - ${CMAKE_CURRENT_BINARY_DIR}/src/gras_config.h + ${CMAKE_CURRENT_BINARY_DIR}/src/internal_config.h ) set(generated_files_to_clean @@ -935,12 +805,12 @@ set(generated_files_to_clean ${CMAKE_BINARY_DIR}/bin/smpicc ${CMAKE_BINARY_DIR}/bin/smpif2c ${CMAKE_BINARY_DIR}/bin/smpiff + ${CMAKE_BINARY_DIR}/bin/smpif90 ${CMAKE_BINARY_DIR}/bin/smpirun ${CMAKE_BINARY_DIR}/bin/colorize ${CMAKE_BINARY_DIR}/bin/simgrid_update_xml ${CMAKE_BINARY_DIR}/examples/smpi/tracing/smpi_traced.trace ${CMAKE_BINARY_DIR}/src/supernovae_sg.c - ${CMAKE_BINARY_DIR}/src/supernovae_gras.c ${CMAKE_BINARY_DIR}/src/supernovae_smpi.c ) @@ -952,7 +822,10 @@ else() configure_file(${CMAKE_HOME_DIRECTORY}/examples/msg/tracing/platform.xml ${CMAKE_BINARY_DIR}/examples/msg/tracing/platform.xml COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/actions0.txt ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions0.txt COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/actions1.txt ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions1.txt COPYONLY) + configure_file(${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/actions_allReduce.txt ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions_allReduce.txt COPYONLY) + configure_file(${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/actions_barrier.txt ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions_barrier.txt COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/actions_bcast.txt ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions_bcast.txt COPYONLY) + configure_file(${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/actions_with_isend.txt ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions_with_isend.txt COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/hostfile ${CMAKE_BINARY_DIR}/teshsuite/smpi/hostfile COPYONLY) set(generated_files_to_clean @@ -963,7 +836,10 @@ else() ${CMAKE_BINARY_DIR}/examples/msg/tracing/platform.xml ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions0.txt ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions1.txt + ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions_allReduce.txt + ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions_barrier.txt ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions_bcast.txt + ${CMAKE_BINARY_DIR}/examples/smpi/replay/actions_with_isend.txt ${CMAKE_BINARY_DIR}/teshsuite/smpi/hostfile ) endif()