4 Customizing Your Build

You can customize your build by providing local versions of make.conf and/or src.conf, named ${arch}/${branch}/builds/${buildid}/make.conf.server and ${arch}/${branch}/builds/${buildid}/src.conf.server, respectively. These will be used in lieu of the default-named files on the server side.

Similarly, if you wish to also affect the client-side make.conf, you may use ${arch}/${branch}/builds/${buildid}/make.conf.client.

Note: Due to the fact that individual clients may each have their own per-host make.conf, the contents of ${arch}/${branch}/builds/${buildid}/make.conf.client will be appended to that make.conf, not supplant it, as is done for ${arch}/${branch}/builds/${buildid}/make.conf.server.

Note: There is no similar functionality for ${arch}/${branch}/builds/${buildid}/src.conf.client (what effect would it have?).

Example 1. Sample make.conf.target to test new default ruby version

(For this case, the contents are identical for both server and client.)

RUBY_DEFAULT_VER= 1.9

Example 2. Sample make.conf.target for clang builds

(For this case, the contents are also identical for both server and client.)

.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
.if !defined(CXX) || ${CXX} == "c++"
CXX=clang++
.endif
.if !defined(CPP) || ${CPP} == "cpp"
CPP=clang-cpp
.endif
# Do not die on warnings
NO_WERROR=
WERROR=

Example 3. Sample make.conf.server for pkgng

WITH_PKGNG=yes
PKG_BIN=/usr/local/sbin/pkg

Example 4. Sample make.conf.client for pkgng

WITH_PKGNG=yes

Example 5. Sample src.conf.server to test new sort codebase

WITH_BSD_SORT=yes