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)
if(enable_latency_bound_tracking)
SET(HAVE_LATENCY_BOUND_TRACKING 1)
+else(enable_latency_bound_tracking)
+ if(enable_gtnets)
+ SET(enable_latency_bound_tracking ON)
+ SET(HAVE_LATENCY_BOUND_TRACKING 1)
+ else(enable_gtnets)
+ SET(HAVE_LATENCY_BOUND_TRACKING 0)
+ endif(enable_gtnets)
endif(enable_latency_bound_tracking)
if(enable_model-checking AND HAVE_MMAP)
#--------------------------------------------------------------------------------------------------
### 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)
- string(REGEX REPLACE "/libpcre.*[.]so$" "" PATHLIBPCRE "${PATH_PCRE_LIB}")
- string(REGEX MATCH "-L${PATHLIBPCRE} " operation "${CMAKE_C_FLAGS}")
- if(NOT operation)
+if(PATH_PCRE_LIB AND PATH_PCRE_H)
+ string(REGEX REPLACE "/libpcre.*[.]${LIB_EXE}$" "" PATHLIBPCRE "${PATH_PCRE_LIB}")
+ 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
+ ${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)
+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}
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:")
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}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_stacksetup.c
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}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_stackgrowth.c
set(PTH_STACKGROWTH "1")
endif(stack MATCHES "up")
+endif(NOT CMAKE_CROSSCOMPILING)
###############
## System checks
##
#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
+ ${PROJECT_DIRECTORY}
+ ${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
+ ${PROJECT_DIRECTORY}
+ ${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)