9dfd151a462e297bf694a4937f120f18bfabaeca
[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
10 ### Enabling exim features
11 In order to enable exim features, you'll use the `makefile_set`, `makefile_add`, or `makefile_regex` to enable them.  Here are some samples:
12
13     # Settings to add to Local/Makefile. These will set or override
14     # previous definitions of variables.  Example:
15     # LDFLAGS => '-Wall' will create LDFLAGS = '-Wall'
16     makefile_set =>{
17         # comment out if not using ccache
18         CC => 'ccache gcc',
19         SUPPORT_TLS => 'yes',
20         USE_OPENSSL_PC => 'openssl',
21         #TLS_LIBS => '-lssl -lcrypto',
22         AUTH_PLAINTEXT => 'yes',
23         LOOKUP_INCLUDE => '-I/usr/include/mysql',
24         LOOKUP_LIBS => '-lmysqlclient -lpq',
25     },
26     # Settings to add to Local/Makefile. These will add to variables that
27     # are already defined earlier in the Makefile.  Example:
28     # LDFLAGS => '-Wall'  will create  LDFLAGS+='-Wall'
29     makefile_add =>{
30         # Show all warnings and errors
31         CFLAGS => '-Wall -Werror=format-security',
32         # Or enable debugging flags
33         #CFLAGS => '-g -Wall',
34         #LFLAGS => '-g',
35     },
36
37     makefile_regex =>[
38         q(s/^# EXPERIMENTAL_PRDR.*/EXPERIMENTAL_PRDR=yes/),
39         q(s/^# EXIM_PERL=/EXIM_PERL=/),
40         q(s/^# LOOKUP_MYSQL=/LOOKUP_MYSQL=/),
41         q(s/^# LOOKUP_PGSQL=/LOOKUP_PGSQL=/),
42     ],