
/*
 * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
 * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
 * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
 */

How to get started:

   Edit the Makefile.

	You should configure a few machine-dependencies and what
	compiler you want to use.

  	The code works both with ANSI and K&R-C.  Use
	-DNeedFunctionPrototypes to compile with, or
	-UNeedFunctionPrototypes to compile without, function
	prototypes in the header files.
 
   Make addtst

	The "add" program that will be compiled and run checks whether
	the basic math functions of the gsm library work with your
	compiler.  If it prints anything to stderr, complain (to us).

   Edit inc/config.h.

   Make

   	Local versions of the gsm library and the "compress"-like filters
	toast, untoast and tcat will be generated.

   	If the compilation aborts because of a missing function,
	declaration, or header file, see if there's something in
	inc/config.h to work around it.  If not, complain.

   Try it

	Grab an audio file from somewhere (raw u-law or Sun .au is fine, 
    	linear 16-bit in host byte order will do), copy it, toast it,
	untoast it, and listen to the result.
    
	If it doesn't sound anything like the original, read the manual.
	If it still doesn't sound anything like the original, complain.


Installation

   You can install the gsm library interface, or the toast binaries,
   or both.

   Edit the Makefile
	
	Fill in the directories where you want to install the
	library, header files, manual pages, and binaries.

	Turn off the installation of one half of the distribution
	(i.e., gsm library or toast binaries) by not setting the
	corresponding directory root Makefile macro.


   make install

	will install the programs "toast" with two links named
	"tcat" and "untoast", and the gsm library "libgsm.a" with
	a "gsm.h" header file, and their respective manual pages.


Optimizing

   This code was developed on a machine without an integer
   multiplication instruction, where we obtained the fastest result by
   replacing some of the integer multiplications with floating point
   multiplications.

   Another possibility is the use of a lookup table; you can turn on
   this feature by replacing -DUSE_FLOAT_MUL by -DUSE_TABLE_MUL.

   If your machine does multiply integers fast, define neither.



Bug Reports

   Please direct bug reports to toast@tub.cs.tu-berlin.de.


Good luck,

   Jutta Degener,
   Carsten Bormann
