6.1. Project configuration

Configuration:
set of all options, included by a project.

It is needed to assign the project configuration before the work. There could be several configurations as well, if you need to work with distro for several platforms inside single working directory.

The main configuration characteristic is its name. In simple case it is a word from latin letters of lower register, digits and underscore symbol _. The examples of the current guide use word default as the main name.
The configuration may be concatenated - its name consists of several words, separated with comma.

The essential definition for configuration content concerns the platform. In the rdd.conf.d/ directory the settings are kept for various toolchains, operating systems and machine architectures. In the rdd.def file there are commented examples of settings like these:

# [default]
# rdd_prf_id = any, amd64, gcc, linux

# [default]
# rdd_prf_id = any, amd64, clang, openbsd

Choose the platform to work with and uncomment the corresponding strings in config:

[default]
rdd_prf_id = any, amd64, gcc, linux

After that the name default will engage your needed configuration set.

The current guide provides examples for the configuration:

amd64, gcc, linux
It is possible to follow the guide with other configurations as well, for example:
amd64, clang, linux
amd64, clang, openbsd
In case of choice of alternative configuration the paths and names of files, built by the system, may vary.

It is possible to store the configuration not under the keyword default, but under arbitrary words. For example, you wish to set up the simultaneous work with two platforms, which further requires to assign explicitly one or another platform in commands. That may be done in such a way:

[my32]
rdd_prf_id = any, i686, gcc, linux

[my64]
rdd_prf_id = any, amd64, gcc, linux

In the example above one platform is available from command line under the name my32, the second one under the name my64.

With datardd(1) command it is possible to view the values of all options, which are set up for your configuration.

datardd default
If there are quite a few options, the default configuration is not set up correctly.

For his own configuration names, assigned by the user himself in the example above, data view will be called like this:

datardd my32
datardd my64

The settings assignment works by the following scheme:

The key option rdd_prf_id contains new sections of configuration files, which we want to include to our configuration. Section names are separated by comma.

The example: in the initial section [default] there is the string rdd_prf_id = linux. If there is data section [linux] inside all configs from rdd.conf.d/ or inside rdd.def, then options from that section are read and added to our configuration. If the section [linux] contains new assignment of rdd_prf_id, then next section names are read from there. For the names, just recieved and not checked earlier, the search for new sections continues.

In that way by assigning just single word with data (default in the example above), we gather extensive data set via access to linked chains of sections with data. More details about reading of options from config files and command line one can find in any-do(1).

To review all settings, prepared in the engine for different platforms, see file rdd.conf.d/build.conf. It is possible to exploit the rest of platforms, missing in the file above. One should assign explicitly some parameters for them, for example, name of OS or compiler executable.