endif()
set(SIMGRID_VERSION_STRING "SimGrid version ${release_version}${SIMGRID_VERSION_EXTRA}")
-set(SIMGRID_VERSION_BANNER "SIMGRID_VERSION_STRING\\nCopyright (c) 2004-${SIMGRID_VERSION_DATE}. The Simgrid Team.")
-if(release)
- set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER}\\nRelease build")
-else()
- set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER}\\nDevelopment build")
-endif()
set(libsimgrid_version "${release_version}")
set(libsimgrid-java_version "${release_version}")
FILE(STRINGS ${CMAKE_HOME_DIRECTORY}/.gitversion GIT_VERSION)
endif()
-if(GIT_VERSION)
- set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER} at commit ${GIT_VERSION}")
-endif()
-if(GIT_DATE)
- set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER} (${GIT_DATE})")
-endif()
### Generate the required headers and scripts
#############################################
#test_script:
# IPC::Run broken on windows. We should switch to https://rt.cpan.org/Public/Bug/Display.html?id=104812#txn-1546043
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/async/async.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/bittorrent/bittorrent.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/master_slave_bypass/bypass.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/chord/chord.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/cloud.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/migration/migration.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/commTime/commtime.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/kademlia/kademlia.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/master_slave_kill/kill.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/masterslave/masterslave.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/migration/migration.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/mutualExclusion/mutualexclusion.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/pingPong/pingpong.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/priority/priority.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/startKillTime/startKillTime.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/surfCpuModel/surf_cpu_model.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/surfPlugin/surf_plugin.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/reservationSurfPlugin/reservation_surf_plugin.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/suspend/suspend.tesh
-#- perl %TESH_ARGS% C:/projects/simgrid/examples/java/tracing/tracingPingPong.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/async/async.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/bittorrent/bittorrent.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/master_slave_bypass/bypass.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/chord/chord.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/cloud.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/migration/migration.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/commTime/commtime.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/kademlia/kademlia.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/master_slave_kill/kill.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/masterslave/masterslave.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/migration/migration.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/mutualExclusion/mutualexclusion.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/pingPong/pingpong.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/priority/priority.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/startKillTime/startKillTime.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/surfCpuModel/surf_cpu_model.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/surfPlugin/surf_plugin.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/reservationSurfPlugin/reservation_surf_plugin.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/suspend/suspend.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/tracing/tracingPingPong.tesh
artifacts:
- path: simgrid.jar
\section pf_other_tags Tags not (directly) describing the platform
-There are 3 tags, that you can use inside a \<platform\> tag that are
-not describing the platform:
-\li \ref pf_random "random": it allows you to define random generators you want to use
- for your simulation.
+The following tags can be used inside a \<platform\> tag even if they are not
+directly describing the platform:
\li \ref pf_config "config": it allows you to pass some configuration stuff like, for
example, the network model and so on. It follows the
\li \ref pf_include "include": allows you to include another file into the current one.
...
\endverbatim
+\subsection pf_include include
-\subsection pf_random random
-
-<b>This has not yet been implemented.</b>
+Even if it can be used in other contexts, this tag was originally created
+to be used with \ref pf_trace. The idea was to have a file describing the
+platform, and another file attaching traces of a given period to the platform.
-\subsection pf_include include
+The drawback is that the file chuncks that will be included do not
+constitute valid XML files. This may explain why this feature was never really
+used in practice (as far as we know). Other mechanisms, such as the ability to load
+several platform files one after the other, could be considered in the future.
-The \c include tag allows you to import other platforms into your
+In the meanwhile, the \c include tag allows you to import other platforms into your
local file. This is done with the intention to help people
combine their different AS and provide new platforms. Those files
should contain XML that consists of
\ref pf_include "include", \ref pf_cluster "cluster", \ref pf_peer "peer", \ref pf_As "AS", \ref pf_trace "trace", \ref pf_trace "tags".
-\note
- Due to some obscure technical reasons, you have to open
- and close the tag in order to make it work.
+Do not forget to close the tag to make it work, or you will end up with an invalid XML file.
#### Attributes ####
| Attribute name | Mandatory | Values | Description |
| --------------- | --------- | ---------------------- | ----------- |
-| file | yes | String | Filename of the path you want to include with either relative or absolute path. Syntax is defined by your OS |
+| file | yes | String | Filename of the path you want to include with either relative or absolute path. |
#### Example ####
\verbatim
<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
<platform version="4">
<AS id="main" routing="Full">
<include file="clusterA.xml"></include>
#define SIMGRID_VERSION (100UL * (100UL * (@SIMGRID_VERSION_MAJOR@) + (@SIMGRID_VERSION_MINOR@)) + (@SIMGRID_VERSION_PATCH@))
#define SIMGRID_VERSION_STRING "@SIMGRID_VERSION_STRING@"
-#define SIMGRID_VERSION_BANNER "@SIMGRID_VERSION_BANNER@"
#define HAVE_JEDULE @HAVE_JEDULE@ /* Was Jedule compiled in? */
#define HAVE_LUA @HAVE_LUA@ /* Was the Lua support compiled in? */
#ifndef SIMGRID_MC_CLIENT_H
#define SIMGRID_MC_CLIENT_H
-#include <cstddef>
+#include "src/internal_config.h"
+#include <cstddef>
#include <memory>
#include <xbt/base.h>
void ignoreHeap(void* addr, std::size_t size);
void unignoreHeap(void* addr, std::size_t size);
void declareSymbol(const char *name, int* value);
+#if HAVE_UCONTEXT_H
void declareStack(void *stack, size_t size, smx_process_t process, ucontext_t* context);
+#endif
// Singleton :/
// TODO, remove the singleton antipattern.
#include "src/mc/mc_protocol.h"
#include "src/mc/Client.hpp"
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_global, mc,
- "Logging specific to MC (global)");
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_global, mc, "Logging specific to MC (global)");
e_mc_mode_t mc_mode;
CloseHandle( $self->{TEMP_FILE_HANDLE} )
if defined $self->{TEMP_FILE_HANDLE};
+ close( $self->{CHILD_HANDLE} )
+ if defined $self->{CHILD_HANDLE};
+
$self->{$_} = undef for @cleanup_fields;
}
+++ /dev/null
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2013-2014. The 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.
-
-import sys
-import re
-from lxml import etree
-
-xml = etree.parse(sys.argv[1])
-for e in xml.xpath('//*[@routing="RuleBased"]'):
- e.attrib['routing'] = "Full"
- ids = e.xpath('./*[@id]/@id')
- done = set()
- for asr in e.xpath("./ASroute"):
- src_ids = {}
- dst_ids = {}
- for id in ids:
- src_s = re.search(r"%s" % asr.attrib['src'], id)
- dst_s = re.search(r"%s" % asr.attrib['dst'], id)
- if src_s:
- src_ids[id] = src_s
- if dst_s:
- dst_ids[id] = dst_s
- for sid, smat in src_ids.items():
- for did, dmat in dst_ids.items():
- todo = tuple(sorted((smat.group(1), dmat.group(1))))
- if todo not in done or asr.attrib.get("symmetrical") == "NO":
- done.add(todo)
- dasr = etree.tounicode(asr)
- dasr = dasr.replace("$1src", smat.group(1))
- dasr = dasr.replace("$1dst", dmat.group(1))
- dasr = etree.fromstring(dasr)
- dasr.tag = "__ASroute__"
- dasr.attrib['src'] = sid
- dasr.attrib['dst'] = did
- asr.addnext(dasr)
- asr.getparent().remove(asr)
-
-print etree.tounicode(xml).replace("__ASroute__", "ASroute")