Use multimarkdown to convert .md -> .html
[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 set in 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         #USE_GNUTLS       => 'yes',
23         #USE_GNUTLS_PC    => 'gnutls',
24         #TLS_LIBS         => '-lssl -lcrypto',
25         AUTH_PLAINTEXT   => 'yes',
26         LOOKUP_INCLUDE   => '-I/usr/include/mysql',
27         LOOKUP_LIBS      => '-lmysqlclient -lpq',
28         EXPERIMENTAL_SPF => 'yes',
29         LOOKUP_LDAP      => 'yes',
30         LOOKUP_INCLUDE   => '-I/usr/include/mysql',
31         LOOKUP_LIBS      => '-lmysqlclient -lpq -lldap -llber',
32         LDAP_LIB_TYPE    => 'OPENLDAP2',
33     },
34     # Settings to add to Local/Makefile. These will add to variables that
35     # are already defined earlier in the Makefile.  Example:
36     # LDFLAGS => '-Wall'  will create  LDFLAGS+='-Wall'
37     makefile_add =>{
38         # Show all warnings and errors
39         CFLAGS         => '-Wall -Werror=format-security',
40         # Or enable debugging flags
41         #CFLAGS         => '-g -Wall',
42         #LFLAGS         => '-g',
43         LDFLAGS        => '-lspf2',
44         LOOKUP_INCLUDE => '-I/usr/include/postgresql',
45     },
46     # Make inline changes to existing settings. These could easily be done with
47     # makefile_set above, but this method allows for the option (in EDITME) to get
48     # removed. Then this will have no further effect, where as makefile_set still would.
49     makefile_regex =>[
50         q(s/^# EXPERIMENTAL_CERTNAMES.*/EXPERIMENTAL_CERTNAMES=yes/),
51         q(s/^# EXPERIMENTAL_TPDA.*/EXPERIMENTAL_TPDA=yes/),
52         q(s/^# EXIM_PERL=/EXIM_PERL=/),
53         q(s/^# LOOKUP_MYSQL=/LOOKUP_MYSQL=/),
54         q(s/^# LOOKUP_PGSQL=/LOOKUP_PGSQL=/),
55     ],