| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- LAME 3.xx January 2001 Mark Taylor (http://www.mp3dev.org)
- =======================================================================
- Compile time options
- =======================================================================
- There are serveral targets which can be built from this
- source code:
- lame, lame.exe The command line encoder
- mp3x A GTK based graphical MP3 frame analyzer. For debugging,
- development, and studing MP3 frames produced by any
- encoder.
- lame_enc.dll a Windows DLL used by many GUIs which support lame.
- (Can only be compiled by MSVC???)
- lame.acm *** DEPRECATED ***
- a Windows ACM codec which can be used by many windows programs,
- and any directshow program. See MSVC project files in ACM
- directory. Right click on lame.inf to install.
- lame_enc.dshow a Windows direct show filter for lame. Potentially has
- more flexability than the ACM codec, but code needs some
- work. See MSVC project files in dshow directory
- libmp3lame.a the static encoding library used by all platforms, required
- by all the above targets.
- libmp3lame.so shared version of libmp3lame.a for *NIX platforms
- 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 config.h or in the IDE.
- On unix systems, they are set via ./configure.
- #define HAVE_MPGLIB compile in mpglib's mp3 *decoding* capibility
- #define HAVE_VORBIS compile in Vorbis decoding capibility
- (you need libvorbis already built)
- #define NOANALYSIS do not compile in hooks used by the
- MP3 frame analyzer.
- Options for the command line encoder:
- #define LIBSNDFILE to use Erik de Castro Lopo's libsndfile
- for input.
- =======================================================================
- Building the software on *NIX platforms using configure:
- =======================================================================
- Run the following commands:
- % ./configure
- % make
- % make install
- For a complete list of options, try "./configure --help"
- Some of the more usefull options:
- For the encoding library:
- --enable-mp3x Build the mp3 frame analyzer, 'mp3x'
- --enable-mp3rtp Build the encode-to-RTP program, 'mp3rtp'
- (broken as of August 2001)
-
- For the LAME front end encoder:
- --with-fileio=lame Use lame's internal file io routines [default]
- =sndfile Use Erik de Castro Lopo's libsndfile (Supports
- many more input formats, but no stdin possible
- currently)
- --with-sndfile-prefix=DIR Alternate location for libsndfile
- (if --with-fileio=sndfile)
- Other usefull configure options:
- --enable-debug Build a debug version
- --enable-expopt Enable some more optimizations flags for
- the compiler, may or may not produce
- faster code
- --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
- --with-vorbis Enable Ogg Vorbis decoding support
- --with-vorbis-prefix = PATH specify where to find Vorbis libs
- Some more advanced ways to influence the build procedure
- (experienced users only, use it at your own risk):
- - If you want to use some custom defines for building (e.g. some out
- of the file "DEFINES") use:
- * bourne shell or compatible (ash, bash, zsh, ...):
- CONFIG_DEFS="-Dmy_define" ./configure
- * C shell or compatible (csh, tcsh, ...):
- setenv CONFIG_DEFS "-Dmy_define"
- ./configure
- - If you want to use some additional options for the compiler:
- * bourne shell or compatible (ash, bash, zsh, ...):
- CFLAGS="--my_flag" ./configure
- * C shell or compatible (csh, tcsh, ...):
- setenv CFLAGS "--my_flag"
- ./configure
- Or some combination of the above.
- Note:
- If configure detects the presents of "nasm" some additional speed
- improvements get compiled in (additional assembler code to detect
- and use multimedia extensions of the used processor).
- =======================================================================
- Building the software on *NIX platforms without configure:
- =======================================================================
- % make -f Makefile.unix
- =======================================================================
- Building the software on Windows with MSVC:
- (or MSVC + 3rd party C compiler such as ICL)
- =======================================================================
- 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
- Various build options can be set in configMS.h
- Note: project files for building lame.exe seem to be broken or not
- quite compatable with MSVC6. The most reliable way to build lame and
- lame_enc.dll is to run the .bat script (comes with MSVC6) which sets
- up your VC environment to work from the command line, and then:
- copy configMS.h config.h
- nmake -f Makefile.MSVC comp=msvc asm=no
- Project files for the dll, ACM codec and directshow filter
- seem to be in better sahpe.
- =======================================================================
- Building the software on Windows with free compilers:
- =======================================================================
- LAME can be compiled with various Windows 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
- Mingw32 users may also try to use the unix configure script (explained
- above), it has _untested_ support for Mingw32.
- Cygwin users should use the unix configure script (explained above). If
- you have problems with the configure script try:
- CC=gcc ./configure
- Patches to enable the build of the lame_enc.dll with Cygwin and autoconf /
- automake / libtool are welcome!
- 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?
- Various build options can be set in configMS.h
|