The software is distributed as source code which has to be compiled.

PARTS OF THE SOFTWARE ARE HIGHLY SYSTEM-SPECIFIC AND NON-PORTABLE.
UNLESS YOU ARE RUNNING A SUPPORTED SYSTEM, BE PREPARED FOR SOME
PROGRAMMING!

After unpacking the source code, change directory into it, and type

    ./configure

This is a shell script that automatically determines the system type.
There is a single optional parameter, --prefix which indicates the
directory tree where the software should be installed.  For example,

    ./configure --prefix=/opt/free

will install the chronyd daemon into /opt/free/sbin and the chronyc
control program into /opt/free/bin.  The default value for the prefix
is /usr/local.

The configure script assumes you want to use gcc as your compiler.
If you want to use a different compiler, you can configure this way:

    CC=cc CFLAGS=-O ./configure --prefix=/opt/free

for Bourne-family shells, or
    
    setenv CC cc
    setenv CFLAGS -O
    ./configure --prefix=/opt/free

for C-family shells.

If the software cannot (yet) be built on your system, an error message
will be shown.  Otherwise, `Makefile' will be generated.

If editline or readline library is available, chronyc will be built
with line editing support.  If you don't want this, specify the
--disable-readline flag to configure.  Please refer to the chrony.txt
file for more information.

If a `timepps.h' header is available, chronyd will be built with PPS
API reference clock driver.  If the header is installed in a location
that isn't normally searched by the compiler, you can add it to the
searched locations by setting CPPFLAGS variable to -I/path/to/timepps.

Now type

    make

to build the programs.

If you want to build the manual in plain text, HTML and info versions, type

    make docs

Once the programs have been successfully compiled, they need to be
installed in their target locations.  This step normally needs to be
performed by the superuser, and requires the following command to be
entered.

    make install

This will install the binaries, plain text manual and manpages.

To install the HTML and info versions of the manual as well, enter the command

    make install-docs

If you want chrony to appear in the top level info directory listing, you need
to run the install-info command manually after this step.  install-info takes 2
arguments.  The first is the path to the chrony.info file you have just
installed.  This will be the argument you gave to --prefix when you configured
(/usr/local by default), with /share/info/chrony.info on the end.  The second
argument is the location of the file called 'dir'.  This will typically be
/usr/share/info/dir.  So the typical command line would be

    install-info /usr/local/share/info/chrony.info /usr/share/info/dir

Now that the software is successfully installed, the next step is to
set up a configuration file.  The contents of this depend on the
network environment in which the computer operates.  Typical scenarios
are described in the manual.  The simplest case is for a computer with
a permanent Internet connection - suppose you want to use public NTP
servers from the pool.ntp.org project as your time reference.  You would
create an /etc/chrony.conf file containing

    server 0.pool.ntp.org
    server 1.pool.ntp.org
    server 2.pool.ntp.org
    driftfile /var/lib/chrony/drift

and then run /usr/local/sbin/chronyd.


