Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into async-wait
[simgrid.git] / doc / doxygen / inside.doc
index 27f55f4..f970655 100644 (file)
@@ -76,16 +76,18 @@ each build/ subdir to test each of them separately.
 
 ### Easy out of tree builds
 
-It is easy to break one build configuration or another. If you're
-serious about code quality, you should not commit your change before
-testing it with gcc and clang, with and without MC; with and without
-Java. To easily switch between the configs without rebuilding
-everything, you want to compile out of tree (as explained in @ref
-install_cmake_outsrc).
-
+It is easy to break one build configuration or another. That's
+perfectly OK and we will not point fingers if it happens. But it is
+somewhat forbidden to leave the tree broken for a long while. Monitor
+the build daemons after you push something, and strive to fix any
+breakage ASAP.
+
+To easily switch between the configs without rebuilding everything,
+create a set of out of tree builds (as explained in @ref
+install_cmake_outsrc) in addition to your main build tree.
 To not mess with git, you want to put your build tree under the build/
 directory, which is ignored by git. For example, I have the following
-directories: build/default build/clang build/java build/full
+directories: build/clang build/java build/full
 (but YMMV).
 
 Then, the problem is that when you traverse these directories, you
@@ -95,15 +97,11 @@ bindir). This makes it difficult to launch the tests and everything.
 To solve that issue, just call `make hardlinks` from your build dir.
 This will create hard links allowing to share every source files into
 the build dir. They are not copied, but hard linked. It means that
-these files are accessible both from the srcdir and from the bindir. If
-you edit a source file found under bindir, the srcdir version (visible
-to git) will also be changed (that's the same file, after all).
-
-If you accidentally call `make` from the srcdir, it will mess up your
-out of tree builds. To fix it, remove \c srcdir/CMakeCache.txt. 
-To prevent make to even create this file, create a srcdir/CMakeFiles
-directory, and change its mode to 0 (`chmod 0 CMakeFiles`). That way,
-if you type `make` by mistake from srcdir, it will fail before causing
-any harm.
+each file is accessible under several names, from the srcdir and from
+the bindirs. If you edit a source file found under bindir, the srcdir
+version (visible to git) will also be changed (that's the same file,
+after all).
 
+Note that the links sometimes broken by git or others. Relaunching
+`make hardlinks` may help if you're getting incoherent build results.
 */