Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update doc for install section.
[simgrid.git] / doc / install.doc
index adc5f5f..d912e8b 100644 (file)
@@ -1,4 +1,4 @@
-/*! \page install Install Simgrid
+/*! \page install Installing Simgrid
 
 \htmlinclude .install.doc.toc
 
@@ -24,6 +24,9 @@ For Unix and MacOS:
   \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>
@@ -31,12 +34,21 @@ For Windows :
   \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
@@ -50,17 +62,20 @@ For Windows :
        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.
 
@@ -86,18 +101,20 @@ For Windows :
   
   \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
@@ -120,7 +137,6 @@ enable_jedule                       off
 enable_latency_bound_tracking  off 
 enable_lib_static              off
 CMAKE_INSTALL_PREFIX           /usr/local
-custom_flags                   null
 gtnets_path                    null
 pipol_user                     null
 \endverbatim
@@ -321,7 +337,19 @@ Step 3: Choice where to install packets previously selected. Please don't use sp
 <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"
 
@@ -370,6 +398,22 @@ 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
@@ -388,7 +432,7 @@ feel free to organize it as you want).
       \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