1 Welcome to the exim-build-farm-client wiki!
3 The Exim Build Farm Client software is run on machines to build and test the [Exim](http://www.exim.org) MTA software. It uses the current development tree and rebuilds/tests Exim when new commits are added to the [Exim source repository](https://github.com/Exim/exim). The result are recorded and reported back to the [Exim Build Farm](http://buildfarm.exim.org) website where developers and interested parties can review builds and tests across various distros and versions.
5 View the [Installation](./Installation.html) page for info on how to install the Build Farm Client. There is an additional separate page on preparing your system to [build documentation](./BuildingDocs.html).
9 In the default configuration, a full rebuild of Exim will occur when a new commit to the monitored branches occurs or every 7 days, and it will also build and run the test suite. You can choose to have it also build the docs, but there are several extra package requirements for [building the documentation](./BuildingDocs.html).
11 Review your enabled features in the Makefile and make adjustments to your *build-farm.conf* to enable those features, using either the makefile_set, makefile_add, or makefile_regex. You may also receive requests from the developers to enable specific features on your build. Documentation for enabling these in [build-config.conf](./BuildConfigConf.html) is elsewhere.
13 The default build configuration will build all branches specified in a text file on the server. Most of the time this will only be HEAD, but occasionally the developers may have an interest in building some experimental code on a different branch. The above configuration will do all of it automatically for you. The *run_cron* will also check the master repo at of the Exim Build Farm Client Software and update itself.
16 This code is derived from the excellent [PostgreSQL Build Farm](http://www.pgbuildfarm.org/) client and server code. Many thanks to them for a fantastic collection which serves such a useful function.