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.
                (Can only be compiled by MSVC???)

libmp3lame.a    the *NIX style encoding library
libmp3lame.so   shared version of libmp3lame.a


The following compile time options can be used.  For libmp3lame.a
and lame_enc.dll, none are required.  On non-unix systems,
these options must be set in Makefile or in the IDE.  
On unix systems, they are set via ./configure.  


#define HAVEGTK      compile in support for the GTK based mp3 frame analyzer
#define HAVEMPGLIB   compile in mpglib's mp3 *decoding* capibility
#define HAVEVORBIS   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
                     (no stdin support yet)
#define LAMESNDFILE  to use LAME's internal sound file support 
                     (16 bit wav and raw pcm only, files or stdin )

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 *NIX platforms:
=======================================================================
./configure support was recently added to LAME. (9/18/00)
If ./configure has problems, you can use the old makefile
via % make -f Makefile.unix

% ./configure
% make 
% make install

And the folloing options can be used with ./configure:

  --with-fileio=lame          Use lame's internal file io routines [default]
               =sndfile       Use Erik de Castro Lopo's libsndfile (no stdin possible currently)
               =no            Do not use file io routines

  --with-sndfile-prefix=DIR   Alternate location for libsndfile
                              (if --with-fileio=sndfile)

  --with-vorbis               Use vorbis library for ogg files 
                              [default:yes, if installed]"
  --with-vorbis-prefix=DIR    Alternate location for vorbis

  --enable-decoder=yes,no     Include mpg123/mpglib decoder [default:yes]"

  --enable-analyzer=yes,no    Whether to include the GTK frame analyzer 
                              (default yes if possible)
                              It requires installed GTK, file io and 
                              the mpg123 decoder."

  --enable-brhist             Include the VBR bitrate histogram feature 
                              (default:yes if any ncurses/termcap available)"


Other usefull configure options:

--prefix = PATH               default is /usr/local
                              (LAME currently installs:
                                /usr/local/bin/lame
                                /usr/local/lib/libmp3lame.a
                                /usr/local/lib/libmp3lame.so
                                /usr/local/include/lame.h

                        




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

It is possible to compile the GTK frame analyzer under windows, see
README.WINGTK



=======================================================================
Building the software on Windows with free compilers:
=======================================================================
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 -f Makefile.unix UNAME=MSDOS"
You may need to remove these lines from brhist.c:

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

To use the Borland C compiler (now free!) see README.B32 and Makefile.B32.
Borland can also compile the lame_enc.dll, but this is untested.

Can DJGPP or Mingw32 produce lame_enc.dll?


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



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





