From: degomme Date: Thu, 4 Feb 2016 09:22:37 +0000 (+0100) Subject: Unify naming of contexts support. X-Git-Tag: v3_13~982 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/01dd1d293c39ba31c3e509cf413c11fc991a0043 Unify naming of contexts support. HAVE_RAWCTX -> HAVE_RAW_CONTEXTS HAVE_BOOST_CONTEXT -> HAVE_BOOST_CONTEXTS CONTEXT_UCONTEXT -> HAVE_UCONTEXT_CONTEXTS CONTEXT_THREADS -> HAVE_THREAD_CONTEXTS --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 3747faf7a7..be8918f9f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -214,7 +214,7 @@ IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86|AMD64|amd64") if (MSVC) message(STATUS "Disable fast raw contextes on Microsoft Visual.") else() - set(HAVE_RAWCTX 1) + set(HAVE_RAW_CONTEXTS 1) endif() ENDIF() @@ -267,15 +267,15 @@ if(Boost_FOUND AND Boost_CONTEXT_FOUND) # We should use feature detection for this instead: if (Boost_VERSION LESS 105600) message("Found Boost.Context API v1") - set(HAVE_BOOST_CONTEXT 1) + set(HAVE_BOOST_CONTEXTS 1) else() message("Found Boost.Context API v2") - set(HAVE_BOOST_CONTEXT 2) + set(HAVE_BOOST_CONTEXTS 2) endif() else() message (" boost : found.") message (" boost-context: missing. Install libboost-context-dev for this optional feature.") - set(HAVE_BOOST_CONTEXT 0) + set(HAVE_BOOST_CONTEXTS 0) endif() # Checks for header libraries functions. @@ -383,8 +383,8 @@ if(WIN32) # Those files are not detected despite being present set(HAVE_MAKECONTEXT 1) endif() -set(CONTEXT_UCONTEXT 0) -set(CONTEXT_THREADS 0) +set(HAVE_UCONTEXT_CONTEXTS 0) +set(HAVE_THREAD_CONTEXTS 0) if(enable_jedule) set(HAVE_JEDULE 1) @@ -626,12 +626,12 @@ endif() #If can have both context if(HAVE_UCONTEXT) - set(CONTEXT_UCONTEXT 1) + set(HAVE_UCONTEXT_CONTEXTS 1) message("-- Support for ucontext factory") endif() if(HAVE_PTHREAD) - set(CONTEXT_THREADS 1) + set(HAVE_THREAD_CONTEXTS 1) message("-- Support for thread context factory") endif() diff --git a/include/simgrid_config.h.in b/include/simgrid_config.h.in index 1ee0a15454..279ba4614b 100644 --- a/include/simgrid_config.h.in +++ b/include/simgrid_config.h.in @@ -76,7 +76,7 @@ #define MALLOCATOR_COMPILED_IN @MALLOCATOR_IS_WANTED@ /* Define if xbt contexts are based on our threads implementation or not */ -#cmakedefine CONTEXT_THREADS @CONTEXT_THREADS@ +#cmakedefine HAVE_THREAD_CONTEXTS @HAVE_THREAD_CONTEXTS@ /* Jedule output */ #cmakedefine HAVE_JEDULE @HAVE_JEDULE@ diff --git a/src/simgrid/sg_config.c b/src/simgrid/sg_config.c index 310d0f645c..8adf5cecab 100644 --- a/src/simgrid/sg_config.c +++ b/src/simgrid/sg_config.c @@ -711,11 +711,11 @@ void sg_config_init(int *argc, char **argv) sprintf(description, "Context factory to use in SIMIX. Possible values: %s", dflt_ctx_fact); -#ifdef CONTEXT_UCONTEXT +#ifdef HAVE_UCONTEXT_CONTEXTS dflt_ctx_fact = "ucontext"; p += sprintf(p, ", %s", dflt_ctx_fact); #endif -#ifdef HAVE_RAWCTX +#ifdef HAVE_RAW_CONTEXTS dflt_ctx_fact = "raw"; p += sprintf(p, ", %s", dflt_ctx_fact); #endif diff --git a/src/simix/BoostContext.cpp b/src/simix/BoostContext.cpp index debd695383..3b4e63f94b 100644 --- a/src/simix/BoostContext.cpp +++ b/src/simix/BoostContext.cpp @@ -38,7 +38,7 @@ public: void resume(); }; -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS class BoostParallelContext : public BoostContext { public: BoostParallelContext(std::function code, @@ -66,7 +66,7 @@ BoostContextFactory::BoostContextFactory() { BoostContext::parallel_ = SIMIX_context_is_parallel(); if (BoostContext::parallel_) { -#ifndef CONTEXT_THREADS +#ifndef HAVE_THREAD_CONTEXTS xbt_die("No thread support for parallel context execution"); #else int nthreads = SIMIX_context_get_nthreads(); @@ -81,7 +81,7 @@ BoostContextFactory::BoostContextFactory() BoostContextFactory::~BoostContextFactory() { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS if (BoostContext::parmap_) { xbt_parmap_destroy(BoostContext::parmap_); BoostContext::parmap_ = nullptr; @@ -95,7 +95,7 @@ smx_context_t BoostContextFactory::create_context(std::function code, { BoostContext* context = nullptr; if (BoostContext::parallel_) -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS context = this->new_context( std::move(code), cleanup_func, process); #else @@ -109,7 +109,7 @@ smx_context_t BoostContextFactory::create_context(std::function code, void BoostContextFactory::run_all() { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS if (BoostContext::parallel_) { BoostContext::threads_working_ = 0; xbt_parmap_apply(BoostContext::parmap_, @@ -161,7 +161,7 @@ BoostContext::BoostContext(std::function code, smx_context_usable_stack_size, smx_ctx_boost_wrapper); } else { - #if HAVE_BOOST_CONTEXT == 1 + #if HAVE_BOOST_CONTEXTS == 1 this->fc_ = new boost::context::fcontext_t(); #endif if (BoostContext::maestro_context_ == nullptr) @@ -171,7 +171,7 @@ BoostContext::BoostContext(std::function code, BoostContext::~BoostContext() { -#if HAVE_BOOST_CONTEXT == 1 +#if HAVE_BOOST_CONTEXTS == 1 if (!this->stack_) delete this->fc_; #endif @@ -185,7 +185,7 @@ BoostContext::~BoostContext() void BoostContext::resume() { SIMIX_context_set_current(this); -#if HAVE_BOOST_CONTEXT == 1 +#if HAVE_BOOST_CONTEXTS == 1 boost::context::jump_fcontext( maestro_context_->fc_, this->fc_, (intptr_t) this); @@ -215,7 +215,7 @@ void BoostSerialContext::suspend() maestro_context_); } SIMIX_context_set_current((smx_context_t) next_context); - #if HAVE_BOOST_CONTEXT == 1 + #if HAVE_BOOST_CONTEXTS == 1 boost::context::jump_fcontext( this->fc_, next_context->fc_, (intptr_t) next_context); #else @@ -232,7 +232,7 @@ void BoostSerialContext::stop() // BoostParallelContext -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS void BoostParallelContext::suspend() { @@ -252,7 +252,7 @@ void BoostParallelContext::suspend() } SIMIX_context_set_current((smx_context_t) next_context); -#if HAVE_BOOST_CONTEXT == 1 +#if HAVE_BOOST_CONTEXTS == 1 boost::context::jump_fcontext( this->fc_, next_context->fc_, (intptr_t)next_context); #else @@ -277,7 +277,7 @@ void BoostParallelContext::resume() workers_context_[worker_id] = worker_context; SIMIX_context_set_current(this); -#if HAVE_BOOST_CONTEXT == 1 +#if HAVE_BOOST_CONTEXTS == 1 boost::context::jump_fcontext( worker_context->fc_, this->fc_, (intptr_t) this); #else diff --git a/src/simix/BoostContext.hpp b/src/simix/BoostContext.hpp index c2df0d11d5..62b6066b57 100644 --- a/src/simix/BoostContext.hpp +++ b/src/simix/BoostContext.hpp @@ -36,7 +36,7 @@ protected: // static static unsigned long process_index_; static BoostContext* maestro_context_; protected: -#if HAVE_BOOST_CONTEXT == 1 +#if HAVE_BOOST_CONTEXTS == 1 boost::context::fcontext_t* fc_ = nullptr; #else boost::context::fcontext_t fc_; diff --git a/src/simix/RawContext.cpp b/src/simix/RawContext.cpp index 98c07e84d9..c4f00e77a7 100644 --- a/src/simix/RawContext.cpp +++ b/src/simix/RawContext.cpp @@ -82,7 +82,7 @@ ContextFactory* raw_factory() // ***** Loads of static stuff -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS static xbt_parmap_t raw_parmap; static simgrid::simix::RawContext** raw_workers_context; /* space to save the worker context in each thread */ static unsigned long raw_threads_working; /* number of threads that have started their work */ @@ -259,7 +259,7 @@ __asm__ ( /* If you implement raw contexts for other processors, don't forget to - update the definition of HAVE_RAWCTX in tools/cmake/CompleteInFiles.cmake */ + update the definition of HAVE_RAW_CONTEXTS in tools/cmake/CompleteInFiles.cmake */ raw_stack_t raw_makecontext(void* malloced_stack, int stack_size, rawctx_entry_point_t entry_point, void* arg) { @@ -285,7 +285,7 @@ RawContextFactory::RawContextFactory() #endif raw_context_parallel = SIMIX_context_is_parallel(); if (raw_context_parallel) { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS int nthreads = SIMIX_context_get_nthreads(); xbt_os_thread_key_create(&raw_worker_id_key); // TODO, lazily init @@ -304,7 +304,7 @@ RawContextFactory::RawContextFactory() RawContextFactory::~RawContextFactory() { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS if (raw_parmap) xbt_parmap_destroy(raw_parmap); xbt_free(raw_workers_context); @@ -379,7 +379,7 @@ void RawContextFactory::run_all_serial() void RawContextFactory::run_all_parallel() { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS raw_threads_working = 0; if (raw_parmap == nullptr) raw_parmap = xbt_parmap_new( @@ -427,7 +427,7 @@ void RawContext::suspend_serial() void RawContext::suspend_parallel() { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS /* determine the next context */ smx_process_t next_work = (smx_process_t) xbt_parmap_next(raw_parmap); RawContext* next_context = nullptr; @@ -468,7 +468,7 @@ void RawContext::resume_serial() void RawContext::resume_parallel() { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS unsigned long worker_id = __sync_fetch_and_add(&raw_threads_working, 1); xbt_os_thread_set_specific(raw_worker_id_key, (void*)(uintptr_t) worker_id); RawContext* worker_context = (RawContext*) SIMIX_context_self(); diff --git a/src/simix/UContext.cpp b/src/simix/UContext.cpp index 5b793c5883..33532bb647 100644 --- a/src/simix/UContext.cpp +++ b/src/simix/UContext.cpp @@ -65,7 +65,7 @@ namespace simix { } } -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS static xbt_parmap_t sysv_parmap; static simgrid::simix::ParallelUContext** sysv_workers_context; /* space to save the worker's context in each thread */ static unsigned long sysv_threads_working; /* number of threads that have started their work */ @@ -137,7 +137,7 @@ UContextFactory::UContextFactory() : ContextFactory("UContextFactory") { if (SIMIX_context_is_parallel()) { sysv_parallel = true; -#ifdef CONTEXT_THREADS /* To use parallel ucontexts a thread pool is needed */ +#ifdef HAVE_THREAD_CONTEXTS /* To use parallel ucontexts a thread pool is needed */ int nthreads = SIMIX_context_get_nthreads(); sysv_parmap = nullptr; sysv_workers_context = xbt_new(ParallelUContext*, nthreads); @@ -153,7 +153,7 @@ UContextFactory::UContextFactory() : ContextFactory("UContextFactory") UContextFactory::~UContextFactory() { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS if (sysv_parmap) xbt_parmap_destroy(sysv_parmap); xbt_free(sysv_workers_context); @@ -167,7 +167,7 @@ UContextFactory::~UContextFactory() void UContextFactory::run_all() { if (sysv_parallel) { - #ifdef CONTEXT_THREADS + #ifdef HAVE_THREAD_CONTEXTS sysv_threads_working = 0; // Parmap_apply ensures that every working thread get an index in the // process_to_run array (through an atomic fetch_and_add), @@ -306,7 +306,7 @@ void ParallelUContext::stop() /** Run one particular simulated process on the current thread. */ void ParallelUContext::resume() { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS // What is my containing body? unsigned long worker_id = __sync_fetch_and_add(&sysv_threads_working, 1); // Store the number of my containing body in os-thread-specific area : @@ -347,7 +347,7 @@ void ParallelUContext::resume() */ void ParallelUContext::suspend() { -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS /* determine the next context */ // Get the next soul to embody now: smx_process_t next_work = (smx_process_t) xbt_parmap_next(sysv_parmap); diff --git a/src/simix/smx_context.cpp b/src/simix/smx_context.cpp index 4a9c6ae478..d63003525b 100644 --- a/src/simix/smx_context.cpp +++ b/src/simix/smx_context.cpp @@ -56,7 +56,7 @@ static e_xbt_parmap_mode_t smx_parallel_synchronization_mode = XBT_PARMAP_DEFAUL */ void SIMIX_context_mod_init(void) { -#if defined(CONTEXT_THREADS) && !defined(HAVE_THREAD_LOCAL_STORAGE) +#if defined(HAVE_THREAD_CONTEXTS) && !defined(HAVE_THREAD_LOCAL_STORAGE) /* the __thread storage class is not available on this platform: * use getspecific/setspecific instead to store the current context in each thread */ xbt_os_thread_key_create(&smx_current_context_key); @@ -66,37 +66,37 @@ void SIMIX_context_mod_init(void) if (simgrid::simix::factory_initializer) simix_global->context_factory = simgrid::simix::factory_initializer(); else { /* use the factory specified by --cfg=contexts/factory:value */ -#if defined(CONTEXT_THREADS) +#if defined(HAVE_THREAD_CONTEXTS) if (!strcmp(smx_context_factory_name, "thread")) simix_global->context_factory = simgrid::simix::thread_factory(); #else if (0); #endif -#ifdef CONTEXT_UCONTEXT +#ifdef HAVE_UCONTEXT_CONTEXTS else if (!strcmp(smx_context_factory_name, "ucontext")) simix_global->context_factory = simgrid::simix::sysv_factory(); #endif -#ifdef HAVE_RAWCTX +#ifdef HAVE_RAW_CONTEXTS else if (!strcmp(smx_context_factory_name, "raw")) simix_global->context_factory = simgrid::simix::raw_factory(); #endif -#ifdef HAVE_BOOST_CONTEXT +#ifdef HAVE_BOOST_CONTEXTS else if (!strcmp(smx_context_factory_name, "boost")) simix_global->context_factory = simgrid::simix::boost_factory(); #endif else { XBT_ERROR("Invalid context factory specified. Valid factories on this machine:"); -#ifdef HAVE_RAWCTX +#ifdef HAVE_RAW_CONTEXTS XBT_ERROR(" raw: high performance context factory implemented specifically for SimGrid"); #else XBT_ERROR(" (raw contexts were disabled at compilation time on this machine -- check configure logs for details)"); #endif -#ifdef CONTEXT_UCONTEXT +#ifdef HAVE_UCONTEXT_CONTEXTS XBT_ERROR(" ucontext: classical system V contexts (implemented with makecontext, swapcontext and friends)"); #else XBT_ERROR(" (ucontext was disabled at compilation time on this machine -- check configure logs for details)"); #endif -#ifdef HAVE_BOOST_CONTEXT +#ifdef HAVE_BOOST_CONTEXTS XBT_ERROR(" boost: this uses the boost libraries context implementation"); #else XBT_ERROR(" (boost was disabled at compilation time on this machine -- check configure logs for details. Did you install the libboost-context-dev package?)"); @@ -238,7 +238,7 @@ void SIMIX_context_set_nthreads(int nb_threads) { } if (nb_threads > 1) { -#ifndef CONTEXT_THREADS +#ifndef HAVE_THREAD_CONTEXTS THROWF(arg_error, 0, "The thread factory cannot be run in parallel"); #endif } diff --git a/src/surf/surf_interface.cpp b/src/surf/surf_interface.cpp index a6a183127a..2a86c80bb8 100644 --- a/src/surf/surf_interface.cpp +++ b/src/surf/surf_interface.cpp @@ -130,7 +130,7 @@ s_surf_model_description_t surf_storage_model_description[] = { {NULL, NULL, NULL} /* this array must be NULL terminated */ }; -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS static xbt_parmap_t surf_parmap = NULL; /* parallel map on models */ #endif @@ -373,7 +373,7 @@ void surf_exit(void) future_evt_set = nullptr; } -#ifdef CONTEXT_THREADS +#ifdef HAVE_THREAD_CONTEXTS xbt_parmap_destroy(surf_parmap); #endif diff --git a/src/xbt/xbt_os_thread.c b/src/xbt/xbt_os_thread.c index 3ef350b355..095a28c435 100644 --- a/src/xbt/xbt_os_thread.c +++ b/src/xbt/xbt_os_thread.c @@ -1,6 +1,6 @@ /* xbt_os_thread -- portability layer over the pthread API */ /* Used in RL to get win/lin portability, and in SG when CONTEXT_THREAD */ -/* in SG, when using CONTEXT_UCONTEXT, xbt_os_thread_stub is used instead */ +/* in SG, when using HAVE_UCONTEXT_CONTEXTS, xbt_os_thread_stub is used instead */ /* Copyright (c) 2007-2015. The SimGrid Team. * All rights reserved. */ diff --git a/src/xbt/xbt_sg_stubs.c b/src/xbt/xbt_sg_stubs.c index 5935010c94..cfb2feac2b 100644 --- a/src/xbt/xbt_sg_stubs.c +++ b/src/xbt/xbt_sg_stubs.c @@ -18,9 +18,9 @@ #include "src/xbt_modinter.h" #include "xbt/sysdep.h" #include "xbt/xbt_os_thread.h" -#include "src/portable.h" /* CONTEXT_THREADS */ +#include "src/portable.h" /* HAVE_THREAD_CONTEXTS */ -#ifndef CONTEXT_THREADS +#ifndef HAVE_THREAD_CONTEXTS #ifndef WIN32 #ifdef HAVE_PTHREAD /* xbt_threads is loaded in libsimgrid when they are used to implement the xbt_context. diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index 311833d4f0..ad8c50b592 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -387,7 +387,7 @@ else() endif() # Boost context may not be available -if (HAVE_BOOST_CONTEXT) +if (HAVE_BOOST_CONTEXTS) set(SIMIX_SRC ${SIMIX_SRC} src/simix/BoostContext.hpp @@ -730,8 +730,8 @@ set(source_of_generated_headers src/context_sysv_config.h.in) ### depend of some variables setted upper -# -->CONTEXT_THREADS CONTEXT_UCONTEXT -if(${CONTEXT_THREADS}) #pthread +# -->HAVE_THREAD_CONTEXTS HAVE_UCONTEXT_CONTEXTS +if(${HAVE_THREAD_CONTEXTS}) #pthread set(SURF_SRC ${SURF_SRC} src/simix/ThreadContext.cpp @@ -745,7 +745,7 @@ else() # NOT pthread ) endif() -if(${CONTEXT_THREADS}) #pthread +if(${HAVE_THREAD_CONTEXTS}) #pthread set(SURF_SRC ${SURF_SRC} src/xbt/xbt_os_thread.c @@ -757,7 +757,7 @@ else() # NOT pthread ) endif() -if(${CONTEXT_UCONTEXT}) #ucontext +if(${HAVE_UCONTEXT_CONTEXTS}) #ucontext set(SURF_SRC ${SURF_SRC} src/simix/UContext.cpp diff --git a/tools/cmake/MakeLib.cmake b/tools/cmake/MakeLib.cmake index b21a0ce23c..74f907e561 100644 --- a/tools/cmake/MakeLib.cmake +++ b/tools/cmake/MakeLib.cmake @@ -25,11 +25,11 @@ endif() # Compute the dependencies of SimGrid ##################################### set(SIMGRID_DEP "-lm") -if (HAVE_BOOST_CONTEXT) +if (HAVE_BOOST_CONTEXTS) set(SIMGRID_DEP "${SIMGRID_DEP} ${Boost_CONTEXT_LIBRARY}") endif() -if(HAVE_PTHREAD AND ${CONTEXT_THREADS} AND NOT APPLE) +if(HAVE_PTHREAD AND ${HAVE_THREAD_CONTEXTS} AND NOT APPLE) # Clang on recent Mac OS X is not happy about -pthread. SET(SIMGRID_DEP "${SIMGRID_DEP} -pthread") endif() diff --git a/tools/cmake/PrintArgs.cmake b/tools/cmake/PrintArgs.cmake index 4acd4e042e..258ac3030b 100644 --- a/tools/cmake/PrintArgs.cmake +++ b/tools/cmake/PrintArgs.cmake @@ -57,8 +57,8 @@ if(enable_print_message) message("HAVE_THREAD_LOCAL_STORAGE ...: ${HAVE_THREAD_LOCAL_STORAGE}") message("HAVE_MMALLOC ................: ${HAVE_MMALLOC}") message("") - message("CONTEXT_THREADS .............: ${CONTEXT_THREADS}") - message("CONTEXT_UCONTEXT ............: ${CONTEXT_UCONTEXT}") + message("HAVE_THREAD_CONTEXTS .............: ${HAVE_THREAD_CONTEXTS}") + message("HAVE_UCONTEXT_CONTEXTS ............: ${HAVE_UCONTEXT_CONTEXTS}") message("______________________________________________________________________") message("______________________________________________________________________ DEBUG END") message("") @@ -119,7 +119,7 @@ message(" Compile Smpi ................: ${HAVE_SMPI}") message(" Compile MPI testsuite .......: ${enable_smpi_MPICH3_testsuite}") message(" Compile Smpi f77 ............: ${SMPI_FORTRAN}") message(" Compile Smpi f90 ............: ${SMPI_FORTRAN}") -message(" Compile Boost.Context support: ${HAVE_BOOST_CONTEXT}") +message(" Compile Boost.Context support: ${HAVE_BOOST_CONTEXTS}") message("") message(" Maintainer mode .............: ${enable_maintainer_mode}") message(" Documentation................: ${enable_documentation}") diff --git a/tools/cmake/Tests.cmake b/tools/cmake/Tests.cmake index e31332016c..321105e9f7 100644 --- a/tools/cmake/Tests.cmake +++ b/tools/cmake/Tests.cmake @@ -38,10 +38,10 @@ MACRO(ADD_TESH_FACTORIES NAME FACTORIES) LIST(REMOVE_AT ARGR 0) ENDFOREACH() FOREACH(FACTORY ${FACTORIES}) - if ((${FACTORY} STREQUAL "thread" AND CONTEXT_THREADS) OR - (${FACTORY} STREQUAL "boost" AND HAVE_BOOST_CONTEXT) OR - (${FACTORY} STREQUAL "raw" AND HAVE_RAWCTX) OR - (${FACTORY} STREQUAL "ucontext" AND CONTEXT_UCONTEXT)) + if ((${FACTORY} STREQUAL "thread" AND HAVE_THREAD_CONTEXTS) OR + (${FACTORY} STREQUAL "boost" AND HAVE_BOOST_CONTEXTS) OR + (${FACTORY} STREQUAL "raw" AND HAVE_RAW_CONTEXTS) OR + (${FACTORY} STREQUAL "ucontext" AND HAVE_UCONTEXT_CONTEXTS)) ADD_TESH("${NAME}-${FACTORY}" "--cfg" "contexts/factory:${FACTORY}" ${ARGR}) ENDIF() ENDFOREACH() @@ -97,7 +97,7 @@ IF(NOT enable_memcheck) ADD_TESH_FACTORIES(mc-bugged1 "ucontext;raw" --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/mc --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/mc bugged1.tesh) ADD_TESH_FACTORIES(mc-bugged2 "ucontext;raw" --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/mc --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/mc bugged2.tesh) - IF(CONTEXT_UCONTEXT AND PROCESSOR_x86_64) # liveness model-checking works only on 64bits (for now ...) + IF(HAVE_UCONTEXT_CONTEXTS AND PROCESSOR_x86_64) # liveness model-checking works only on 64bits (for now ...) ADD_TESH(mc-bugged1-liveness-ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/mc --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/mc bugged1_liveness.tesh) ADD_TESH(mc-bugged1-liveness-ucontext-sparse --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/mc --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/mc bugged1_liveness_sparse.tesh) ADD_TESH(mc-bugged1-liveness-visited-ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/mc --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/mc bugged1_liveness_visited.tesh) @@ -116,20 +116,20 @@ IF(NOT enable_memcheck) ### SIMIX ### # BEGIN TESH TESTS - IF(HAVE_RAWCTX) + IF(HAVE_RAW_CONTEXTS) ADD_TESH(tesh-simix-factory-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check_defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check_defaults factory_raw.tesh) - ELSEIF(CONTEXT_UCONTEXT) + ELSEIF(HAVE_UCONTEXT_CONTEXTS) ADD_TESH(tesh-simix-factory-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check_defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check_defaults factory_ucontext.tesh) ELSE() ADD_TESH(tesh-simix-factory-default --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check_defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check_defaults factory_thread.tesh) ENDIF() - IF(CONTEXT_THREADS) + IF(HAVE_THREAD_CONTEXTS) ADD_TESH(tesh-simix-factory-thread --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check_defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check_defaults factory_thread.tesh) ENDIF() - IF(HAVE_RAWCTX) + IF(HAVE_RAW_CONTEXTS) ADD_TESH(tesh-simix-factory-raw --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check_defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check_defaults factory_raw.tesh) ENDIF() - IF(CONTEXT_UCONTEXT) + IF(HAVE_UCONTEXT_CONTEXTS) ADD_TESH(tesh-simix-factory-ucontext --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simix/check_defaults --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simix/check_defaults factory_ucontext.tesh) ENDIF() # END TESH TESTS @@ -141,13 +141,13 @@ IF(NOT enable_memcheck) IF(WIN32 OR CMAKE_SYSTEM_NAME MATCHES "Darwin") # These tests are known to fail on Windows and Mac OS X # (the expected error message is not shown). - IF(CONTEXT_THREADS) + IF(HAVE_THREAD_CONTEXTS) SET_TESTS_PROPERTIES(stack-overflow-thread PROPERTIES WILL_FAIL true) ENDIF() - IF(CONTEXT_UCONTEXT) + IF(HAVE_UCONTEXT_CONTEXTS) SET_TESTS_PROPERTIES(stack-overflow-ucontext PROPERTIES WILL_FAIL true) ENDIF() - IF(HAVE_RAWCTX) + IF(HAVE_RAW_CONTEXTS) SET_TESTS_PROPERTIES(stack-overflow-raw PROPERTIES WILL_FAIL true) ENDIF() ENDIF() @@ -418,15 +418,15 @@ IF(NOT enable_memcheck) ADD_TESH(tesh-smpi-clusters-types --cfg smpi/alltoall:mvapich2 --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/alltoall --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/alltoall clusters.tesh) # END TESH TESTS IF(enable_smpi_MPICH3_testsuite) - IF(CONTEXT_THREADS) + IF(HAVE_THREAD_CONTEXTS) ADD_TEST(test-smpi-mpich3-coll-thread ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/privatize_global_variables:${HAVE_PRIVATIZATION}) SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-thread PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") ENDIF() - IF(CONTEXT_UCONTEXT) + IF(HAVE_UCONTEXT_CONTEXTS) ADD_TEST(test-smpi-mpich3-coll-ompi-ucontext ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:ucontext -execarg=--cfg=smpi/coll_selector:ompi -execarg=--cfg=smpi/privatize_global_variables:${HAVE_PRIVATIZATION} -execarg=--cfg=smpi/bcast:binomial_tree) SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-ompi-ucontext PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") ENDIF() - IF(HAVE_RAWCTX) + IF(HAVE_RAW_CONTEXTS) ADD_TEST(test-smpi-mpich3-coll-mpich-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/coll_selector:mpich -execarg=--cfg=smpi/privatize_global_variables:${HAVE_PRIVATIZATION}) ADD_TEST(test-smpi-mpich3-coll-ompi-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/coll_selector:ompi -execarg=--cfg=smpi/privatize_global_variables:${HAVE_PRIVATIZATION} -execarg=--cfg=smpi/bcast:binomial_tree) ADD_TEST(test-smpi-mpich3-coll-mpich-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/coll_selector:mpich -execarg=--cfg=smpi/privatize_global_variables:${HAVE_PRIVATIZATION}) @@ -434,7 +434,7 @@ IF(NOT enable_memcheck) ADD_TEST(test-smpi-mpich3-coll-impi-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/coll_selector:impi -execarg=--cfg=smpi/privatize_global_variables:${HAVE_PRIVATIZATION}) SET_TESTS_PROPERTIES(test-smpi-mpich3-coll-mpich-raw test-smpi-mpich3-coll-ompi-raw test-smpi-mpich3-coll-mpich-raw test-smpi-mpich3-coll-mvapich2-raw test-smpi-mpich3-coll-impi-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") ENDIF() - IF(HAVE_RAWCTX) + IF(HAVE_RAW_CONTEXTS) ADD_TEST(test-smpi-mpich3-attr-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/attr ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/attr -tests=testlist -execarg=--cfg=contexts/factory:raw) ADD_TEST(test-smpi-mpich3-comm-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/comm ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/comm -tests=testlist -execarg=--cfg=contexts/factory:raw) ADD_TEST(test-smpi-mpich3-init-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/init ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/init -tests=testlist -execarg=--cfg=contexts/factory:raw) @@ -447,7 +447,7 @@ IF(NOT enable_memcheck) ADD_TEST(test-smpi-mpich3-perf-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/perf ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/perf -tests=testlist -execarg=--cfg=contexts/factory:raw -execarg=--cfg=smpi/running_power:-1) SET_TESTS_PROPERTIES(test-smpi-mpich3-attr-raw test-smpi-mpich3-comm-raw test-smpi-mpich3-init-raw test-smpi-mpich3-datatype-raw test-smpi-mpich3-group-raw test-smpi-mpich3-pt2pt-raw test-smpi-mpich3-topo-raw test-smpi-mpich3-rma-raw test-smpi-mpich3-info-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") ENDIF() - IF(SMPI_FORTRAN AND CONTEXT_THREADS) + IF(SMPI_FORTRAN AND HAVE_THREAD_CONTEXTS) ADD_TEST(test-smpi-mpich3-thread-f77 ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f77/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ -tests=testlist -execarg=--cfg=contexts/stack_size:8000 -execarg=--cfg=smpi/privatize_global_variables:${HAVE_PRIVATIZATION}) SET_TESTS_PROPERTIES(test-smpi-mpich3-thread-f77 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!") ADD_TEST(test-smpi-mpich3-thread-f90 ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f90/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/ -tests=testlist -execarg=--cfg=smpi/privatize_global_variables:${HAVE_PRIVATIZATION}) diff --git a/tools/cmake/scripts/generate_memcheck_tests.pl b/tools/cmake/scripts/generate_memcheck_tests.pl index e3fa468dc4..130b0c31bb 100755 --- a/tools/cmake/scripts/generate_memcheck_tests.pl +++ b/tools/cmake/scripts/generate_memcheck_tests.pl @@ -152,16 +152,16 @@ while ( defined( $line = ) ) { foreach my $factory (split(';', $factories)) { $close=0; if( $factory =~ /^raw/) { - print "${indent}if(HAVE_RAWCTX)\n"; + print "${indent}if(HAVE_RAW_CONTEXTS)\n"; $close=1; }elsif( $factory =~ /^boost/) { - print "${indent}if(HAVE_BOOST_CONTEXT)\n"; + print "${indent}if(HAVE_BOOST_CONTEXTS)\n"; $close=1; }elsif( $factory =~ /^ucontext/) { - print "${indent}if(CONTEXT_UCONTEXT)\n"; + print "${indent}if(HAVE_UCONTEXT_CONTEXTS)\n"; $close=1; }elsif( $factory =~ /^thread/) { - print "${indent}if(CONTEXT_THREADS)\n"; + print "${indent}if(HAVE_THREAD_CONTEXTS)\n"; $close=1; } print "${indent}ADD_TEST(NAME memcheck-$name_test-$factory-$count\n"; diff --git a/tools/cmake/src/internal_config.h.in b/tools/cmake/src/internal_config.h.in index 9a41c9e118..18e40fddcb 100644 --- a/tools/cmake/src/internal_config.h.in +++ b/tools/cmake/src/internal_config.h.in @@ -83,13 +83,13 @@ #cmakedefine __VA_COPY_USE_C99(d, s) @__VA_COPY_USE_C99@ /* Define if xbt contexts are based on our threads implementation or not */ -#cmakedefine CONTEXT_THREADS @CONTEXT_THREADS@ +#cmakedefine HAVE_THREAD_CONTEXTS @HAVE_THREAD_CONTEXTS@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_UCONTEXT_H @HAVE_UCONTEXT_H@ /* Define if xbt contexts are based on ucontext or not */ -#cmakedefine CONTEXT_UCONTEXT @CONTEXT_UCONTEXT@ +#cmakedefine HAVE_UCONTEXT_CONTEXTS @HAVE_UCONTEXT_CONTEXTS@ /* Predefined possible va_copy() implementation (id: CPP) */ #cmakedefine __VA_COPY_USE_CPP(d, s) @__VA_COPY_USE_CPP@ @@ -110,8 +110,8 @@ #cmakedefine PROCESSOR_i686 @PROCESSOR_i686@ #cmakedefine PROCESSOR_x86_64 @PROCESSOR_x86_64@ #cmakedefine CMAKE_SYSTEM_PROCESSOR @CMAKE_SYSTEM_PROCESSOR@ -#cmakedefine HAVE_RAWCTX @HAVE_RAWCTX@ -#cmakedefine HAVE_BOOST_CONTEXT @HAVE_BOOST_CONTEXT@ +#cmakedefine HAVE_RAW_CONTEXTS @HAVE_RAW_CONTEXTS@ +#cmakedefine HAVE_BOOST_CONTEXTS @HAVE_BOOST_CONTEXTS@ /* Define to 1 if you have the GNU ld library */ #cmakedefine HAVE_GNU_LD @HAVE_GNU_LD@