5.1. Platform description

Preinstalled configuration file rdd.def has samples to choose platform components: compiler, operating system, hardware architecture. In the guide above they were used by the string:

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

Each listed platform component includes its options, stored in rdd.conf.d/. You may modify the values of these options and therefore describe your platform.

Create sample description and change the compiler. Option any_tch_cc would be changed for that.

[id]
any_tch_cc = mycc

rdd_prf_id = any, amd64, linux
Word gcc was removed from the list of configuration words, as we have set up our own compiler and the properties of gcc do not apply to our config anymore.

The following core options are available to describe platform.

Generic options:

any_prof_core
Platform marker in build paths. For example, if the option has the value amd64, then building for this configuration will generate content paths, containing directory amd64/.
For toolchain:
any_tch_cc
C compiler.
any_tch_cxx
C++ compiler.
For operating system:
any_os
Generic OS name.
any_autoconf_os
The name of the OS in autoconf system.
For hardware architecture:
any_arch_family
Name of the processor family (like arm, x86).
any_arch_endian
Byte order in memory: little or big.
any_arch_capacity
Capacity of pointers: 32, 64.

The samples of platform descriptions are available in rdd.conf.d/build.conf file.

Options with your data you may store directly in id section:

[id]
any_tch_cc = clang
any_prof_core = musl

rdd_prf_id = any, amd64, linux

It is possible to create your own data section and include it inside id:

[id]
rdd_prf_id = any, amd64, linux, musl

[musl]
any_tch_cc = clang
any_prof_core = musl

Afterwards the build keeps the old parameters:

    any do id xz-5.2.5
But new data will be used, including information on musl.

We replaced data with concert only to toolchain in the example above. The example with exchange of two data words:

[id]
rdd_prf_id = any, amd64, haiku

[haiku]
any_tch_cc = clang-haiku
any_os = haiku
any_prof_core = haiku

Current section mentions only the most essential options, describing the platform.
The description of all options, available for configs, is listed in any-conf(7).