diff --git a/doc/21-development.md b/doc/21-development.md index ff672fe1e..6bd13e939 100644 --- a/doc/21-development.md +++ b/doc/21-development.md @@ -3,14 +3,14 @@ This chapter provides hints on Icinga 2 debugging, development, package builds and tests. -* [Debug Icinga 2](#development-debug) -* [Develop Icinga 2](#development-develop) - * [Linux Dev Environment](#development-linux-dev-env) - * [macOS Dev Environment](#development-macos-dev-env) - * [Windows Dev Environment](#development-windows-dev-env) -* [Package Builds](#development-package-builds) -* [Advanced Tips](#development-advanced) -* [Tests](#development-tests) +* [Debug Icinga 2](21-development.md#development-debug) +* [Develop Icinga 2](21-development.md#development-develop) + * [Linux Dev Environment](21-development.md#development-linux-dev-env) + * [macOS Dev Environment](21-development.md#development-macos-dev-env) + * [Windows Dev Environment](21-development.md#development-windows-dev-env) +* [Package Builds](21-development.md#development-package-builds) +* [Advanced Tips](21-development.md#development-advanced) +* [Tests](21-development.md#development-tests) ## Debug Icinga 2 @@ -460,7 +460,7 @@ autocmd BufWinLeave * call clearmatches() Icinga 2 can run standalone or in distributed environments. It contains a whole lot more than a simple check execution engine. -Read more about it in the [Technical Concepts](#technical-concepts) chapter. +Read more about it in the [Technical Concepts](19-technical-concepts.md#technical-concepts) chapter. ### Get to know the code @@ -511,7 +511,7 @@ db\_ido\_pgsql | IDO database driver for PgSQL. mysql\_shin | Library stub for linking against the MySQL client libraries. pgsql\_shim | Library stub for linking against the PgSQL client libraries. -#### Class Compiler +#### Class Compiler Another thing you will recognize are the `.ti` files which are compiled by our own class compiler into actual source code. The meta language allows @@ -542,7 +542,7 @@ The logic is hidden in `tools/mkclass/` in case you want to learn more about it. The first steps during CMake & make also tell you about code generation. -### Build Tool: CMake +### Builds: CMake In its early development stages in 2012, Icinga 2 was built with autoconf/automake and separate Windows project files. We've found this very fragile, and have changed @@ -556,7 +556,7 @@ The most common benefits: * Separate binary build directories, the actual source tree stays clean. * CMake automatically generates a Visual Studio project file `icinga2.sln` on Windows. -### Builds: Unity Builds +### Builds: Unity Builds Another thing you should be aware of: Unity builds on and off. @@ -602,8 +602,8 @@ mkdir -p release debug Proceed with the specific distribution examples below. -* [CentOS 7](#development-linux-dev-env-centos) -* [Debian 9](#development-linux-dev-env-debian) +* [CentOS 7](21-development.md#development-linux-dev-env-centos) +* [Debian 9](21-development.md#development-linux-dev-env-debian) #### CentOS 7