-/*! \page install Install Simgrid
+/*! \page install Installing Simgrid
\htmlinclude .install.doc.toc
\li c and c++ compiler
\li ccmake for graphical used of CMake
\li cmake <a href="http://www.cmake.org/cmake/resources/software.html">(download page)</a>
+
+On MacOSX some users reported that it is still possible to build with clang, provided that you use the
+following package versions clang3.1 and clang++3.1. If it fails on you, try to use gcc47 (port install gcc47).
For Windows :
\li cmake 2.8 <a href="http://www.cmake.org/cmake/resources/software.html">(download page)</a>
\li perl <a href="http://www.activestate.com/activeperl/downloads">(download page)</a>
\li git <a href="http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe">(download page)</a>
+Note that if you want change the compiler, you can simply specify the environment variables CC and CXX.
+\verbatim
+ export CC=gcc-4.4
+ export CXX=g++-4.4
+ export CC=clang
+ export CXX=clang++
+\endverbatim
+
\subsubsection install_cmakeoption1 Liste of options
\verbatim
"cmake -D[name]=[value] ... ./"
[name] enable_gtnets [value] ON/OFF or TRUE/FALSE or 1/0
+ enable_ns3 ON/OFF or TRUE/FALSE or 1/0
enable_lua ON/OFF or TRUE/FALSE or 1/0
enable_compile_optimizations ON/OFF or TRUE/FALSE or 1/0
enable_compile_warnings ON/OFF or TRUE/FALSE or 1/0
enable_jedule ON/OFF or TRUE/FALSE or 1/0
enable_latency_bound_tracking ON/OFF or TRUE/FALSE or 1/0
enable_lib_static ON/OFF or TRUE/FALSE or 1/0
- custom_flags <flags>
+ enable_supernovae ON/OFF or TRUE/FALSE or 1/0
+ enable_msg_deprecated ON/OFF or TRUE/FALSE or 1/0
+ enable_print_message ON/OFF or TRUE/FALSE or 1/0
gtnets_path <path_to_gtnets_directory>
+ ns3_path <path_to_ns3_directory>
CMAKE_INSTALL_PREFIX <path_to_install_directory>
- CMAKE_C_COMPILER <path_to_compiler>
- CMAKE_CXX_COMPILER <path_to_compiler>
pipol_user <pipol_username>
\endverbatim
\subsubsection install_cmakeoption2 Options explaination
\li enable_gtnets : set to true implie that user wants to use gtnets.
+
+ \li enable_ns3 : set to true implie that user wants to use ns3.
\li enable_lua : set to true implie that user wants to add lua langage into simgrid compilation.
\li enable_latency_bound_tracking : Set to on if you want to be warned when communications are limited by round trip time.
- \li enable_lib_static : Enable generated Simgrid and smpi static libraries.
+ \li enable_lib_static : Enable generated Simgrid and smpi static libraries.
+
+ \li enable_supernovae : Set to true make one file for each lib and compile with those generated files.
+
+ \li enable_msg_deprecated : Simgrid is compiled with msg deprecated functions.
+
+ \li enable_print_message : When set to true configuration print more debug output.
- \li custom_flags : If user wants to use a specific flag during compilation, give here.
-
\li gtnets_path : Path to gtnets install directory (ex /usr)
+
+ \li ns3_path : Path to ns3 install directory (ex /usr)
\li CMAKE_INSTALL_PREFIX : Path where are installed lib/ doc/ and include/ directories (ex /usr/local)
- \li CMAKE_C_COMPILER : Change the c compiler.
-
- \li CMAKE_CXX_COMPILER : Change the c++ compiler.
-
\li pipol_user : specify your pipol username if you want to use the pipol-remote command.
\subsubsection install_cmakeoption3 Initialisation
enable_latency_bound_tracking off
enable_lib_static off
CMAKE_INSTALL_PREFIX /usr/local
-custom_flags null
gtnets_path null
pipol_user null
\endverbatim
)
\endverbatim
-\section install_Win Installing the SimGrid library with Windows pakage
+\section install_Win Installing the SimGrid framework on Windows
-\subsection install_Win_install Installing SimGrid
+\subsection install_Win_install Installing SimGrid with the automatic installer
Before start the installation, you need to be sure to have the following dependencies:
\li cmake 2.8 <a href="http://www.cmake.org/cmake/resources/software.html">(download page)</a>
<a href="win_install_04.png" border=0><img src="win_install_04.png" border=0></a>
\endhtmlonly
-Step 4: Restart your computer to take in consideration environment variables.
+Step 4: Add CLASSPATH to environment variables.
+
+\htmlonly
+<a href="win_install_05.png" border=0><img src="win_install_05.png" border=0></a>
+\endhtmlonly
+
+Step 5: Add PATH to environment variables.
+
+\htmlonly
+<a href="win_install_06.png" border=0><img src="win_install_06.png" border=0></a>
+\endhtmlonly
+
+Step 6: Restart your computer to take in consideration environment variables.
\subsection install_Win_compile1 Compile a project "HelloWorld"
\li Run "mingw32-make"
\li You should obtain "TARGET_NAME.exe".
+\subsection install_Win_ruby Setup a virtualbox to use SimGrid-Ruby on windows
+
+Allan Espinosa made these set of Vagrant rules available so that you
+can use the SimGrid Ruby bindings in a virtual machine using
+VirtualBox. Thanks to him for that. You can find his project here:
+https://github.com/aespinosa/simgrid-vagrant
+
+\section install_mac Installing the SimGrid framework on Mac OS X
+
+The Mac OS X system is part of the UNIX familly, but it exibits some
+specificities that complicate a bit the build of SimGrid. Current
+versions of SimGrid (3.7.x) can only be build with the GCC Compiler,
+but recent OS X version provide only an ancient version of that tool
+in the hope to see the users switch to the LLVM compiler family. The
+problem is that SimGrid uses internal libraries of GCC, for stack
+manipulation for example. We are working on removing this dependency
+onto gcc to ease the build process, but this is still ongoing.
+
+For the time being, you need to get a recent version of GCC on your
+system to build SimGrid. Version 3.7.1 was successfully built on Mac
+Lion 10.7.4 using a GCC compiler retrieved from macport. The package
+used were gcc47, and the binary in the package were gcc-mp-4.7.
+
\section install_setting_MSG Setting up your own MSG code
Do not build your simulator by modifying the SimGrid examples. Go
\li <tt>sched.c</tt>: a C file including <tt>sched.h</tt> and
implementing the core of the scheduler. Most of these
functions use the MSG functions defined in section \ref
- msg_gos_functions.
+ msg_task_usage.
\li <tt>masterslave.c</tt>: a C file with the main function, i.e.
the MSG initialization (MSG_global_init()), the platform