X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f783ed4680c6862a1b7543237e89d1221334bae0..f0e89ec6fd6ecb2a6171da22d3ccc88a24cf5ba1:/include/simgrid_config.h.in diff --git a/include/simgrid_config.h.in b/include/simgrid_config.h.in index 4c1feb7d61..be5c24da3e 100644 --- a/include/simgrid_config.h.in +++ b/include/simgrid_config.h.in @@ -1,42 +1,57 @@ -/* $Id$ */ - /* simgrid_config.h - Results of the configure made visible to user code */ -/* Copyright (c) 2009, 2010, 2011. Da SimGrid team. All rights reserved. */ +/* Copyright (c) 2009-2012. Da SimGrid team. All rights reserved. */ /* 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 "xbt/misc.h" /* XBT_PUBLIC */ +#include "xbt/dynar.h" /* sg_commandline */ #ifndef SIMGRID_PUBLIC_CONFIG_H #define SIMGRID_PUBLIC_CONFIG_H SG_BEGIN_DECL() +/** 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 SIMGRID_VERSION_MAJOR @SIMGRID_VERSION_MAJOR@ +#define SIMGRID_VERSION_MINOR @SIMGRID_VERSION_MINOR@ +#define SIMGRID_VERSION_PATCH @SIMGRID_VERSION_PATCH@ + /* 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)) - -#cmakedefine SIMGRID_VERSION_MAJOR @SIMGRID_VERSION_MAJOR@ -#cmakedefine SIMGRID_VERSION_MINOR @SIMGRID_VERSION_MINOR@ -#cmakedefine SIMGRID_VERSION_PATCH @SIMGRID_VERSION_PATCH@ - #define SIMGRID_VERSION MAKE_SIMGRID_VERSION(SIMGRID_VERSION_MAJOR, \ SIMGRID_VERSION_MINOR, \ SIMGRID_VERSION_PATCH) +/** Retrieves the version numbers of the used dynamic library (so, DLL or dynlib) , while + SIMGRID_VERSION_MAJOR and friends give the version numbers of the used header files */ +XBT_PUBLIC(void) sg_version(int *major,int *minor,int *patch); + +/** Contains all the parameters we got from the command line */ +XBT_PUBLIC_DATA(xbt_dynar_t) sg_cmdline; + /* take care of DLL usage madness */ #ifdef _XBT_DLL_EXPORT - #define DLL_EXPORT + #ifndef DLL_EXPORT + #define DLL_EXPORT + #endif #else #ifdef _XBT_DLL_STATIC - #define DLL_STATIC + #ifndef DLL_STATIC + #define DLL_STATIC + #endif #else - #define DLL_IMPORT + #ifndef DLL_EXPORT + #define DLL_IMPORT + #endif #endif #endif @@ -56,24 +71,11 @@ SG_BEGIN_DECL() #cmakedefine HAVE_MMAP @HAVE_MMAP@ /* Get the config */ -#undef SIMGRID_NEED_GETLINE #undef SIMGRID_NEED_ASPRINTF #undef SIMGRID_NEED_VASPRINTF -@need_getline@ @simgrid_need_asprintf@ @simgrid_need_vasprintf@ -/* Use that config to declare missing elements */ -#ifdef SIMGRID_NEED_GETLINE -#include /* size_t */ -#include /* FILE* */ -XBT_PUBLIC(long) getline(char **lineptr, size_t * n, FILE * stream); -#else -#ifndef _GNU_SOURCE - #define _GNU_SOURCE -#endif -#include -#endif #include /* snprintf related functions */ @@ -113,6 +115,9 @@ XBT_PUBLIC(char *) bvprintf(const char *fmt, va_list ap); XBT_PUBLIC(char *) bprintf(const char *fmt, ...) _XBT_GNUC_PRINTF(1, 2); /** @} */ +/* Whether mallocators were enabled in ccmake or not. */ +#define MALLOCATOR_COMPILED_IN @MALLOCATOR_IS_WANTED@ + /* Define if xbt contexts are based on our threads implementation or not */ #cmakedefine CONTEXT_THREADS @CONTEXT_THREADS@ @@ -128,6 +133,8 @@ XBT_PUBLIC(char *) bprintf(const char *fmt, ...) _XBT_GNUC_PRINTF(1, 2); /* If __thread is available */ #cmakedefine HAVE_THREAD_LOCAL_STORAGE @HAVE_THREAD_LOCAL_STORAGE@ +/* If Model-Checking support was requested */ +#cmakedefine HAVE_MC @HAVE_MC@ SG_END_DECL() #endif /* SIMGRID_PUBLIC_CONFIG_H */