LAME 3.xx    7/00 Mark Taylor (http://www.sulaco.org/mp3)


=======================================================================
Compile time options
=======================================================================
There are serveral targets which can be built from this
source code:

lame/lame.exe   The command line encoder
lame_enc.dll    a Windows DLL used by many GUIs which support lame.
libmp3lame.a    the *NIX style encoding library


The following compile time options can be used.  For libmp3lame.a
and lame_enc.dll, none are required.  See Makefile for details.


#define HAVEMPGLIB   to compile in mpglib's mp3 *decoding* capibility
#define HAVEVORBIS   to compile in Vorbis decoding and encoding capibility
                     (you need libvorbis already built)

Exactly one of these is required for the command line encoder:
#define LIBSNDFILE   to use Erik de Castro Lopo's libsndfile
#define LAMESNDFILE  to use LAME's minimial internal sndfile I/O

Other options for the command line encoder:
#define HAVEGTK      to compile in the LAME MP3 frame analyzer
#define BRHIST       to allow the optional display of the VBR historgram
#define NOTERMCAP    to try and emulate termcap/ncurses directly (ANSI)
                     only needed if BRHIST is used.  Works under Amiga
                     and Win32.  (but not dos)




=======================================================================
Building the software on Windows:
=======================================================================
There are MSVC project files, and a Makefile.MSVC included
with the project.  For production use, be sure to compile
a "release" version and compile with the "maximum speed" compile
option, and #define NDEBUG.   

Note that MSVC "professional" claims to produce faster executables
then MSVC "standard".  It is possible to compile the GTK frame
analyzer under windows, see README.WINGTK

LAME can be compiled with various Windows MSDOS ports (all free)
of GCC (DJGPP, Mingw32).  See README.DJGPP.  

For Mingw32, you should now be able to use the Unix Makefile that
comes with LAME.  Try: "make NOUNIXCMD=YES UNAME=MSDOS"
You may need to remove these lines from brhist.c:

#ifdef _WIN32
COORD Pos;
HANDLE CH;
CONSOLE_SCREEN_BUFFER_INFO CSBI;
#endif


The Windows Borland C compiler is now free!  Borland will also
compile LAME, although a new makefile is needed.  If you get
this to work, please write a README.BORLAND which I can include
with LAME.





=======================================================================
Building the software on *NIX platforms:
=======================================================================
If you are reading this, you have already applied the patch to the
dist10 ISO demonstration source (or downloaded a full source
distrubtion).  If you do not have GTK 1.1.16 or higher, or do not want
the graphical frame analyzer (it uses a lot of memory), edit the
Makefile and dont define GTK and GTKLIBS.  If you have trouble with
libncurses/libtermcap, you can also disable that in the Makefile.

Now just type:

% make

(for non-GNU systems: use gnumake or gmake instead of make)

If it doesn't work, figure out why and send me the fix!  
If you are using a newer version of EGCS, check the Makefile.
There are some flags which may improve performance.

LAME has built in support for 16bit raw pcm, aiff and wav
formats.  If you want to encode from other sound formats, you can
compile LAME to use Erik de Castro Lopo's libsndfile.  To use
libsndfile in LAME:

  1. install libsndfile (see http://www.zip.com.au/~erikd/libsndfile/).  
  2. set SNDLIB and LIBSNDFILE as shown in the LAME Makefile.  
  3. make clean ; make

Thanks to Albert Faber for adding the libsndfile support!

LAME can also be compiled into a BladeEnc compatiable MS Windows .dll 
file.  See the Dll/ directory for details. 



=======================================================================
To encode:
=======================================================================
see the file "USAGE" for some usage guidlines.



=======================================================================
Portability
=======================================================================
LAME 3.x has been run on every modern OS.  see the Makefile.





