# $Id$

--------------------------------------------------------------------------
Building and Installing Quagga from releases or snapshots:

The 'INSTALL' file contains generic instructions on how to use 'configure'
scripts.

Quagga requires a C compiler (and associated header files and
libraries) supporting the C99 standard.

Quagga requires a reasonable make.  It is considered a bug if quagga
does not compile with the system make on recent FreeBSD, NetBSD or
OpenBSD, and a very serious bug if it does not compile with GNU make.

Quagga expects a POSIX.2 compliant system, more or less.  Clean
workarounds for POSIX non-compliance are welcome.

It is considered a bug if Quagga fails to build and run on any of the
following systems (where .x indicates the most recent release), or
such systems "-current" versions.  (Note that considering it a bug is
not a guarantee of support, merely "we agree that it is broken".)

  Dragonfly ?
  FreeBSD 4.x	[In 2007, this is getting tenous.]
  FreeBSD 5.x
  FreeBSD 6.x
  FreeBSD-current
  Linux [kernel/distribution information needed]
  NetBSD 2.x	[Note texinfo 4.6  in base system]
  NetBSD 3.x
  NetBSD 4.x
  NetBSD-current
  OpenBSD ? [info needed on what should work]
  Solaris 9
  Solaris 10


For further Quagga specific information on 'configure' and build-time
configuration of the software, please read the Quagga info
documentation, (doc/quagga.info).  To read the info page included with
the Quagga sources without first installing Quagga:

  cd doc
  # one of the following, depending on your info viewer preferences
  info quagga.info
  pinfo -r quagga.info
  emacs -eval '(info "quagga.info")'

The Quagga website (http://www.quagga.net) currently has the info
files available in various formats.

--------------------------------------------------------------------------
Building Quagga from CVS checkouts:

In order to build from CVS, you will need recent versions of several GNU
tools, particularly autoconf, automake, libtool, GNU awk and texinfo.  Note
that the CVS snapshots on the Quagga website should not require these tools;
everything is already setup ready to run 'configure'.  If you have trouble
building from CVS checkout it is recommended that you try a CVS snapshot
instead.

We declare that the following versions should work for building from
CVS checkouts.  Earlier versions may work, but failure to do so is not
a bug.  Required versions can be moved earlier if no problems, or
later after a judgement that a system without a higher version is
deficient is made.

	automake:	1.9.6 (released 2005-07-10)
	autoconf:	2.59 (2.60 on 2006-06-26 is too recent to require)
	libtool:	1.5.22 (released 2005-12-18)
	texinfo:	4.7 (released 2004-04-10; 4.8 is not yet common)
	GNU AWK:	3.1.5 (released 2005-08-12)

Becuase some systems provide texinfo 4.6 (4.7 is new), quagga.info is
checked in so that texinfo will generally not be invoked.  When
texinfo 4.7 is widespread, quagga.info will be removed from CVS and
texinfo will become required again.  (4.7 has figure support, needed
for the route server docs, which is why 4.6 doesn't work.)

In order to create PostScript or PDF versions of the Texinfo documentation,
you will need the convert utility, from the ImageMagick toolset installed,
and epstopdf from the TeTeX suite.

To create the required autotools files (Makefile.in, configure, etc.),
run "./bootstrap.sh".  After this you may run configure as for a
snapshot or release.

Please refer to "Building and Installing Quagga" above for further
instructions.

--------------------------------------------------------------------------
Notes on required versions:

The general goal is to use a modern baseline of tools, while not
imposing pain on those tracking stable distributions.  The notes below
explain what versions are present in various environments.

NetBSD 1.6 and 2 provide texinfo 4.6.  This is now considered old.
NetBSD 3 and 4 provide texinfo 4.7.

Fedora Core ? provides autoconf 2.59.

OpenBSD 3.6 provides texinfo 4.2.
OpenBSD [3.6] ports provides automake 1.4-p6 autoconf 2.5.9 libtool 1.5.8

--------------------------------------------------------------------------
