This page describes the options in the build-config.conf.

Required options:

Enabling exim features

In order to enable exim features, you’ll use the makefile_set, makefile_add, or makefile_regex to enable them. Here are some samples:

# Settings to set in Local/Makefile. These will set or override
# previous definitions of variables.  Example:
# LDFLAGS => '-Wall' will create LDFLAGS = '-Wall'
makefile_set =>{
    # comment out if not using ccache
    CC               => 'ccache gcc',
    SUPPORT_TLS      => 'yes',
    USE_OPENSSL_PC   => 'openssl',
    #USE_GNUTLS       => 'yes',
    #USE_GNUTLS_PC    => 'gnutls',
    #TLS_LIBS         => '-lssl -lcrypto',
    AUTH_PLAINTEXT   => 'yes',
    LOOKUP_INCLUDE   => '-I/usr/include/mysql',
    LOOKUP_LIBS      => '-lmysqlclient -lpq',
    EXPERIMENTAL_SPF => 'yes',
    LOOKUP_LDAP      => 'yes',
    LOOKUP_INCLUDE   => '-I/usr/include/mysql',
    LOOKUP_LIBS      => '-lmysqlclient -lpq -lldap -llber',
    LDAP_LIB_TYPE    => 'OPENLDAP2',
},
# Settings to add to Local/Makefile. These will add to variables that
# are already defined earlier in the Makefile.  Example:
# LDFLAGS => '-Wall'  will create  LDFLAGS+='-Wall'
makefile_add =>{
    # Show all warnings and errors
    CFLAGS         => '-Wall -Werror=format-security',
    # Or enable debugging flags
    #CFLAGS         => '-g -Wall',
    #LFLAGS         => '-g',
    LDFLAGS        => '-lspf2',
    LOOKUP_INCLUDE => '-I/usr/include/postgresql',
},
# Make inline changes to existing settings. These could easily be done with
# makefile_set above, but this method allows for the option (in EDITME) to get
# removed. Then this will have no further effect, where as makefile_set still would.
makefile_regex =>[
    q(s/^# EXPERIMENTAL_CERTNAMES.*/EXPERIMENTAL_CERTNAMES=yes/),
    q(s/^# EXPERIMENTAL_TPDA.*/EXPERIMENTAL_TPDA=yes/),
    q(s/^# EXIM_PERL=/EXIM_PERL=/),
    q(s/^# LOOKUP_MYSQL=/LOOKUP_MYSQL=/),
    q(s/^# LOOKUP_PGSQL=/LOOKUP_PGSQL=/),
],