X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b3141365cdcea8da7c4af506703ae369c3948bf8..35623150364de198acec466c14a210eb8ab63ae6:/buildtools/Cmake/CompleteInFiles.cmake diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index c5883acdc4..4685f06700 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -3,12 +3,18 @@ ${CMAKE_MODULE_PATH} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Modules ) -IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") +IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") #Intel processor 64 bits message(STATUS "System processor: amd64") set(HAVE_RAWCTX 1) +ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86") #Intel processor 32 bits + message(STATUS "System processor: x86") + set(PROCESSOR_i686 1) + set(HAVE_RAWCTX 1) + ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$") IF(${ARCH_32_BITS}) + set(PROCESSOR_i686 1) message(STATUS "System processor: ${CMAKE_SYSTEM_PROCESSOR}") ELSE(${ARCH_32_BITS}) message(STATUS "System processor: amd64") @@ -214,7 +220,7 @@ if(pthread) if(HAVE_SEM_OPEN_run) set(HAVE_SEM_OPEN 0) else(HAVE_SEM_OPEN_run) - exec_program("./testprog" RETURN_VALUE HAVE_SEM_OPEN_run2) + exec_program("./testprog" RETURN_VALUE HAVE_SEM_OPEN_run2 OUTPUT_VARIABLE var_compil) if(HAVE_SEM_OPEN_run2) set(HAVE_SEM_OPEN 0) else(HAVE_SEM_OPEN_run2) @@ -231,7 +237,7 @@ if(pthread) if(HAVE_SEM_INIT_run) set(HAVE_SEM_INIT 0) else(HAVE_SEM_INIT_run) - exec_program("./testprog" RETURN_VALUE HAVE_SEM_INIT_run) + exec_program("./testprog" RETURN_VALUE HAVE_SEM_INIT_run OUTPUT_VARIABLE var_compil) if(HAVE_SEM_INIT_run) set(HAVE_SEM_INIT 0) else(HAVE_SEM_INIT_run) @@ -398,6 +404,35 @@ else(BIGENDIAN) set(GRAS_BIGENDIAN 0) endif(BIGENDIAN) +# The syntax of this magic string is given in src/gras/DataDesc/ddt_convert.c +# It kinda matches the values that the gras_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/gras/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 + + 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) @@ -795,8 +830,8 @@ else("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_HOME_DIRECTORY}") 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} + set(generated_files_to_clean + ${generated_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 @@ -805,4 +840,12 @@ else("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_HOME_DIRECTORY}") endif("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_HOME_DIRECTORY}") SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES -"${generate_files_to_clean}") +"${generated_files_to_clean}") + + +IF(${ARCH_32_BITS}) + set(WIN_ARCH "32") +ELSE(${ARCH_32_BITS}) + set(WIN_ARCH "64") +ENDIF(${ARCH_32_BITS}) +configure_file("${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/simgrid.nsi.in" "${CMAKE_BINARY_DIR}/simgrid.nsi" @ONLY IMMEDIATE)