More detail about required paths for test suite. Add caution to never change anything...
[buildfarm-client-wiki.git] / BuildConfigConf.md
index 9dfd151a462e297bf694a4937f120f18bfabaeca..efcd96bf013f68e4c9610ff2be548cc4942a569d 100644 (file)
@@ -6,36 +6,49 @@ This page describes the options in the build-config.conf.
 * build_root - Full path to the work directory that holds the local git checkout and the temp directory where the test runs.
 * animal - Set the host alias assigned to you by the BuildFarm administrators.
 * secret - The secret assigned to you by the BuildFarm adminstrator.  In the words of Gandalf, "keep it secret, keep it safe."
+* optional_steps - Uncomment *make-doc* and/or *test* in order to include building those stages.  Extra packages are required for building documentation, documented elsewhere.
 
 ### 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 add to Local/Makefile. These will set or override
+    # 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',
-        #TLS_LIBS => '-lssl -lcrypto',
-        AUTH_PLAINTEXT => 'yes',
-        LOOKUP_INCLUDE => '-I/usr/include/mysql',
-        LOOKUP_LIBS => '-lmysqlclient -lpq',
+        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',
+        CFLAGS         => '-Wall -Werror=format-security',
         # Or enable debugging flags
-        #CFLAGS => '-g -Wall',
-        #LFLAGS => '-g',
+        #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_PRDR.*/EXPERIMENTAL_PRDR=yes/),
+        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=/),