593d8f660da6c08a2e7b02f4823ab29b3ea59a44
[buildfarm-client-wiki.git] / BuildConfigConf.md
1 This page describes the options in the build-config.conf.
2
3 ### Required options:
4 * scm - For the Exim project, this is set to 'git'.
5 * scm_repo - Defaults to the git repo hosted at github.
6 * build_root - Full path to the work directory that holds the local git checkout and the temp directory where the test runs.
7 * animal - Set the host alias assigned to you by the BuildFarm administrators.
8 * secret - The secret assigned to you by the BuildFarm adminstrator.  In the words of Gandalf, "keep it secret, keep it safe."
9 * optional_steps - Uncomment *make-doc* and/or *test* in order to include building those stages.  Extra packages are required for building documentation, documented elsewhere.
10
11 ### Enabling exim features
12 In order to enable exim features, you'll use the `makefile_set`, `makefile_add`, or `makefile_regex` to enable them.  Here are some samples:
13
14     # Settings to add to Local/Makefile. These will set or override
15     # previous definitions of variables.  Example:
16     # LDFLAGS => '-Wall' will create LDFLAGS = '-Wall'
17     makefile_set =>{
18         # comment out if not using ccache
19         CC => 'ccache gcc',
20         SUPPORT_TLS => 'yes',
21         USE_OPENSSL_PC => 'openssl',
22         #TLS_LIBS => '-lssl -lcrypto',
23         AUTH_PLAINTEXT => 'yes',
24         LOOKUP_INCLUDE => '-I/usr/include/mysql',
25         LOOKUP_LIBS => '-lmysqlclient -lpq',
26     },
27     # Settings to add to Local/Makefile. These will add to variables that
28     # are already defined earlier in the Makefile.  Example:
29     # LDFLAGS => '-Wall'  will create  LDFLAGS+='-Wall'
30     makefile_add =>{
31         # Show all warnings and errors
32         CFLAGS => '-Wall -Werror=format-security',
33         # Or enable debugging flags
34         #CFLAGS => '-g -Wall',
35         #LFLAGS => '-g',
36     },
37
38     makefile_regex =>[
39         q(s/^# EXPERIMENTAL_PRDR.*/EXPERIMENTAL_PRDR=yes/),
40         q(s/^# EXIM_PERL=/EXIM_PERL=/),
41         q(s/^# LOOKUP_MYSQL=/LOOKUP_MYSQL=/),
42         q(s/^# LOOKUP_PGSQL=/LOOKUP_PGSQL=/),
43     ],