Config.local
fileThe following options are for compiling and installing a working version of the xntp3 distribution. In most cases, the build process is completely automatic and requires only that the user specify where to put the binaries during the installation process. In some cases where memory space is at a premium, it is possible to tailor the configuration to remove such features as reference clock driver support, debugging support, and so forth.
The global configuration file Config.local
defines the
build environment and any exceptions to the autoconfiguration process.
Normally, this is the only file that needs to be edited by the user. The
following lines are used in this file:
The BINDIR
line specifies where to put the binaries for
the make install
command. The default is
BINDIR= /usr/local/bin
The DEFS_LOCAL
line defines global flags that apply to
all machines. Ordinarily, the only flags included are the
-DDEBUG
, which includes the debugging code, and
-DREFCLOCK
, which includes basic reference clock support.
Omit either or both flags to save some space in the binaries. The
default is
DEFS_LOCAL= -DEBUG -DREFCLOCK
The optional CLOCKDEFS
line defines which reference
clock drivers to include in the build process. This can be done either
by default, which includes all drivers specific to each machine, or by
including a CLOCKDEFS
line in the Config.local
file, which overrides the default CLOCKDEFS
option
described below.
Additional symbols are defined in the ./machines
directory. These are machine specific and associated with the file name
of the machine.
The RANLIB
line specifies the name and flags for by the
ranlib function. If no ranlib function is required, use a
RANLIB= :
line.
The DEFS
line specifies local options peculiar to each
machine and operating system type. The following flags can be used on
this line. Additional flags are defined and explained in the
./include/ntp_machine.h
header file.
-D_INCLUDE_BSD_SOURCE
-D_INCLUDE_XOPEN_SOURCE
-D_INCLUDE_POSIX_SOURCE
-DADJTIME_IS_ACCURATE
adjtime()
system call.
-DCONFIG_FILE
/etc
. Use an argument like
\\"/local/etc/ntp.conf\\"
.
-HAVE_BSD_TTYS
-DHAVE_SYSV_TTYS
-DHAVE_TERMIOS
-DHAVE_SYSV_TTYS
for basic System V compatibility; define
-DSTREAM
for POSIX compatibility including System V
Streams, and HAVE_BSD_TTYS
for 4.3bsd compatibility. Use
HAVE_TERMIOS
for POSIX (termios.h
) without
System V Streams. Only one of these three should be defined. If none are
defined, HAVE_BSD_TTYS
is assumed.
-DHAVE_READ_KMEM
-DHAVE_SIGNALED_IO
-DNTP_POSIX_SOURCE
-DSTREAMS
-DSTREAMS_TLI
-DUSE_CLOCK_SETTIME
The AUTHDEFS
line specifies which of two cryptographic
algorithms are to be used for NTP message authentication. The following
flags can be used on this line
-MD5
-DFAST_MD5
-DFAST_MD5
.
-DDES
CLOCKDEFS
line defines which reference clock drivers to
include in the default build process. Each driver has an identifier,
which can be found in the Reference Clock
Drivers page. Ordinarily, all the drivers that apply to each machine
are included.
The DAEMONLIBS
line specifies the library options for
the xntpd build process.
The RESLIBS
line specifies additional library options
for the xntpd build process.
The COPTS
line specifies C compiler options for the
chosen compiler (cc or gcc), as defined in the respective compiler man
page.
The DEFS_INCLUDE
line is constructed automatically by
the script ./scripts/makeconfig.sh
. The following flags may
appear on this line
-DKERNEL_PLL
-DNTP_SYSCALLS_LIBC
-DKERNEL_PLL
flag is set if the file
/usr/include/sys/timex.h
is present. The
-DNTP_SYSCALLS_LIBC
flag is set if either the file
/usr/include/sys/syscall.h
is not present or it is present
and does not contain the definitions of the ntp_gettime()
and ntp_adjtime()
system calls.
-DTTYCLK
tty_clk
line
discipline support code. It indicates that the file
/usr/include/sys/clkdefs.h
is present.
-DCHUCLK
chu_clk
line
discipline support code. It indicates that the file
/usr/include/sys/chudefs.h
is present.
-DPPS
ppsclock
streams module support code. It indicates that the file
/usr/include/sys/ppsclock.h
is present.
-DMCAST
/usr/include/netinet/in.h
is
present and contains the definition of IP_MULTICAST
objects.