Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
netcards were renamed to netpoints recently
[simgrid.git] / include / simgrid_config.h.in
index a33a432..0d0cd0d 100644 (file)
@@ -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.          */
 
@@ -7,35 +7,40 @@
 
 #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 */
+#include <xbt/base.h>
 
 /** 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) */
-
+  See sg_version_get() 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@
+#define SIMGRID_GIT_VERSION   "@GIT_VERSION@"
+#define SIMGRID_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
 
-#define SIMGRID_VERSION_STRING "@SIMGRID_VERSION_STRING@"
-#define SIMGRID_VERSION_BANNER "@SIMGRID_VERSION_BANNER@"
+SG_BEGIN_DECL()
+/** 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_get(int *major,int *minor,int *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)
+/** Display the version information and some additional blurb. */
+XBT_PUBLIC(void) sg_version(void);
+SG_END_DECL()
 
-/* 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@
+/* 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@))
 
-#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? */
+#define SIMGRID_VERSION_STRING "@SIMGRID_VERSION_STRING@"
 
-#cmakedefine SIMGRID_HAVE_LIBSIG @SIMGRID_HAVE_LIBSIG@
+/* Was Jedule compiled in?  */
+#cmakedefine01 HAVE_JEDULE
+/* Was the Lua support compiled in? */
+#cmakedefine01 HAVE_LUA
+/* Were mallocators (object pools) compiled in? */
+#cmakedefine01 HAVE_MALLOCATOR
+/* Was the model-checking compiled in? */
+#cmakedefine01 HAVE_MC
+/* Was the NS3 support compiled in? */
+#cmakedefine01 HAVE_NS3
 
 #endif /* SIMGRID_PUBLIC_CONFIG_H */