- return -1;
-}
-
-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",
- lib_version_major, lib_version_minor, lib_version_patch, SIMGRID_VERSION_MAJOR, SIMGRID_VERSION_MINOR,
- SIMGRID_VERSION_PATCH);
- abort();
- }
- if (lib_version_patch != SIMGRID_VERSION_PATCH) {
- if (SIMGRID_VERSION_PATCH > 89 || lib_version_patch > 89) {
- fprintf(
- stderr,
- "FATAL ERROR: Your program was compiled with SimGrid version %d.%d.%d, "
- "and then linked against SimGrid %d.%d.%d. \n"
- "One of them is a development version, and should not be mixed with the stable release. Please fix this.\n",
- lib_version_major, lib_version_minor, lib_version_patch, SIMGRID_VERSION_MAJOR, SIMGRID_VERSION_MINOR,
- SIMGRID_VERSION_PATCH);
- abort();
- }
- fprintf(stderr, "Warning: Your program was compiled with SimGrid version %d.%d.%d, "
- "and then linked against SimGrid %d.%d.%d. Proceeding anyway.\n",
- lib_version_major, lib_version_minor, lib_version_patch, SIMGRID_VERSION_MAJOR, SIMGRID_VERSION_MINOR,
- SIMGRID_VERSION_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()
-{
- XBT_HELP("This program was linked against %s (git: %s), found in %s.", SIMGRID_VERSION_STRING, SIMGRID_GIT_VERSION,
- SIMGRID_INSTALL_PREFIX);
-
-#if SIMGRID_HAVE_MC
- XBT_HELP(" Model-checking support compiled in.");
-#else
- XBT_HELP(" Model-checking support disabled at compilation.");
-#endif
-
-#if SIMGRID_HAVE_NS3
- XBT_HELP(" ns-3 support compiled in.");
-#else
- XBT_HELP(" ns-3 support disabled at compilation.");
-#endif
-
-#if SIMGRID_HAVE_JEDULE
- XBT_HELP(" Jedule support compiled in.");
-#else
- XBT_HELP(" Jedule support disabled at compilation.");
-#endif
-
-#if SIMGRID_HAVE_LUA
- XBT_HELP(" Lua support compiled in.");
-#else
- XBT_HELP(" Lua support disabled at compilation.");
-#endif
-
-#if SIMGRID_HAVE_MALLOCATOR
- XBT_HELP(" Mallocator support compiled in.");
-#else
- XBT_HELP(" Mallocator support disabled at compilation.");
-#endif
-
- XBT_HELP("\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"
- "The pdf file and a BibTeX entry for LaTeX users can be found at http://hal.inria.fr/hal-01017319");
-}
-
-void surf_init(int *argc, char **argv)
-{
- if (xbt_initialized > 0)
- return;
-
- xbt_init(argc, argv);
-
- sg_config_init(argc, argv);
-
- if (MC_is_active())
- MC_memory_init();
-}
-
-void surf_exit()
-{
- simgrid::s4u::Engine::shutdown();
- for (auto const& e : storage_types) {
- simgrid::kernel::resource::StorageType* stype = e.second;
- delete stype->properties;
- delete stype->model_properties;
- delete stype;
- }
-
- for (auto const& model : all_existing_models)
- delete model;
-
- tmgr_finalize();
- sg_platf_exit();
-
- NOW = 0; /* Just in case the user plans to restart the simulation afterward */