X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/34aac51dc3a8db653435e8fa28555bc1fdfe8ddb..3b6a0ff265d6c9f0bccd34bfe35ade8d0bc9b7de:/buildtools/Cmake/src/CMakeCompleteInFiles.txt diff --git a/buildtools/Cmake/src/CMakeCompleteInFiles.txt b/buildtools/Cmake/src/CMakeCompleteInFiles.txt index 8869aa80f3..e55e0ad16a 100644 --- a/buildtools/Cmake/src/CMakeCompleteInFiles.txt +++ b/buildtools/Cmake/src/CMakeCompleteInFiles.txt @@ -6,11 +6,56 @@ include(CheckLibraryExists) find_program(SET_MAKE NAMES make) find_program(CAT_EXE NAMES cat) +# Checks for header libraries functions. + +CHECK_LIBRARY_EXISTS(pthread pthread_create NO_DEFAULT_PATHS pthread) +CHECK_LIBRARY_EXISTS(pthread sem_init NO_DEFAULT_PATHS HAVE_SEM_INIT_LIB) +CHECK_LIBRARY_EXISTS(pthread sem_timedwait NO_DEFAULT_PATHS HAVE_SEM_TIMEDWAIT_LIB) +CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock NO_DEFAULT_PATHS HAVE_MUTEX_TIMEDLOCK_LIB) +CHECK_LIBRARY_EXISTS(rt clock_gettime NO_DEFAULT_PATHS HAVE_POSIX_GETTIME) + +CHECK_INCLUDE_FILES("time.h;sys/time.h" TIME_WITH_SYS_TIME) +CHECK_INCLUDE_FILES("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS) +CHECK_INCLUDE_FILE(pthread.h HAVE_PTHREAD_H) +CHECK_INCLUDE_FILE(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H) +CHECK_INCLUDE_FILE(socket.h HAVE_SOCKET_H) +CHECK_INCLUDE_FILE(sys/socket.h HAVE_SYS_SOCKET_H) +CHECK_INCLUDE_FILE(stat.h HAVE_STAT_H) +CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H) +CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H) +CHECK_INCLUDE_FILE(winsock.h HAVE_WINSOCK_H) +CHECK_INCLUDE_FILE(winsock2.h HAVE_WINSOCK2_H) +CHECK_INCLUDE_FILE(errno.h HAVE_ERRNO_H) +CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H) +CHECK_INCLUDE_FILE(execinfo.h HAVE_EXECINFO_H) +CHECK_INCLUDE_FILE(signal.h HAVE_SIGNAL_H) +CHECK_INCLUDE_FILE(sys/time.h HAVE_SYS_TIME_H) +CHECK_INCLUDE_FILE(time.h HAVE_TIME_H) +CHECK_INCLUDE_FILE(dlfcn.h HAVE_DLFCN_H) +CHECK_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H) +CHECK_INCLUDE_FILE(memory.h HAVE_MEMORY_H) +CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H) +CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H) +CHECK_INCLUDE_FILE(string.h HAVE_STRING_H) + +CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) +CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP) +CHECK_FUNCTION_EXISTS(getdtablesize HAVE_GETDTABLESIZE) +CHECK_FUNCTION_EXISTS(sysconf HAVE_SYSCONF) +CHECK_FUNCTION_EXISTS(readv HAVE_READV) +CHECK_FUNCTION_EXISTS(popen HAVE_POPEN) +CHECK_FUNCTION_EXISTS(signal HAVE_SIGNAL) +CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF) +CHECK_FUNCTION_EXISTS(vsnprintf HAVE_VSNPRINTF) +CHECK_FUNCTION_EXISTS(asprintf HAVE_ASPRINTF) +CHECK_FUNCTION_EXISTS(vasprintf HAVE_VASPRINTF) +CHECK_FUNCTION_EXISTS(makecontext HAVE_MAKECONTEXT) + set(CONTEXT_UCONTEXT 0) SET(CONTEXT_THREADS 0) -SET(HAVE_RUBY_H 0) - -if(NOT disable_ruby) +SET(HAVE_RUBY 0) +set(libruby "ruby1.8") +if(enable_ruby) include(FindRuby) set(OKITOKI no) foreach(path ${RUBY_INCLUDE_PATH}) @@ -20,63 +65,84 @@ if(NOT disable_ruby) endif(NOT OKITOKI) endforeach(path ${RUBY_INCLUDE_PATH}) if(RUBY_INCLUDE_PATH) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${RUBY_INCLUDE_PATH} -I${PROJECT_DIRECTORY}/src/bindings/ruby -I${PROJECT_DIRECTORY}/src/simix -fPIC ") - SET(HAVE_RUBY_H 1) + find_library(RUBY_LIB_PATH_1 + NAMES ruby1.8 + PATHS ${RUBY_INCLUDE_PATH} + ) + if(RUBY_LIB_PATH_1) + string(REGEX REPLACE "libruby.*" "" RUBY_LIB_PATH_1 ${RUBY_LIB_PATH_1}) + SET(CMAKE_EXE_LINKER_FLAGS "-L${RUBY_LIB_PATH_1}") + endif(RUBY_LIB_PATH_1) + find_library(RUBY_LIB_PATH_2 + NAMES ruby.1.8 + PATHS ${RUBY_INCLUDE_PATH} + ) + if(RUBY_LIB_PATH_2) + set(libruby "ruby.1.8") + string(REGEX REPLACE "libruby.*" "" RUBY_LIB_PATH_2 ${RUBY_LIB_PATH_2}) + SET(CMAKE_EXE_LINKER_FLAGS "-L${RUBY_LIB_PATH_2}") + endif(RUBY_LIB_PATH_2) + + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${RUBY_INCLUDE_PATH} -fPIC ") + ADD_DEFINITIONS("-I${PROJECT_DIRECTORY}/src/bindings/ruby -I${PROJECT_DIRECTORY}/src/simix") + SET(HAVE_RUBY 1) endif(RUBY_INCLUDE_PATH) -endif(NOT disable_ruby) +endif(enable_ruby) + +if(enable_tracing) + SET(HAVE_TRACING 1) +endif(enable_tracing) #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT JAVA -if(disable_java) +if(NOT enable_java) SET(HAVE_JAVA 0) -else(disable_java) +else(NOT enable_java) include(FindJava) include(FindJNI) if(JAVA_INCLUDE_PATH) set(HAVE_JNI_H 1) endif(JAVA_INCLUDE_PATH) - if(JAVA_RUNTIME AND JAVA_COMPILE AND JAVA_INCLUDE_PATH) + if(JAVA_COMPILE AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2) SET(HAVE_JAVA 1) - else(JAVA_RUNTIME AND JAVA_COMPILE AND JAVA_INCLUDE_PATH) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${JAVA_INCLUDE_PATH} ") + if(NOT JAVA_INCLUDE_PATH STREQUAL JAVA_INCLUDE_PATH2) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${JAVA_INCLUDE_PATH2} ") + endif(NOT JAVA_INCLUDE_PATH STREQUAL JAVA_INCLUDE_PATH2) + else(JAVA_COMPILE AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2) SET(HAVE_JAVA 0) - endif(JAVA_RUNTIME AND JAVA_COMPILE AND JAVA_INCLUDE_PATH) -endif(disable_java) -#message("HAVE_JAVA ${HAVE_JAVA}") + endif(JAVA_COMPILE AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2) +endif(NOT enable_java) #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT GTNETS -if(disable_gtnets) +if(NOT enable_gtnets) SET(HAVE_GTNETS 0) -else(disable_gtnets) - SET(BUILDNAME "GTNETS" CACHE TYPE INTERNAL FORCE) +else(NOT enable_gtnets) set(GTNETS_LDFLAGS "-L${gtnets_path}/lib") set(GTNETS_CPPFLAGS "-I${gtnets_path}/include/gtnets") exec_program("${CMAKE_CXX_COMPILER} ${GTNETS_CPPFLAGS} -lgtnets ${GTNETS_LDFLAGS} ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_gtnets.cpp " OUTPUT_VARIABLE COMPILE_GTNETS_VAR) if(COMPILE_GTNETS_VAR) SET(HAVE_GTNETS 0) - message("GTnetS doesn't works : set -Ddisable_gtnets=on") else(COMPILE_GTNETS_VAR) SET(HAVE_GTNETS 1) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ") endif(COMPILE_GTNETS_VAR) -endif(disable_gtnets) -#message("HAVE_GTNETS ${HAVE_GTNETS}") +endif(NOT enable_gtnets) #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT THREADS -CHECK_INCLUDE_FILE(pthread.h HAVE_PTHREAD_H) -CHECK_LIBRARY_EXISTS(pthread pthread_create NO_DEFAULT_PATHS pthread) if(pthread) -set(pthread "yes") +set(pthread 1) elseif(pthread) -set(pthread "no") +set(pthread 0) endif(pthread) -if(pthread MATCHES "yes") +if(pthread) ### HAVE_SEM_INIT - CHECK_LIBRARY_EXISTS(pthread sem_init NO_DEFAULT_PATHS HAVE_SEM_INIT_LIB) + if(HAVE_SEM_INIT_LIB) exec_program("${CMAKE_C_COMPILER} -lpthread ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_sem_init.c" OUTPUT_VARIABLE HAVE_SEM_INIT_run) if(HAVE_SEM_INIT_run) @@ -84,11 +150,10 @@ if(pthread MATCHES "yes") else(HAVE_SEM_INIT_run) set(HAVE_SEM_INIT 1) endif(HAVE_SEM_INIT_run) - #message("HAVE_SEM_INIT ${HAVE_SEM_INIT}") endif(HAVE_SEM_INIT_LIB) ### HAVE_SEM_TIMEDWAIT - CHECK_LIBRARY_EXISTS(pthread sem_timedwait NO_DEFAULT_PATHS HAVE_SEM_TIMEDWAIT_LIB) + if(HAVE_SEM_TIMEDWAIT_LIB) exec_program("${CMAKE_C_COMPILER} -lpthread ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_sem_timedwait.c" OUTPUT_VARIABLE HAVE_SEM_TIMEDWAIT_run) if(HAVE_SEM_TIMEDWAIT_run) @@ -96,11 +161,10 @@ if(pthread MATCHES "yes") else(HAVE_SEM_TIMEDWAIT_run) set(HAVE_SEM_TIMEDWAIT 1) endif(HAVE_SEM_TIMEDWAIT_run) - #message("HAVE_SEM_TIMEDWAIT ${HAVE_SEM_TIMEDWAIT}") endif(HAVE_SEM_TIMEDWAIT_LIB) ### HAVE_MUTEX_TIMEDLOCK - CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock NO_DEFAULT_PATHS HAVE_MUTEX_TIMEDLOCK_LIB) + if(HAVE_MUTEX_TIMEDLOCK_LIB) exec_program("${CMAKE_C_COMPILER} -lpthread ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_mutex_timedlock.c" OUTPUT_VARIABLE HAVE_SEM_TIMEDWAIT_run) if(HAVE_MUTEX_TIMEDLOCK_run) @@ -108,9 +172,8 @@ if(pthread MATCHES "yes") else(HAVE_MUTEX_TIMEDLOCK_run) set(HAVE_MUTEX_TIMEDLOCK 1) endif(HAVE_MUTEX_TIMEDLOCK_run) - #message("HAVE_MUTEX_TIMEDLOCK ${HAVE_MUTEX_TIMEDLOCK}") endif(HAVE_MUTEX_TIMEDLOCK_LIB) -endif(pthread MATCHES "yes") +endif(pthread) # AC_CHECK_MCSC(mcsc=yes, mcsc=no) set(mcsc_flags "") @@ -123,21 +186,22 @@ try_run(RUN_mcsc_VAR COMPILE_mcsc_VAR ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_AC_CHECK_MCSC.c COMPILE_DEFINITIONS "${mcsc_flags}" ) -file(READ "${PROJECT_DIRECTORY}/conftestval" mcsc) -if(mcsc MATCHES "yes") +file(READ "${Project_BINARY_DIR}/conftestval" mcsc) +STRING(REPLACE "\n" "" mcsc ${mcsc}) +if(mcsc) set(mcsc "yes") -elseif(mcsc MATCHES "yes") +elseif(mcsc) set(mcsc "no") -endif(mcsc MATCHES "yes") -CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H) -if(mcsc MATCHES "no" AND pthread MATCHES "no") +endif(mcsc) + +if(mcsc MATCHES "no" AND pthread) if(HAVE_WINDOWS_H) set(windows_context "yes") set(IS_WINDOWS 1) elseif(HAVE_WINDOWS_H) message(FATAL_ERROR "no appropriate backend found") endif(HAVE_WINDOWS_H) -endif(mcsc MATCHES "no" AND pthread MATCHES "no") +endif(mcsc MATCHES "no" AND pthread) if(with_context MATCHES "ucontext" AND mcsc MATCHES "no") message(FATAL_ERROR "-Dwith-context=ucontext specified but ucontext unusable.") @@ -164,10 +228,9 @@ endif(with_context MATCHES "auto") if(with_context MATCHES "ucontext") set(with_context_ok 1) - if(mcsc MATCHES "yes") + if(mcsc) set(CONTEXT_UCONTEXT 1) - CHECK_INCLUDE_FILE(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H) - else(mcsc MATCHES "yes") + else(mcsc) if(windows_context MATCHES "yes") set(with_context "windows") message("with_context ucontext change to windows") @@ -175,14 +238,14 @@ if(with_context MATCHES "ucontext") set(with_context "pthread") message("with_context ucontext change to pthread") endif(windows_context MATCHES "yes") - endif(mcsc MATCHES "yes") + endif(mcsc) endif(with_context MATCHES "ucontext") if(with_context MATCHES "pthread") set(with_context_ok 1) - if(pthread MATCHES "no") + if(NOT pthread) message(FATAL_ERROR "Cannot find pthreads (try -Dwith_context=ucontext if you haven't already tried).") - endif(pthread MATCHES "no") + endif(NOT pthread) SET(CONTEXT_THREADS 1) endif(with_context MATCHES "pthread") @@ -194,12 +257,9 @@ if(NOT with_context_ok) message(FATAL_ERROR "-Dwith-context must be either ucontext or pthread") endif(NOT with_context_ok) - -#message("CONTEXT_THREADS ${CONTEXT_THREADS}") -#message("CONTEXT_UCONTEXT ${CONTEXT_UCONTEXT}") set(HAVE_LUA 0) -if(NOT disable_lua) +if(enable_lua) find_path(HAVE_LUA5_1_LUALIB_H NAMES lualib.h PATHS "/sw/include/" "/usr/include/lua5.1/" @@ -216,50 +276,80 @@ if(NOT disable_lua) NAMES lua-5.1 PATHS /usr ) + find_library(LUA_LIB_PATH_3 + NAMES lua.5.1.1 + PATHS /sw + ) if(HAVE_LUA5_1_LUALIB_H AND HAVE_LUA5_1_LAUXLIB_H) set(HAVE_LUA 1) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${HAVE_LUA5_1_LUALIB_H} -I${HAVE_LUA5_1_LAUXLIB_H}") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${HAVE_LUA5_1_LUALIB_H} -I${HAVE_LUA5_1_LAUXLIB_H}") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${HAVE_LUA5_1_LUALIB_H} ") + + if(NOT HAVE_LUA5_1_LUALIB_H STREQUAL HAVE_LUA5_1_LAUXLIB_H) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${HAVE_LUA5_1_LAUXLIB_H} ") + #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-I${HAVE_LUA5_1_LAUXLIB_H} ") + endif(NOT HAVE_LUA5_1_LUALIB_H STREQUAL HAVE_LUA5_1_LAUXLIB_H) endif(HAVE_LUA5_1_LUALIB_H AND HAVE_LUA5_1_LAUXLIB_H) if(LUA_LIB_PATH_1) set(liblua lua5.1) + set(lua_lib_path_to_use ${LUA_LIB_PATH_1}) endif(LUA_LIB_PATH_1) if(LUA_LIB_PATH_2) set(liblua lua-5.1) + set(lua_lib_path_to_use ${LUA_LIB_PATH_2}) endif(LUA_LIB_PATH_2) - if(NOT LUA_LIB_PATH_1 AND NOT LUA_LIB_PATH_2) - set(HAVE_LUA 0) - endif(NOT LUA_LIB_PATH_1 AND NOT LUA_LIB_PATH_2) - -endif(NOT disable_lua) -#message("HAVE_LUA ${HAVE_LUA}") -#message("${HAVE_LUA5_1_LUALIB_H} AND ${HAVE_LUA5_1_LAUXLIB_H}") + if(LUA_LIB_PATH_3) + set(liblua lua.5.1.1) + set(lua_lib_path_to_use ${LUA_LIB_PATH_3}) + endif(LUA_LIB_PATH_3) -#message("______END_CONTEXT______") + if(NOT LUA_LIB_PATH_1 AND NOT LUA_LIB_PATH_2 AND NOT LUA_LIB_PATH_3) + set(HAVE_LUA 0) + else(NOT LUA_LIB_PATH_1 AND NOT LUA_LIB_PATH_2 AND NOT LUA_LIB_PATH_3) + string(REGEX REPLACE "liblua.*" "" lua_lib_path_to_use ${lua_lib_path_to_use}) + string(COMPARE EQUAL "-L${lua_lib_path_to_use}" "${CMAKE_EXE_LINKER_FLAGS}" operation) + if(NOT operation) + message("${CMAKE_EXE_LINKER_FLAGS}") + message("-L${lua_lib_path_to_use}") + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${lua_lib_path_to_use} ") + endif(NOT operation) + endif(NOT LUA_LIB_PATH_1 AND NOT LUA_LIB_PATH_2 AND NOT LUA_LIB_PATH_3) + +endif(enable_lua) ############### ## SVN version check ## -#message("\n__________SVN__________") if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn) - #exec_program("svn up ${PROJECT_DIRECTORY}") find_file(SVN ".svn" ${PROJECT_DIRECTORY}) exec_program("svnversion ${PROJECT_DIRECTORY}" OUTPUT_VARIABLE "SVN_VERSION") - #message("SVN_VERSION ${SVN_VERSION}") + message("SVN_VERSION : ${SVN_VERSION}") endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn) if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git) find_file(GIT ".git" ${PROJECT_DIRECTORY}) exec_program("git --git-dir=${PROJECT_DIRECTORY}/.git log --oneline -1 | sed 's| .*||'" OUTPUT_VARIABLE "GIT_VERSION") - #message("GIT_VERSION ${GIT_VERSION}") + exec_program("git --git-dir=${PROJECT_DIRECTORY}/.git log -n 1 --format=%ai ." OUTPUT_VARIABLE "GIT_DATE") + exec_program("git svn info" ${PROJECT_DIRECTORY} OUTPUT_VARIABLE "GIT_SVN_VERSION") + string(REPLACE "\n" ";" GIT_SVN_VERSION ${GIT_SVN_VERSION}) + STRING(REPLACE " +0000" "" GIT_DATE ${GIT_DATE}) + STRING(REPLACE " " "~" GIT_DATE ${GIT_DATE}) + STRING(REPLACE ":" "-" GIT_DATE ${GIT_DATE}) + message("GIT_DATE : ${GIT_DATE}") + message("GIT_VERSION : ${GIT_VERSION}") + foreach(line ${GIT_SVN_VERSION}) + string(REGEX MATCH "^Revision:.*" line_good ${line}) + if(line_good) + string(REPLACE "Revision: " "" line_good ${line_good}) + set(SVN_VERSION ${line_good}) + endif(line_good) + endforeach(line ${GIT_SVN_VERSION}) + message("GIT_SVN_VERSION : ${SVN_VERSION}") endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git) -#message("________END_SVN________\n") -#message("\n_____GRAS_&_SIMGRID____") ################################### ## SimGrid and GRAS specific checks ## @@ -278,66 +368,63 @@ else(BIGENDIAN) set(val_big "l${var1}") set(GRAS_BIGENDIAN 0) endif(BIGENDIAN) -#message("GRAS_BIGENDIAN ${GRAS_BIGENDIAN}") -#message("${val_big}") 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:") - #message("gras_arch=0; gras_size=32; gras_arch_name=little32_1;") + #gras_arch=0; gras_size=32; gras_arch_name=little32_1; SET(GRAS_ARCH_32_BITS 1) SET(GRAS_THISARCH 0) endif(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:") 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:") - #message("gras_arch=1; gras_size=32; gras_arch_name=little32_2;") + #gras_arch=1; gras_size=32; gras_arch_name=little32_2; SET(GRAS_ARCH_32_BITS 1) SET(GRAS_THISARCH 1) endif(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:") 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:") - #message("gras_arch=2; gras_size=32; gras_arch_name=little32_4;") + #gras_arch=2; gras_size=32; gras_arch_name=little32_4; SET(GRAS_ARCH_32_BITS 1) SET(GRAS_THISARCH 2) endif(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:") 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:") - #message("gras_arch=3; gras_size=32; gras_arch_name=little32_8;") + #gras_arch=3; gras_size=32; gras_arch_name=little32_8; SET(GRAS_ARCH_32_BITS 1) SET(GRAS_THISARCH 3) endif(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:") 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:") - #message("gras_arch=4; gras_size=64; gras_arch_name=little64;") + #gras_arch=4; gras_size=64; gras_arch_name=little64; SET(GRAS_ARCH_32_BITS 0) SET(GRAS_THISARCH 4) endif(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:") 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:") - #message("gras_arch=5; gras_size=32; gras_arch_name=big32;") + #gras_arch=5; gras_size=32; gras_arch_name=big32; SET(GRAS_ARCH_32_BITS 1) SET(GRAS_THISARCH 5) endif(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:") 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:") - #message("gras_arch=6; gras_size=32; gras_arch_name=big32_8_4;") + #gras_arch=6; gras_size=32; gras_arch_name=big32_8_4; SET(GRAS_ARCH_32_BITS 1) SET(GRAS_THISARCH 6) endif(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:") 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:") - #message("gras_arch=7; gras_size=32; gras_arch_name=big32_4;") + #gras_arch=7; gras_size=32; gras_arch_name=big32_4; SET(GRAS_ARCH_32_BITS 1) SET(GRAS_THISARCH 7) endif(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:") 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:") - #message("gras_arch=8; gras_size=32; gras_arch_name=big32_2;") + #gras_arch=8; gras_size=32; gras_arch_name=big32_2; SET(GRAS_ARCH_32_BITS 1) SET(GRAS_THISARCH 8) endif(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:") 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:") - #message("gras_arch=9; gras_size=64; gras_arch_name=big64;") + #gras_arch=9; gras_size=64; gras_arch_name=big64; SET(GRAS_ARCH_32_BITS 0) SET(GRAS_THISARCH 9) endif(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:") 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:") - #message("gras_arch=10;gras_size=64; gras_arch_name=big64_8_4;") + #gras_arch=10;gras_size=64; gras_arch_name=big64_8_4; SET(GRAS_ARCH_32_BITS 0) SET(GRAS_THISARCH 10) endif(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:") - #message("GRAS_ARCH_32_BITS ${GRAS_ARCH_32_BITS}") # Check architecture signature end @@ -349,7 +436,6 @@ try_run(RUN_GRAS_VAR COMPILE_GRAS_VAR separate_arguments(var2) foreach(var_tmp ${var2}) set(${var_tmp} 1) - #message("${var_tmp} ${${var_tmp}}") endforeach(var_tmp ${var2}) # Check for [SIZEOF_MAX] @@ -359,20 +445,14 @@ try_run(RUN_SM_VAR COMPILE_SM_VAR RUN_OUTPUT_VARIABLE var3 ) SET(SIZEOF_MAX ${var3}) -#message("SIZEOF_MAX ${SIZEOF_MAX}") - #-------------------------------------------------------------------------------------------------- - -CHECK_FUNCTION_EXISTS(makecontext HAVE_MAKECONTEXT) -#message("HAVE_MAKECONTEXT ${HAVE_MAKECONTEXT}") set(makecontext_CPPFLAGS_2 "") if(HAVE_MAKECONTEXT) set(makecontext_CPPFLAGS "-DTEST_makecontext") if(CMAKE_SYSTEM_NAME MATCHES "Darwin") set(makecontext_CPPFLAGS_2 "-DOSX") - #message("SYSTEM OSX") endif(CMAKE_SYSTEM_NAME MATCHES "Darwin") try_run(RUN_makecontext_VAR COMPILE_makecontext_VAR @@ -381,11 +461,12 @@ if(HAVE_MAKECONTEXT) COMPILE_DEFINITIONS "${makecontext_CPPFLAGS} ${makecontext_CPPFLAGS_2}" ) - - exec_program("${SED_EXE}" ARGS "-e 's;,.*$;;' ${PROJECT_DIRECTORY}/conftestval" OUTPUT_VARIABLE "makecontext_addr") - exec_program("${SED_EXE}" ARGS "-e 's;^.*,;;' ${PROJECT_DIRECTORY}/conftestval" OUTPUT_VARIABLE "makecontext_size") - message("${makecontext_addr}") - message("${makecontext_size}") + file(READ ${Project_BINARY_DIR}/conftestval MAKECONTEXT_ADDR_SIZE) + string(REPLACE "\n" "" MAKECONTEXT_ADDR_SIZE "${MAKECONTEXT_ADDR_SIZE}") + string(REGEX MATCH ;^.*,;MAKECONTEXT_ADDR "${MAKECONTEXT_ADDR_SIZE}") + string(REGEX MATCH ;,.*$; MAKECONTEXT_SIZE "${MAKECONTEXT_ADDR_SIZE}") + string(REPLACE "," "" makecontext_addr "${MAKECONTEXT_ADDR}") + 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})") @@ -399,15 +480,13 @@ endif(HAVE_MAKECONTEXT) ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_stackgrowth.c ) -file(READ "${PROJECT_DIRECTORY}/conftestval" stack) +file(READ "${Project_BINARY_DIR}/conftestval" stack) if(stack MATCHES "down") set(PTH_STACKGROWTH "-1") endif(stack MATCHES "down") if(stack MATCHES "up") set(PTH_STACKGROWTH "1") endif(stack MATCHES "up") -#message("PTH_STACKGROWTH ${PTH_STACKGROWTH}") - ############### ## System checks @@ -431,7 +510,6 @@ SET(PRINTF_NULL_WORKING "0") else(RUN_PRINTF_NULL_VAR MATCHES "FAILED_TO_RUN") SET(PRINTF_NULL_WORKING "1") endif(RUN_PRINTF_NULL_VAR MATCHES "FAILED_TO_RUN") -#message("PRINTF_NULL_WORKING ${PRINTF_NULL_WORKING}") #AC_CHECK_VA_COPY @@ -486,7 +564,6 @@ foreach(fct ${diff_va}) if(${fctbis} STREQUAL "va_copy((d),(s))") set(HAVE_VA_COPY 1) - #message("HAVE_VA_COPY ${HAVE_VA_COPY}") set(ac_cv_va_copy "C99") set(__VA_COPY_USE_C99 "va_copy((d),(s))") endif(${fctbis} STREQUAL "va_copy((d),(s))") @@ -528,57 +605,12 @@ foreach(fct ${diff_va}) if(NOT STATUS_OK) set(__VA_COPY_USE "__VA_COPY_USE_${ac_cv_va_copy}") - #message("__VA_COPY_USE VA_COPY_USE_${ac_cv_va_copy}") endif(NOT STATUS_OK) - #message("__VA_COPY_USE_${ac_cv_va_copy} ${fctbis}") set(STATUS_OK "1") endif(RUN_VA_NULL_VAR MATCHES "FAILED_TO_RUN") endforeach(fct ${diff_va}) -# Checks for header files. - -CHECK_INCLUDE_FILES("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS) -#message("STDC_HEADERS ${STDC_HEADERS}") -CHECK_INCLUDE_FILES("time.h;sys/time.h" TIME_WITH_SYS_TIME) -#message("TIME_WITH_SYS_TIME ${TIME_WITH_SYS_TIME}") - -CHECK_INCLUDE_FILE(sys/socket.h HAVE_SYS_SOCKET_H) -#message("HAVE_SOCKET_H ${HAVE_SOCKET_H}") -CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H) -#message("HAVE_STAT_H ${HAVE_STAT_H}") -CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H) -#message("HAVE_WINDOWS_H ${HAVE_WINDOWS_H}") -CHECK_INCLUDE_FILE(winsock.h HAVE_WINSOCK_H) -#message("HAVE_WINSOCK_H ${HAVE_WINSOCK_H}") -CHECK_INCLUDE_FILE(winsock2.h HAVE_WINSOCK2_H) -#message("HAVE_WINSOCK2_H ${HAVE_WINSOCK2_H}") -CHECK_INCLUDE_FILE(sys/time.h HAVE_SYS_TIME_H) -#message("HAVE_TIME_H ${HAVE_TIME_H}") -CHECK_INCLUDE_FILE(errno.h HAVE_ERRNO_H) -#message("HAVE_ERRNO_H ${HAVE_ERRNO_H}") -CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H) -#message("HAVE_UNISTD_H ${HAVE_UNISTD_H}") -CHECK_INCLUDE_FILE(execinfo.h HAVE_EXECINFO_H) -#message("HAVE_EXECINFO_H ${HAVE_EXECINFO_H}") -CHECK_INCLUDE_FILE(signal.h HAVE_SIGNAL_H) -#message("HAVE_SIGNAL_H ${HAVE_SIGNAL_H}") - -CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) -#message("HAVE_GETTIMEOFDAY ${HAVE_GETTIMEOFDAY}") -CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP) -#message("HAVE_USLEEP ${HAVE_USLEEP}") -CHECK_FUNCTION_EXISTS(getdtablesize HAVE_GETDTABLESIZE) -#message("HAVE_GETDTABLESIZE ${HAVE_GETDTABLESIZE}") -CHECK_FUNCTION_EXISTS(sysconf HAVE_SYSCONF) -#message("HAVE_SYSCONF ${HAVE_SYSCONF}") -CHECK_FUNCTION_EXISTS(readv HAVE_READV) -#message("HAVE_READV ${HAVE_READV}") -CHECK_FUNCTION_EXISTS(popen HAVE_POPEN) -#message("HAVE_POPEN ${HAVE_POPEN}") -CHECK_FUNCTION_EXISTS(signal HAVE_SIGNAL) -#message("HAVE_SIGNAL ${HAVE_SIGNAL}") - #-------------------------------------------------------------------------------------------------- ### Try execut getline command try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR @@ -594,8 +626,6 @@ SET(need_getline "") endif(NOT COMPILE_RESULT_VAR) ### check for a working snprintf -CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF) -CHECK_FUNCTION_EXISTS(vsnprintf HAVE_VSNPRINTF) if(HAVE_SNPRINTF AND HAVE_VSNPRINTF) try_run(RUN_SNPRINTF_FUNC_VAR COMPILE_SNPRINTF_FUNC_VAR @@ -603,7 +633,6 @@ if(HAVE_SNPRINTF AND HAVE_VSNPRINTF) ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_snprintf.c ) if(CMAKE_CROSSCOMPILING) - #message("SNPRINTF_FUNC CROSSCOMPILING") set(RUN_SNPRINTF_FUNC "cross") endif(CMAKE_CROSSCOMPILING) @@ -612,7 +641,6 @@ if(HAVE_SNPRINTF AND HAVE_VSNPRINTF) ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_vsnprintf.c ) if(CMAKE_CROSSCOMPILING) - #message("VSNPRINTF_FUNC CROSSCOMPILING") set(RUN_VSNPRINTF_FUNC "cross") endif(CMAKE_CROSSCOMPILING) set(PREFER_PORTABLE_SNPRINTF 0) @@ -622,17 +650,15 @@ if(HAVE_SNPRINTF AND HAVE_VSNPRINTF) if(RUN_SNPRINTF_FUNC_VAR MATCHES "FAILED_TO_RUN") set(PREFER_PORTABLE_SNPRINTF 1) endif(RUN_SNPRINTF_FUNC_VAR MATCHES "FAILED_TO_RUN") - #message("PREFER_PORTABLE_SNPRINTF ${PREFER_PORTABLE_SNPRINTF}") endif(HAVE_SNPRINTF AND HAVE_VSNPRINTF) ### check for asprintf function familly -CHECK_FUNCTION_EXISTS(asprintf HAVE_ASPRINTF) if(HAVE_ASPRINTF) SET(need_asprintf "") else(HAVE_ASPRINTF) SET(need_asprintf "#define SIMGRID_NEED_ASPRINTF 1") endif(HAVE_ASPRINTF) -CHECK_FUNCTION_EXISTS(vasprintf HAVE_VASPRINTF) + if(HAVE_VASPRINTF) SET(need_vasprintf "") else(HAVE_VASPRINTF) @@ -646,14 +672,6 @@ if(ADDR2LINE) set(ADDR2LINE "${ADDR2LINE}/addr2line") endif(ADDR2LINE) -### check for include files and fct -CHECK_INCLUDE_FILE(dlfcn.h HAVE_DLFCN_H) -CHECK_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H) -CHECK_INCLUDE_FILE(memory.h HAVE_MEMORY_H) -CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H) -CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H) -CHECK_INCLUDE_FILE(string.h HAVE_STRING_H) - ### File to create configure_file(${PROJECT_DIRECTORY}/src/context_sysv_config.h.in ${PROJECT_DIRECTORY}/src/context_sysv_config.h) @@ -662,24 +680,23 @@ SET( CMAKEDEFINE "#cmakedefine" ) configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/src/c_gras_config.h.in" "${PROJECT_DIRECTORY}/buildtools/Cmake/src/tmp_gras_config.h.in" @ONLY IMMEDIATE) configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/src/tmp_gras_config.h.in" "${PROJECT_DIRECTORY}/src/gras_config.h" @ONLY IMMEDIATE) configure_file(${PROJECT_DIRECTORY}/include/simgrid_config.h.in ${PROJECT_DIRECTORY}/include/simgrid_config.h) +configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/src/tracing_config.h.in" "${PROJECT_DIRECTORY}/buildtools/Cmake/src/tmp_tracing_config.h.in" @ONLY IMMEDIATE) +configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/src/tmp_tracing_config.h.in" "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE) if(NOT prefix) set(prefix /usr/local) endif(NOT prefix) + +set(top_srcdir "${PROJECT_DIRECTORY}") +set(srcdir "${PROJECT_DIRECTORY}/src") + set(exec_prefix ${prefix}) -set(top_srcdir ${PROJECT_DIRECTORY}) set(includedir ${prefix}/include) set(top_builddir ${PROJECT_DIRECTORY}) set(libdir ${exec_prefix}/lib) -<<<<<<< HEAD:buildtools/Cmake/src/CMakeCompleteInFiles.txt + configure_file(${PROJECT_DIRECTORY}/src/smpi/smpicc.in ${PROJECT_DIRECTORY}/src/smpi/smpicc @ONLY) configure_file(${PROJECT_DIRECTORY}/src/smpi/smpirun.in ${PROJECT_DIRECTORY}/src/smpi/smpirun @ONLY) -======= -configure_file(${PROJECT_DIRECTORY}/src/smpicc.in ${PROJECT_DIRECTORY}/src/smpi/smpicc @ONLY) -configure_file(${PROJECT_DIRECTORY}/src/smpirun.in ${PROJECT_DIRECTORY}/src/smpi/smpirun @ONLY) exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/src/smpi/smpicc" OUTPUT_VARIABLE OKITOKI) exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/src/smpi/smpirun" OUTPUT_VARIABLE OKITOKI) ->>>>>>> Compile smpi examples with smpicc. Fix lualib location problem with Fedora.:buildtools/Cmake/src/CMakeCompleteInFiles.txt - -#message("__END_GRAS_&_SIMGRID____\n")