==========
FLAC - 0.9
==========

This is the source release for the FLAC project.  The
reference encoder/decoder library 'libFLAC' is released
under the LGPL (see COPYING.LGPL).  This means the code
in include/FLAC/ and src/libFLAC/.  All other code is
covered by the GPL (see COPYING.GPL).  See

	doc/index.html

for full documentation.

A brief description of the directory tree:

	doc/       the HTML documentation
	include/   public include files for libFLAC
	src/       the source code and private headers
	test/      the test scripts


=============================
Building in a GNU environment
=============================

FLAC now uses autoconf and libtool for configuring and
building.  Better documentation for these will be
forthcoming, but in general, this should work:

./configure ; make ; make install


==================
Building with MSVC
==================

There is no overall make system for MSVC but the individual
source directories with a 'Makefile.vc' file in them allow
building with MSVC.  Just 'nmake /f Makefile.vc'.
