INSTALL 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. LAME 3.xx January 2001 Mark Taylor (http://www.mp3dev.org)
  2. =======================================================================
  3. Compile time options
  4. =======================================================================
  5. There are serveral targets which can be built from this
  6. source code:
  7. lame, lame.exe The command line encoder
  8. mp3x A GTK based graphical MP3 frame analyzer. For debugging,
  9. development, and studing MP3 frames produced by any
  10. encoder.
  11. lame_enc.dll a Windows DLL used by many GUIs which support lame.
  12. (Can only be compiled by MSVC???)
  13. lame.acm *** DEPRECATED ***
  14. a Windows ACM codec which can be used by many windows programs,
  15. and any directshow program. See MSVC project files in ACM
  16. directory. Right click on lame.inf to install.
  17. lame_enc.dshow a Windows direct show filter for lame. Potentially has
  18. more flexability than the ACM codec, but code needs some
  19. work. See MSVC project files in dshow directory
  20. libmp3lame.a the static encoding library used by all platforms, required
  21. by all the above targets.
  22. libmp3lame.so shared version of libmp3lame.a for *NIX platforms
  23. The following compile time options can be used. For libmp3lame.a and
  24. lame_enc.dll, none are required. On non-unix systems, these options must
  25. be set in config.h or in the IDE.
  26. On unix systems, they are set via ./configure.
  27. #define HAVE_MPGLIB compile in mpglib's mp3 *decoding* capibility
  28. #define HAVE_VORBIS compile in Vorbis decoding capibility
  29. (you need libvorbis already built)
  30. #define NOANALYSIS do not compile in hooks used by the
  31. MP3 frame analyzer.
  32. Options for the command line encoder:
  33. #define LIBSNDFILE to use Erik de Castro Lopo's libsndfile
  34. for input.
  35. =======================================================================
  36. Building the software on *NIX platforms using configure:
  37. =======================================================================
  38. Run the following commands:
  39. % ./configure
  40. % make
  41. % make install
  42. For a complete list of options, try "./configure --help"
  43. Some of the more usefull options:
  44. For the encoding library:
  45. --enable-mp3x Build the mp3 frame analyzer, 'mp3x'
  46. --enable-mp3rtp Build the encode-to-RTP program, 'mp3rtp'
  47. (broken as of August 2001)
  48. For the LAME front end encoder:
  49. --with-fileio=lame Use lame's internal file io routines [default]
  50. =sndfile Use Erik de Castro Lopo's libsndfile (Supports
  51. many more input formats, but no stdin possible
  52. currently)
  53. --with-sndfile-prefix=DIR Alternate location for libsndfile
  54. (if --with-fileio=sndfile)
  55. Other usefull configure options:
  56. --enable-debug Build a debug version
  57. --enable-expopt Enable some more optimizations flags for
  58. the compiler, may or may not produce
  59. faster code
  60. --prefix = PATH default is /usr/local
  61. (LAME currently installs:
  62. /usr/local/bin/lame
  63. /usr/local/lib/libmp3lame.a
  64. /usr/local/lib/libmp3lame.so
  65. /usr/local/include/lame.h
  66. --with-vorbis Enable Ogg Vorbis decoding support
  67. --with-vorbis-prefix = PATH specify where to find Vorbis libs
  68. Some more advanced ways to influence the build procedure
  69. (experienced users only, use it at your own risk):
  70. - If you want to use some custom defines for building (e.g. some out
  71. of the file "DEFINES") use:
  72. * bourne shell or compatible (ash, bash, zsh, ...):
  73. CONFIG_DEFS="-Dmy_define" ./configure
  74. * C shell or compatible (csh, tcsh, ...):
  75. setenv CONFIG_DEFS "-Dmy_define"
  76. ./configure
  77. - If you want to use some additional options for the compiler:
  78. * bourne shell or compatible (ash, bash, zsh, ...):
  79. CFLAGS="--my_flag" ./configure
  80. * C shell or compatible (csh, tcsh, ...):
  81. setenv CFLAGS "--my_flag"
  82. ./configure
  83. Or some combination of the above.
  84. Note:
  85. If configure detects the presents of "nasm" some additional speed
  86. improvements get compiled in (additional assembler code to detect
  87. and use multimedia extensions of the used processor).
  88. =======================================================================
  89. Building the software on *NIX platforms without configure:
  90. =======================================================================
  91. % make -f Makefile.unix
  92. =======================================================================
  93. Building the software on Windows with MSVC:
  94. (or MSVC + 3rd party C compiler such as ICL)
  95. =======================================================================
  96. There are MSVC project files, and a Makefile.MSVC included with the
  97. project. For production use, be sure to compile a "Release" target,
  98. with the "maximum speed" compile option, and #define NDEBUG.
  99. It is possible to compile the GTK frame analyzer under windows, see
  100. README.WINGTK
  101. Various build options can be set in configMS.h
  102. Note: project files for building lame.exe seem to be broken or not
  103. quite compatable with MSVC6. The most reliable way to build lame and
  104. lame_enc.dll is to run the .bat script (comes with MSVC6) which sets
  105. up your VC environment to work from the command line, and then:
  106. copy configMS.h config.h
  107. nmake -f Makefile.MSVC comp=msvc asm=no
  108. Project files for the dll, ACM codec and directshow filter
  109. seem to be in better sahpe.
  110. =======================================================================
  111. Building the software on Windows with free compilers:
  112. =======================================================================
  113. LAME can be compiled with various Windows ports (all free) of GCC (DJGPP,
  114. Mingw32). See README.DJGPP.
  115. For Mingw32, you should now be able to use the Unix Makefile that
  116. comes with LAME. Try: "make -f Makefile.unix UNAME=MSDOS"
  117. You may need to remove these lines from brhist.c:
  118. #ifdef _WIN32
  119. COORD Pos;
  120. HANDLE CH;
  121. CONSOLE_SCREEN_BUFFER_INFO CSBI;
  122. #endif
  123. Mingw32 users may also try to use the unix configure script (explained
  124. above), it has _untested_ support for Mingw32.
  125. Cygwin users should use the unix configure script (explained above). If
  126. you have problems with the configure script try:
  127. CC=gcc ./configure
  128. Patches to enable the build of the lame_enc.dll with Cygwin and autoconf /
  129. automake / libtool are welcome!
  130. To use the Borland C compiler (now free!) see README.B32 and Makefile.B32.
  131. Borland can also compile the lame_enc.dll, but this is untested.
  132. Can DJGPP or Mingw32 produce lame_enc.dll?
  133. Various build options can be set in configMS.h