From b1e6ab395496524b308731bc4e006916ad43efa4 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Mon, 7 Mar 2016 22:21:33 +0100 Subject: [PATCH] cleanups in public config header --- CMakeLists.txt | 10 +++++----- include/simgrid_config.h.in | 33 +++++++++++---------------------- src/xbt/mallocator.c | 3 ++- 3 files changed, 18 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4459d8d4bb..2f5dd8b54a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -311,8 +311,8 @@ endif() execute_process( COMMAND "${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_thread_storage.c" WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - RESULT_VARIABLE HAVE_thread_storage_run - ) + RESULT_VARIABLE HAVE_thread_storage_run) + if(HAVE_thread_storage_run) set(HAVE_THREAD_LOCAL_STORAGE 1) @@ -341,9 +341,9 @@ if(enable_jedule) endif() if(enable_mallocators) - SET(MALLOCATOR_IS_WANTED 1) + SET(HAVE_MALLOCATOR 1) else() - SET(MALLOCATOR_IS_WANTED 0) + SET(HAVE_MALLOCATOR 0) endif() if(enable_model-checking AND HAVE_MMALLOC) @@ -352,7 +352,7 @@ if(enable_model-checking AND HAVE_MMALLOC) include(FindLibdw) else() if(enable_model-checking) - message(STATUS "Warning: support for model-checking has been disabled because HAVE_MMALLOC is false") + message(STATUS "Warning: support for model-checking has been disabled because you are missing either mmap or __thread.") endif() SET(HAVE_MC 0) SET(HAVE_MMALLOC 0) diff --git a/include/simgrid_config.h.in b/include/simgrid_config.h.in index a33a432f0a..a6f787f6ec 100644 --- a/include/simgrid_config.h.in +++ b/include/simgrid_config.h.in @@ -1,4 +1,4 @@ -/* simgrid_config.h - Results of the configure made visible to user code */ +/* simgrid_config.h - Results of the configure made visible to user code. */ /* Copyright (c) 2009-2016. The SimGrid Team. All rights reserved. */ @@ -8,34 +8,23 @@ #ifndef SIMGRID_PUBLIC_CONFIG_H #define SIMGRID_PUBLIC_CONFIG_H -/* This file should only contain public declarations, mainly the definitions of SimGrid modules that were compiled in */ - -/** Define the version numbers of the used header files. - sg_version() can be used to retrieve the version of the dynamic library. - But actually, if these numbers don't match, SimGrid refuses to start (so you shouldn't have to care about sg_version() yourself) */ - +/** Define the version numbers of the used header files. See sg_version() to retrieve the version of the dynamic library. */ #define SIMGRID_VERSION_MAJOR @SIMGRID_VERSION_MAJOR@ #define SIMGRID_VERSION_MINOR @SIMGRID_VERSION_MINOR@ #define SIMGRID_VERSION_PATCH @SIMGRID_VERSION_PATCH@ +/* Version as a single integer. v3.4 is 30400; v3.16.2 is 31602; v42 will be 420000, and so on. */ +#define SIMGRID_VERSION (100UL * (100UL * (@SIMGRID_VERSION_MAJOR@) + (@SIMGRID_VERSION_MINOR@)) + (@SIMGRID_VERSION_PATCH@)) + #define SIMGRID_VERSION_STRING "@SIMGRID_VERSION_STRING@" #define SIMGRID_VERSION_BANNER "@SIMGRID_VERSION_BANNER@" -/* Version X.Y.Z will get version number XYZ: all digits concatenated without dots (with Y and Z must be on two positions) */ -#define MAKE_SIMGRID_VERSION(major, minor, patch) (100UL * (100UL * (major) + (minor)) + (patch)) -#define SIMGRID_VERSION MAKE_SIMGRID_VERSION(SIMGRID_VERSION_MAJOR, SIMGRID_VERSION_MINOR, SIMGRID_VERSION_PATCH) - -/* Whether mallocators were enabled in ccmake or not. */ -#define MALLOCATOR_COMPILED_IN @MALLOCATOR_IS_WANTED@ - -/* If __thread is available */ -#cmakedefine HAVE_THREAD_LOCAL_STORAGE @HAVE_THREAD_LOCAL_STORAGE@ - -#cmakedefine HAVE_JEDULE @HAVE_JEDULE@ /* Was Jedule compiled in? */ -#cmakedefine HAVE_MC @HAVE_MC@ /* Was the model-checking compiled in? */ -#cmakedefine HAVE_NS3 @HAVE_NS3@ /* Was the NS3 support compiled in? */ -#cmakedefine HAVE_LUA @HAVE_LUA@ /* Was the Lua support compiled in? */ +#cmakedefine HAVE_JEDULE @HAVE_JEDULE@ /* Was Jedule compiled in? */ +#cmakedefine HAVE_LUA @HAVE_LUA@ /* Was the Lua support compiled in? */ +#define HAVE_MALLOCATOR @HAVE_MALLOCATOR@ /* Whether mallocators (object pools) were activated at compilation time. */ +#cmakedefine HAVE_MC @HAVE_MC@ /* Was the model-checking compiled in? */ +#cmakedefine HAVE_NS3 @HAVE_NS3@ /* Was the NS3 support compiled in? */ -#cmakedefine SIMGRID_HAVE_LIBSIG @SIMGRID_HAVE_LIBSIG@ +#cmakedefine SIMGRID_HAVE_LIBSIG @SIMGRID_HAVE_LIBSIG@ /* Used in the public interface xbt/signal.hpp :( */ #endif /* SIMGRID_PUBLIC_CONFIG_H */ diff --git a/src/xbt/mallocator.c b/src/xbt/mallocator.c index f355354b13..04d9cc2261 100644 --- a/src/xbt/mallocator.c +++ b/src/xbt/mallocator.c @@ -6,6 +6,7 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ +#include "src/internal_config.h" #include "xbt/mallocator.h" #include "xbt/asserts.h" #include "xbt/sysdep.h" @@ -77,7 +78,7 @@ void xbt_mallocator_initialization_is_done(int protect) /** used by the module to know if it's time to activate the mallocators yet */ static inline int xbt_mallocator_is_active(void) { -#if MALLOCATOR_COMPILED_IN +#if HAVE_MALLOCATOR return initialization_done && !MC_is_active(); #else return 0; -- 2.20.1