Skip to content

Commit 064399e

Browse files
Rephrase some sentences about unity builds in dev docs
We didn't really 'invent' unity builds, more like adopted them, since this is a common practice. Also added a reference to the actual CMake variable in question instead of just alluding to it
1 parent 8ac7153 commit 064399e

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

doc/21-development.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -792,17 +792,18 @@ The most common benefits:
792792

793793
#### Unity Builds <a id="development-develop-builds-unity-builds"></a>
794794

795-
Another thing you should be aware of: Unity builds on and off.
795+
You should be aware that by default unity builds are enabled. You can turn them
796+
off by setting the `ICINGA2_UNITY_BUILD` CMake option to `OFF`.
796797

797798
Typically, we already use caching mechanisms to reduce recompile time with ccache.
798799
For release builds, there's always a new build needed as the difference is huge compared
799800
to a previous (major) release.
800801

801-
Therefore we've invented the Unity builds, which basically concatenates all source files
802-
into one big library source code file. The compiler then doesn't need to load the many small
803-
files but compiles and links this huge one.
802+
Unity builds basically concatenate all source files into one big library source code file.
803+
The compiler then doesn't need to load many small files, each with all of their includes,
804+
but compiles and links only a few huge ones.
804805

805-
Unity builds require more memory which is why you should disable them for development
806+
However, unity builds require more memory which is why you should disable them for development
806807
builds in small sized VMs (Linux, Windows) and also Docker containers.
807808

808809
There's a couple of header files which are included everywhere. If you touch/edit them,

0 commit comments

Comments
 (0)