-/* Set somes variables for Windows compilation */
-
-#ifdef _XBT_DLL_EXPORT
- #ifndef DLL_EXPORT
- #define DLL_EXPORT
- #endif
-#else
- #ifdef _XBT_DLL_STATIC
- #ifndef DLL_STATIC
- #define DLL_STATIC
- #endif
- #else
- #ifndef DLL_EXPORT
- #define DLL_IMPORT
- #endif
- #endif
-#endif
-
-/* If __thread is available */
-#cmakedefine HAVE_THREAD_LOCAL_STORAGE @HAVE_THREAD_LOCAL_STORAGE@
-
-#ifndef __STRICT_ANSI__
- #cmakedefine __STRICT_ANSI__ @__STRICT_ANSI__@
-#endif
-#ifndef _MSC_VER
- #cmakedefine _MSC_VER @_MSC_VER@
-#endif
-#ifndef _M_IX86
- #cmakedefine _M_IX86 @_M_IX86@
-#endif
-#cmakedefine _XBT_WIN32 @_XBT_WIN32@ //this variable is set if it is a windows platform
-#cmakedefine _WIN32 @_WIN32@ //this variable is set if it is a 32 bits windows platform
-#cmakedefine _WIN64 @_WIN64@ //this variable is set if it is a 64 bits windows platform
-#cmakedefine __VISUALC__ @__VISUALC__@
-#cmakedefine __BORLANDC__ @__BORLANDC__@
-#cmakedefine APPLE @APPLE@
-#ifdef _MSC_VER
- #define HAVE_VA_COPY
-#endif
-/* Set to true if enable_model-checking is true */
-#cmakedefine MMALLOC_WANT_OVERRIDE_LEGACY @MMALLOC_WANT_OVERRIDE_LEGACY@
-#cmakedefine HAVE_MC @HAVE_MC@
-
-/* If have linux_futex.h */
-#cmakedefine HAVE_FUTEX_H @HAVE_FUTEX_H@
-
-/* Some variable for libsigc++ */
-#cmakedefine HAVE_LIBSIGC @HAVE_LIBSIGC++@
-
-/* Some variable for graphviz */
-#cmakedefine HAVE_GRAPHVIZ @HAVE_GRAPHVIZ@
-#cmakedefine HAVE_GRAPH_H @GRAPH_H@
-#cmakedefine HAVE_CGRAPH_H @CGRAPH_H@
-#cmakedefine HAVE_AGRAPH_H @AGRAPH_H@
-
-/* Define if building universal (internal helper macro) */
-#cmakedefine AC_APPLE_UNIVERSAL_BUILD @AC_APPLE_UNIVERSAL_BUILD@
-
-/* Arguments passed to the configure script */
-#cmakedefine AC_CONFIGURE_ARGS @AC_CONFIGURE_ARGS@
-
-/* Path to the addr2line tool */
-#cmakedefine ADDR2LINE "@ADDR2LINE@"
-
-/* Predefined possible va_copy() implementation (id: ASP) */
-#cmakedefine __VA_COPY_USE_ASP(d, s) @__VA_COPY_USE_ASP@
-
-/* Predefined possible va_copy() implementation (id: ASS) */
-#cmakedefine __VA_COPY_USE_ASS(d, s) @__VA_COPY_USE_ASS@
-
-/* Predefined possible va_copy() implementation (id: C99) */
-#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@
-
-/* Define to 1 if you have the <ucontext.h> header file. */
-#cmakedefine HAVE_UCONTEXT_H @HAVE_UCONTEXT_H@
-
-/* Define if xbt contexts are based on ucontext or not */
-#cmakedefine CONTEXT_UCONTEXT @CONTEXT_UCONTEXT@
-
-/* Predefined possible va_copy() implementation (id: CPP) */
-#cmakedefine __VA_COPY_USE_CPP(d, s) @__VA_COPY_USE_CPP@
-
-/* Predefined possible va_copy() implementation (id: CPS) */
-#cmakedefine __VA_COPY_USE_CPS(d, s) @__VA_COPY_USE_CPS@
-
-/* Predefined possible va_copy() implementation (id: GCB) */
-#cmakedefine __VA_COPY_USE_GCB(d, s) @__VA_COPY_USE_GCB@
-
-/* Predefined possible va_copy() implementation (id: GCH) */
-#cmakedefine __VA_COPY_USE_GCH(d, s) @__VA_COPY_USE_GCH@
-
-/* Predefined possible va_copy() implementation (id: GCM) */
-#cmakedefine __VA_COPY_USE_GCM(d, s) @__VA_COPY_USE_GCM@
-
-/* Used to select the flavor of assembly that we need today */
-#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@
-
-/* Define to 1 if you have the GNU ld library */
-#cmakedefine HAVE_GNU_LD @HAVE_GNU_LD@
-
-/* Define to 1 if you have the <errno.h> header file. */
-#cmakedefine HAVE_ERRNO_H @HAVE_ERRNO_H@
-
-/* Define to 1 if you have the <execinfo.h> header file. */
-#cmakedefine HAVE_EXECINFO_H @HAVE_EXECINFO_H@
-
-/* Define to 1 if mmalloc is compiled in. */
-#cmakedefine HAVE_MMALLOC @HAVE_MMALLOC@
-
-/* Define to 1 if mmap is available */
-#cmakedefine HAVE_MMAP @HAVE_MMAP@
-
-/* Define to 1 if process_vm_readv is available */
-#cmakedefine HAVE_PROCESS_VM_READV @HAVE_PROCESS_VM_READV@
-
-/* Define to 1 if you have the `getdtablesize' function. */
-#cmakedefine HAVE_GETDTABLESIZE @HAVE_GETDTABLESIZE@
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#cmakedefine HAVE_GETTIMEOFDAY @HAVE_GETTIMEOFDAY@
-
-/* Define to 1 if you have the `clock_gettime' function. */
-#cmakedefine HAVE_POSIX_GETTIME @HAVE_POSIX_GETTIME@
-
-/* Indicates that we have SMPI support */
-#cmakedefine HAVE_SMPI @HAVE_SMPI@
-
-/* Indicates that we have SMPI FORTRAN support */
-#cmakedefine SMPI_FORTRAN @SMPI_FORTRAN@
-
-/* We have mmap and objdump to handle privatization */
-#cmakedefine HAVE_PRIVATIZATION @HAVE_PRIVATIZATION@
-
-/* Indicates that we have NS3 support */
-#cmakedefine HAVE_NS3 @HAVE_NS3@
-
-/* defines whether Lua bindings must be compiled or not */
-#cmakedefine HAVE_LUA @HAVE_LUA@
-
-/* Define to 1 if you have the <lua5.1/lualib.h> header file. */
-#cmakedefine HAVE_LUA5_1_LUALIB_H @HAVE_LUA5_1_LUALIB_H@
-
-/* Define to 1 if you have the `makecontext' function. */
-#cmakedefine HAVE_MAKECONTEXT @HAVE_MAKECONTEXT@
-
-/* Define if pthread_mutex_timedlock() is avaible or not (part of XPG6
- standard only?) */
-#cmakedefine HAVE_MUTEX_TIMEDLOCK @HAVE_MUTEX_TIMEDLOCK@
-
-/* Define to 1 if you have the `popen' function. */
-#cmakedefine HAVE_POPEN @HAVE_POPEN@
-
+#include "simgrid/config.h" /* what was compiled in? */
+
+/* Non-standard header files */
+/* <execinfo.h> */
+#cmakedefine01 HAVE_EXECINFO_H
+/* <linux/futex.h> */
+#cmakedefine01 HAVE_FUTEX_H
+/* <signal.h> */
+#cmakedefine01 HAVE_SIGNAL_H
+/* <unistd.h> */
+#cmakedefine01 HAVE_UNISTD_H
+/* <ucontext.h> */
+#cmakedefine01 HAVE_UCONTEXT_H
+/* <valgrind/valgrind.h> */
+#cmakedefine01 HAVE_VALGRIND_H
+
+/* Address Sanitizer */
+#cmakedefine01 HAVE_SANITIZER_THREAD
+#cmakedefine01 HAVE_SANITIZER_ADDRESS
+#cmakedefine01 HAVE_SANITIZER_ADDRESS_FIBER_SUPPORT
+
+/* Time portability */
+/* Function gettimeofday */
+#cmakedefine01 HAVE_GETTIMEOFDAY
+/* Function clock_gettime */
+#cmakedefine01 HAVE_POSIX_GETTIME
+/* Function nanosleep */
+#cmakedefine01 HAVE_NANOSLEEP
+
+/* The usable context factories */
+#cmakedefine01 HAVE_BOOST_CONTEXTS
+#cmakedefine01 HAVE_RAW_CONTEXTS
+#cmakedefine01 HAVE_THREAD_CONTEXTS
+#cmakedefine01 HAVE_UCONTEXT_CONTEXTS
+
+/* Variables for the thread contexts (and parallel mode of raw contexts) */