WL#4875: Server Build Frame

Affects: Server-9.x   —   Status: Un-Assigned

Rationale
=========

In order to support the physical structure of the server outlined in WL#4739, it
will be necessary to develop and deploy a new build frame supporting that structure.


Requirements
============

It shall be possible to automatically check that the low-level rules in WL#4739
are followed. This will probably mean writing a script for each.

Only the necessary files should be rebuilt, meaning that a ``bzr pull && make``
or equivalent should only rebuilt the files that have been touched and any files
that are dependent on those files. This includes changes to makefiles (or
equivalent) that should not cause a full re-build (if this is possible to arrange).

We should have a single build system supporting all platforms we use, or at
least all of the most common ones.  For less used platforms, it is possible to
have special solutions if they do not have to be build to often, but at least
Windows, Linux, Solaris (versions?), HP-UX (?), and AIX(?) have to be supported.
A likely candidate for this is CMake, which is already used to build on Windows.