X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/932dc163c4d482c10b12df2b6f9734f3f16c602d..4f3542d1f6ce52c0d190d9ee21d641d5d313e1c7:/include/simgrid_config.h.in diff --git a/include/simgrid_config.h.in b/include/simgrid_config.h.in index 0581c3e32f..de9e3f1750 100644 --- a/include/simgrid_config.h.in +++ b/include/simgrid_config.h.in @@ -1,40 +1,57 @@ /* 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() -/* 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 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)) #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 @@ -61,17 +78,14 @@ SG_BEGIN_DECL() @simgrid_need_asprintf@ @simgrid_need_vasprintf@ +#include /* FILE, getline if it exists */ + /* 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 */ @@ -111,6 +125,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@ @@ -126,6 +143,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 */