configure: add a --mandir option

This will allow a packager to tell us where to install the manpages.

Signed-off-by: David Scott <dave.scott@citrix.com>
Use the new cmdliner-based Xcp_services.configure2 interface

This splits the startup into 3 phases:

1. Xenopsd.configure: this uses cmdliner via Xcp_services, generating the
   --help and manpages etc
2. Startup checks: this is where we can connect to Xen and check stuff
3. Xenopsd.main: this is the serve_forever main loop

Critically, we must parse the arguments before we do (2), otherwise
we get funny libxc errors instead of help text.

Signed-off-by: David Scott <dave.scott@citrix.com>
Add a file containing the VERSION number

This is easy to embed in the binary, and easy to remember to change
in a release pull request.

Signed-off-by: David Scott <dave.scott@citrix.com>
Update the build to use the new source of version numbers and manpages

Note in particular how '--help=groff' is used to pre-generate the manpages
for each xenopsd frontend.

Signed-off-by: David Scott <dave.scott@citrix.com>
Make pygrub, eliloader and hvmloader optional

It shouldn't be fatal if these don't exist, since they only affect
certain kinds of VMs:
  pygrub: only needed for booting PV
  eliloader: only needed for installing from the Linux templates
  hvmloader: only needed for booting HVM

Instead of failing on startup, we will fail if the user tries to use
one of these features.

Fixes #65

Signed-off-by: David Scott <dave.scott@citrix.com>
Make vncterm optional

Already if vncterm fails then it's treated as a soft failure. Some
people prefer to use raw xenconsole anyway.

Signed-off-by: David Scott <dave.scott@citrix.com>
configure: correct a typo in the debug output

We were confusing etcdir with mandir.

Signed-off-by: David Scott <dave.scott@citrix.com>
Merge pull request #119 from djs55/man-pages

Add cmdliner-based manpages
Merge pull request #120 from djs55/optional-binaries

Make pygrub, eliloader, hvmloader and vncterm optional