SET(HAVE_LATENCY_BOUND_TRACKING 1)
else(enable_latency_bound_tracking)
if(enable_gtnets)
+ message("turning latency_bound_tracking to ON because GTNeTs is ON")
SET(enable_latency_bound_tracking ON)
SET(HAVE_LATENCY_BOUND_TRACKING 1)
else(enable_gtnets)
#--------------------------------------------------------------------------------------------------
### Initialize of pcre
-find_library(PATH_PCRE_LIB pcre "/usr/lib/")
+find_library(PATH_PCRE_LIB pcre)
+find_file(PATH_PCRE_H "pcre.h")
set(HAVE_PCRE_LIB 0)
-if(PATH_PCRE_LIB)
+if(PATH_PCRE_LIB AND PATH_PCRE_H)
string(REGEX REPLACE "/libpcre.*[.]${LIB_EXE}$" "" PATHLIBPCRE "${PATH_PCRE_LIB}")
- string(REGEX MATCH "-L${PATHLIBPCRE} " operation "${CMAKE_C_FLAGS}")
- if(NOT operation)
+ string(REGEX REPLACE "/pcre.h" "" PATH_PCRE_H "${PATH_PCRE_H}")
+ string(REGEX MATCH "-L${PATHLIBPCRE} " operation "${CMAKE_C_FLAGS}")
+ if(NOT operation)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${PATHLIBPCRE} ")
- endif(NOT operation)
+ endif(NOT operation)
+ string(REGEX MATCH "-I${PATH_PCRE_H} " operation "${CMAKE_C_FLAGS}")
+ if(NOT operation)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${PATH_PCRE_H} ")
+ 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)
+endif(PATH_PCRE_LIB AND PATH_PCRE_H)
#--------------------------------------------------------------------------------------------------
### Initialize of CONTEXT THREADS
endif(__GNUC__)
endif(WIN32)
-try_run(RUN_mcsc_VAR COMPILE_mcsc_VAR
- ${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c
- COMPILE_DEFINITIONS "${mcsc_flags}"
- OUTPUT_VARIABLE var_compil
- )
-
-if(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR)
- file(READ "${simgrid_BINARY_DIR}/conftestval" mcsc)
- STRING(REPLACE "\n" "" mcsc "${mcsc}")
- if(mcsc)
- set(mcsc "yes")
- elseif(mcsc)
- set(mcsc "no")
- endif(mcsc)
-else(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR)
- set(mcsc "no")
-endif(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR)
+IF(CMAKE_CROSSCOMPILING)
+ IF(WIN32)
+ set(windows_context "yes")
+ set(IS_WINDOWS 1)
+ ENDIF(WIN32)
+ELSE(CMAKE_CROSSCOMPILING)
+ try_run(RUN_mcsc_VAR COMPILE_mcsc_VAR
+ ${simgrid_BINARY_DIR}
+ ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c
+ COMPILE_DEFINITIONS "${mcsc_flags}"
+ OUTPUT_VARIABLE var_compil
+ )
+
+ if(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR)
+ file(READ "${simgrid_BINARY_DIR}/conftestval" mcsc)
+ STRING(REPLACE "\n" "" mcsc "${mcsc}")
+ if(mcsc)
+ set(mcsc "yes")
+ elseif(mcsc)
+ set(mcsc "no")
+ endif(mcsc)
+ else(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR)
+ set(mcsc "no")
+ endif(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR)
+ENDIF(CMAKE_CROSSCOMPILING)
if(mcsc MATCHES "no" AND pthread)
if(HAVE_WINDOWS_H)
## SimGrid and GRAS specific checks
##
+IF(NOT CMAKE_CROSSCOMPILING)
# Check architecture signature begin
try_run(RUN_GRAS_VAR COMPILE_GRAS_VAR
- ${PROJECT_DIRECTORY}
+ ${simgrid_BINARY_DIR}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_GRAS_ARCH.c
RUN_OUTPUT_VARIABLE var1
)
if(BIGENDIAN)
-set(val_big "B${var1}")
-set(GRAS_BIGENDIAN 1)
+ set(val_big "B${var1}")
+ set(GRAS_BIGENDIAN 1)
else(BIGENDIAN)
-set(val_big "l${var1}")
-set(GRAS_BIGENDIAN 0)
+ set(val_big "l${var1}")
+ set(GRAS_BIGENDIAN 0)
endif(BIGENDIAN)
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:")
# Check architecture signature end
try_run(RUN_GRAS_VAR COMPILE_GRAS_VAR
- ${PROJECT_DIRECTORY}
+ ${simgrid_BINARY_DIR}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_GRAS_CHECK_STRUCT_COMPACTION.c
RUN_OUTPUT_VARIABLE var2
)
# Check for [SIZEOF_MAX]
try_run(RUN_SM_VAR COMPILE_SM_VAR
- ${PROJECT_DIRECTORY}
+ ${simgrid_BINARY_DIR}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_max_size.c
RUN_OUTPUT_VARIABLE var3
)
SET(SIZEOF_MAX ${var3})
+ENDIF(NOT CMAKE_CROSSCOMPILING)
#--------------------------------------------------------------------------------------------------
endif(__VISUALC__)
if(__GNUC__)
set(makecontext_CPPFLAGS "-DTEST_makecontext")
- set(makecontext_CPPFLAGS_2 "-D_XBT_WIN32 -I${PROJECT_DIRECTORY}/include/xbt -I${PROJECT_DIRECTORY}/src/xbt")
+ set(makecontext_CPPFLAGS_2 "-D_XBT_WIN32 -I${PROJECT_DIRECTORY}/include/xbt -I${PROJECT_DIRECTORY}/src/xbt")
endif(__GNUC__)
- endif(WIN32)
-
+ else(WIN32)
try_run(RUN_makecontext_VAR COMPILE_makecontext_VAR
- ${PROJECT_DIRECTORY}
+ ${simgrid_BINARY_DIR}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_stacksetup.c
COMPILE_DEFINITIONS "${makecontext_CPPFLAGS} ${makecontext_CPPFLAGS_2}"
)
string(REPLACE "," "" makecontext_size "${MAKECONTEXT_SIZE}")
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(WIN32)
endif(HAVE_MAKECONTEXT OR WIN32)
#--------------------------------------------------------------------------------------------------
### check for stackgrowth
-
+if (NOT CMAKE_CROSSCOMPILING)
try_run(RUN_makecontext_VAR COMPILE_makecontext_VAR
- ${PROJECT_DIRECTORY}
+ ${simgrid_BINARY_DIR}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_stackgrowth.c
)
file(READ "${simgrid_BINARY_DIR}/conftestval" stack)
set(PTH_STACKGROWTH "1")
endif(stack MATCHES "up")
+endif(NOT CMAKE_CROSSCOMPILING)
###############
## System checks
##
#AC_PRINTF_NULL
try_run(RUN_PRINTF_NULL_VAR COMPILE_PRINTF_NULL_VAR
- ${PROJECT_DIRECTORY}
+ ${simgrid_BINARY_DIR}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_printf_null.c
)
}"
)
try_compile(COMPILE_VA_NULL_VAR
- ${PROJECT_DIRECTORY}
+ ${simgrid_BINARY_DIR}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_va_copy.c
)
if(COMPILE_VA_NULL_VAR)
#--------------------------------------------------------------------------------------------------
### check for getline
try_compile(COMPILE_RESULT_VAR
- ${PROJECT_DIRECTORY}
+ ${simgrid_BINARY_DIR}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_getline.c
)
#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
- )
if(CMAKE_CROSSCOMPILING)
- set(RUN_SNPRINTF_FUNC "cross")
+ set(RUN_SNPRINTF_FUNC "cross")
+ #set(PREFER_PORTABLE_SNPRINTF 1)
+ else(CMAKE_CROSSCOMPILING)
+ try_run(RUN_SNPRINTF_FUNC_VAR COMPILE_SNPRINTF_FUNC_VAR
+ ${simgrid_BINARY_DIR}
+ ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_snprintf.c
+ )
endif(CMAKE_CROSSCOMPILING)
- try_run(RUN_VSNPRINTF_FUNC_VAR COMPILE_VSNPRINTF_FUNC_VAR
- ${PROJECT_DIRECTORY}
- ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_vsnprintf.c
- )
if(CMAKE_CROSSCOMPILING)
set(RUN_VSNPRINTF_FUNC "cross")
+ set(PREFER_PORTABLE_VSNPRINTF 1)
+ else(CMAKE_CROSSCOMPILING)
+ try_run(RUN_VSNPRINTF_FUNC_VAR COMPILE_VSNPRINTF_FUNC_VAR
+ ${simgrid_BINARY_DIR}
+ ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_vsnprintf.c
+ )
endif(CMAKE_CROSSCOMPILING)
+
set(PREFER_PORTABLE_SNPRINTF 0)
if(RUN_VSNPRINTF_FUNC_VAR MATCHES "FAILED_TO_RUN")
set(PREFER_PORTABLE_SNPRINTF 1)
### File to create
-configure_file("${PROJECT_DIRECTORY}/src/context_sysv_config.h.in" "${PROJECT_DIRECTORY}/src/context_sysv_config.h" @ONLY IMMEDIATE)
+configure_file("${PROJECT_DIRECTORY}/src/context_sysv_config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/src/context_sysv_config.h" @ONLY IMMEDIATE)
SET( CMAKEDEFINE "#cmakedefine" )
-configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/gras_config.h.in" "${PROJECT_DIRECTORY}/src/gras_config.h" @ONLY IMMEDIATE)
-configure_file("${PROJECT_DIRECTORY}/src/gras_config.h" "${PROJECT_DIRECTORY}/src/gras_config.h" @ONLY IMMEDIATE)
-configure_file("${PROJECT_DIRECTORY}/include/simgrid_config.h.in" "${PROJECT_DIRECTORY}/include/simgrid_config.h" @ONLY IMMEDIATE)
-#configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/tracing_config.h.in" "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE)
-#configure_file("${PROJECT_DIRECTORY}/include/instr/tracing_config.h" "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE)
+configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/gras_config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/src/gras_config.h" @ONLY IMMEDIATE)
+configure_file("${CMAKE_CURRENT_BINARY_DIR}/src/gras_config.h" "${CMAKE_CURRENT_BINARY_DIR}/src/gras_config.h" @ONLY IMMEDIATE)
+configure_file("${PROJECT_DIRECTORY}/include/simgrid_config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/include/simgrid_config.h" @ONLY IMMEDIATE)
set(top_srcdir "${PROJECT_DIRECTORY}")
set(srcdir "${PROJECT_DIRECTORY}/src")