diff --git a/HACKING b/HACKING index f0d53330f..7cc609c1d 100644 --- a/HACKING +++ b/HACKING @@ -86,35 +86,34 @@ Avoiding org-mode runs The files in doc/org/ are org-mode files (a mode of Emacs that we use to author documents that embed executable snippets), they are used to generate the doc/userdoc/ HTML documentation. If for some reason you -don't have emacs, or you simply want not to rebuild these files, use -another "magic touch": +don't have emacs, or you simply want not to rebuild these files, use: - touch doc/org-stamp + % touch doc/org-stamp Silent Building with automake ----------------------------- The classical makefiles generated by automake are very verbose during -build beacause they prints the full command line of every stage. This -verbosity is very usefull to help (remotely) users to compile -Spot. Nonetheless, for developpers, these compilations lines may be -annoying. To reduce this verbosity, just run: +build beacause they print the full command line of every stage. This +verbosity is very usefull to help (remotely) users to compile Spot. +Nonetheless, these compilations lines may be annoying for some +developers. To reduce this verbosity, just run: - make V=0 + % make V=0 Executing a single test ----------------------- All tests in subdirectories of tests/ are executed through the -tests/run script. That run script defines PATH and other environment -variables necessary so that Shell and Python scripts will use the +tests/run script. That script defines PATH and other environment +variables necessary so that shell and Python scripts will use the version of Spot under development. For instance to execute tests/core/acc.test, do: - % cd tests - % ./run core/acc.test + % cd tests + % ./run core/acc.test A test run this way automatically executes in verbose mode. Any temporary file generated by the script can be found in @@ -216,20 +215,19 @@ Finally generate a coverage report in HTML: This should create the directory html/. +Coverage tests are automatically performed by our continuous +integration builds. You can find a report for each branch in the +artifacts of the debian-unstable-gcc-coverage job. + Link-time optimizations ----------------------- -This is currently a bit tricky to setup, because the toolchain is not -mature enough. However this is getting better and better. The Debian -packages we build nightly are mostly built with link-time optimization -(the shared library uses link-time optimization, but the command-line -binary are built without because of some bug with exception -propagation). - +This used to be bit tricky to setup, but is now quite well supported. +Our Debian packages are built with link-time optimization. You need: - 1. a version of GCC (>= 4.9) with gold and pluing linker enabled. + 1. a version of GCC (>= 4.9) with gold and pluging linker enabled. 2. a version of Libtool that knows how to deal with -flto flags (Libtool 2.4.2 will work) @@ -250,9 +248,9 @@ Log driver for testsuite The PASS/FAIL status for each test of the testsuite is printed by tools/test-driver. This script can be changed to format the output -differently. When we use Teamcity (for continuous integration) we -change the output format to something that Teamcity will understand -with: +differently. In the past, when we used teamcity (for continuous +integration) we changed the output format to something that teamcity +would understand with: make check LOG_DRIVER=$PWD/tools/test-driver-teamcity @@ -402,8 +400,9 @@ Comments Issue #123 / issue #123 / Fixes #123 / fixes #123 (When gitlab sees a commit message containing "Fixes #123" or - "fixes #123" pushed to branch "next", it will automatically close - the issue.) + "fixes #123" pushed to branch "next", it should automatically + close the issue. But these days, it does not seem to work and + often require manual closing.) Formating ---------