Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
more propaganda
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 12 Jan 2017 10:58:19 +0000 (11:58 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 12 Jan 2017 10:58:19 +0000 (11:58 +0100)
include/simgrid_config.h.in
include/xbt/misc.h
src/surf/surf_interface.cpp

index 7e54f41..b9726b9 100644 (file)
@@ -7,12 +7,24 @@
 
 #ifndef SIMGRID_PUBLIC_CONFIG_H
 #define SIMGRID_PUBLIC_CONFIG_H
+#include <xbt/base.h>
 
-/** Define the version numbers of the used header files. See sg_version() to retrieve the version of the dynamic library. */
+/** Define the version numbers of the used header files. 
+  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@
 
+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);
+
+/** Display the version information and some additional blurb. */
+XBT_PUBLIC(void) sg_version(void);
+SG_END_DECL()
+
+
 /* 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@))
 
index 1d17aa2..c9da60a 100644 (file)
@@ -25,10 +25,6 @@ XBT_PUBLIC_DATA(int) xbt_pagebits;
 
 XBT_PUBLIC(const char *) xbt_procname(void);
 
-/** 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);
-
 /** Helps ensuring that header version (SIMGRID_VERSION_MAJOR and friends) and dynamic library version do match. */
 XBT_PUBLIC(void) sg_version_check(int lib_version_major,int lib_version_minor,int lib_version_patch);
 
index 3f44e4f..7c3d2d5 100644 (file)
@@ -275,12 +275,54 @@ void sg_version_check(int lib_version_major,int lib_version_minor,int lib_versio
     }
 }
 
-void sg_version(int *ver_major,int *ver_minor,int *ver_patch) {
+void sg_version_get(int* ver_major, int* ver_minor, int* ver_patch)
+{
   *ver_major = SIMGRID_VERSION_MAJOR;
   *ver_minor = SIMGRID_VERSION_MINOR;
   *ver_patch = SIMGRID_VERSION_PATCH;
 }
 
+void sg_version()
+{
+  std::printf("This program was linked against %s\n", SIMGRID_VERSION_STRING);
+
+#if HAVE_MC
+  std::printf("   Model-checking support compiled in.\n");
+#else
+  std::printf("   Model-checking support disabled at compilation.\n");
+#endif
+
+#if HAVE_NS3
+  std::printf("   NS3 support compiled in.\n");
+#else
+  std::printf("   NS3 support disabled at compilation.\n");
+#endif
+
+#if HAVE_JEDULE
+  std::printf("   Jedule support compiled in.\n");
+#else
+  std::printf("   Jedule support disabled at compilation.\n");
+#endif
+
+#if HAVE_LUA
+  std::printf("   Lua support compiled in.\n");
+#else
+  std::printf("   Lua support disabled at compilation.\n");
+#endif
+
+#if HAVE_MALLOCATOR
+  std::printf("   Mallocator support compiled in.\n");
+#else
+  std::printf("   Mallocator support disabled at compilation.\n");
+#endif
+
+  std::printf("\nTo cite SimGrid in a publication, please use:\n"
+              "   Henri Casanova, Arnaud Giersch, Arnaud Legrand, Martin Quinson, Frédéric Suter. \n"
+              "   Versatile, Scalable, and Accurate Simulation of Distributed Applications and Platforms. \n"
+              "   Journal of Parallel and Distributed Computing, Elsevier, 2014, 74 (10), pp.2899-2917.\n");
+  std::printf("The pdf file and a BibTeX entry for LaTeX users can be found at http://hal.inria.fr/hal-01017319\n");
+}
+
 void surf_init(int *argc, char **argv)
 {
   if (USER_HOST_LEVEL != -1) // Already initialized