]> AND Public Git Repository - simgrid.git/blobdiff - src/surf/surf_interface.cpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "Revert "[mc] Move MC_random() in mc_client_api.cpp""
[simgrid.git] / src / surf / surf_interface.cpp
index f49641e41636fc2e06cd434d99135442f45855e3..8fdc1db634100d39b5bce985d446007b733c4fa5 100644 (file)
@@ -339,6 +339,23 @@ static XBT_INLINE void surf_storage_free(void *r)
   delete static_cast<Storage*>(r);
 }
 
+void sg_version_check(int lib_version_major,int lib_version_minor,int lib_version_patch) {
+    if ((lib_version_major != SIMGRID_VERSION_MAJOR) || (lib_version_minor != SIMGRID_VERSION_MINOR)) {
+      fprintf(stderr,
+                 "FATAL ERROR: Your program was compiled with SimGrid version %d.%d.%d, "
+                 "and then linked against SimGrid %d.%d.%d. Please fix this.\n",
+              SIMGRID_VERSION_MAJOR,SIMGRID_VERSION_MINOR,SIMGRID_VERSION_PATCH,
+                         lib_version_major,lib_version_minor,lib_version_patch);
+      abort();
+    }
+    if (lib_version_patch != SIMGRID_VERSION_PATCH) {
+        fprintf(stderr,
+                 "Warning: Your program was compiled with SimGrid version %d.%d.%d, "
+                 "and then linked against SimGrid %d.%d.%d. Proceeding anyway.\n",
+                SIMGRID_VERSION_MAJOR,SIMGRID_VERSION_MINOR,SIMGRID_VERSION_PATCH,
+                         lib_version_major,lib_version_minor,lib_version_patch);
+    }
+}
 
 void sg_version(int *ver_major,int *ver_minor,int *ver_patch) {
   *ver_major = SIMGRID_VERSION_MAJOR;