Joburgess 3 сар өмнө
commit
db887f6d37
100 өөрчлөгдсөн 102707 нэмэгдсэн , 0 устгасан
  1. 1405 0
      ACM/ACM.cpp
  2. 101 0
      ACM/ACM.h
  3. 397 0
      ACM/ACMStream.cpp
  4. 85 0
      ACM/ACMStream.h
  5. 181 0
      ACM/ADbg/ADbg.cpp
  6. 133 0
      ACM/ADbg/ADbg.h
  7. 8 0
      ACM/ADbg/Makefile.am
  8. 474 0
      ACM/ADbg/Makefile.in
  9. 2027 0
      ACM/AEncodeProperties.cpp
  10. 448 0
      ACM/AEncodeProperties.h
  11. 242 0
      ACM/DecodeStream.cpp
  12. 83 0
      ACM/DecodeStream.h
  13. 91 0
      ACM/LameACM.inf
  14. 26 0
      ACM/Makefile.am
  15. 671 0
      ACM/Makefile.in
  16. 9 0
      ACM/TODO
  17. 219 0
      ACM/acm.rc
  18. 39 0
      ACM/adebug.h
  19. 6 0
      ACM/ddk/Makefile.am
  20. 473 0
      ACM/ddk/Makefile.in
  21. 185 0
      ACM/ddk/msacmdrv.h
  22. BIN
      ACM/lame.ico
  23. 25 0
      ACM/lameACM.def
  24. 13 0
      ACM/lame_acm.xml
  25. 216 0
      ACM/main.cpp
  26. 29 0
      ACM/readme.txt
  27. 42 0
      ACM/resource.h
  28. 16 0
      ACM/tinyxml/Makefile.am
  29. 483 0
      ACM/tinyxml/Makefile.in
  30. 150 0
      ACM/tinyxml/Makefile.tinyxml
  31. 81 0
      ACM/tinyxml/changes.txt
  32. 708 0
      ACM/tinyxml/dox
  33. 34 0
      ACM/tinyxml/makedistlinux
  34. 19 0
      ACM/tinyxml/makedistwin.bat
  35. 309 0
      ACM/tinyxml/readme.txt
  36. 1007 0
      ACM/tinyxml/tinyxml.cpp
  37. 804 0
      ACM/tinyxml/tinyxml.h
  38. 26 0
      ACM/tinyxml/tinyxmlerror.cpp
  39. 928 0
      ACM/tinyxml/tinyxmlparser.cpp
  40. 326 0
      ACM/tinyxml/xmltest.cpp
  41. 107 0
      API
  42. 481 0
      COPYING
  43. 40599 0
      ChangeLog
  44. 13 0
      ChangeLog.header
  45. 45 0
      DEFINES
  46. 1028 0
      Dll/BladeMP3EncDLL.c
  47. 36 0
      Dll/BladeMP3EncDLL.def
  48. 280 0
      Dll/BladeMP3EncDLL.h
  49. 292 0
      Dll/Example.cpp
  50. 742 0
      Dll/LameDLLInterface.htm
  51. 303 0
      Dll/MP3export.pas
  52. 11 0
      Dll/Makefile.am
  53. 478 0
      Dll/Makefile.in
  54. 40 0
      Dll/Makefile.mingw32
  55. 21 0
      Dll/README
  56. 121 0
      HACKING
  57. 194 0
      INSTALL
  58. 183 0
      INSTALL.configure
  59. 13 0
      LICENSE
  60. 705 0
      Makefile.MSVC
  61. 64 0
      Makefile.am
  62. 7 0
      Makefile.am.global
  63. 906 0
      Makefile.in
  64. 668 0
      Makefile.unix
  65. 44 0
      README
  66. 60 0
      README.WINGTK
  67. 187 0
      STYLEGUIDE
  68. 138 0
      TODO
  69. 968 0
      USAGE
  70. 281 0
      acinclude.m4
  71. 11980 0
      aclocal.m4
  72. 348 0
      compile
  73. 1433 0
      config.guess
  74. 371 0
      config.h.in
  75. 672 0
      config.rpath
  76. 1804 0
      config.sub
  77. 120 0
      configMS.h
  78. 20185 0
      configure
  79. 1265 0
      configure.in
  80. 20 0
      debian/Makefile.am
  81. 405 0
      debian/Makefile.in
  82. 277 0
      debian/changelog
  83. 1 0
      debian/compat
  84. 51 0
      debian/control
  85. 55 0
      debian/copyright
  86. 9 0
      debian/lame.doc-base
  87. 1 0
      debian/lame.docs
  88. 2 0
      debian/lame.install
  89. 1 0
      debian/lame.manpages
  90. 3 0
      debian/libmp3lame-dev.install
  91. 1 0
      debian/libmp3lame0.install
  92. 18 0
      debian/rules
  93. 1 0
      debian/source/format
  94. 2 0
      debian/watch
  95. 791 0
      depcomp
  96. 5 0
      doc/Makefile.am
  97. 651 0
      doc/Makefile.in
  98. 26 0
      doc/html/Makefile.am
  99. 537 0
      doc/html/Makefile.in
  100. 138 0
      doc/html/about.html

+ 1405 - 0
ACM/ACM.cpp

@@ -0,0 +1,1405 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(STRICT)
+#define STRICT
+#endif // STRICT
+
+#include <algorithm>
+
+#include <windows.h>
+#include <windowsx.h>
+#include <intshcut.h>
+
+#include <mmreg.h>
+#include <msacm.h>
+#include <msacmdrv.h>
+
+#include <assert.h>
+
+#include <lame.h>
+
+#include "adebug.h"
+#include "resource.h"
+#include "ACMStream.h"
+
+#ifdef ENABLE_DECODING
+#include "DecodeStream.h"
+#endif // ENABLE_DECODING
+
+#include "ACM.h"
+
+#ifndef IDC_HAND
+#define IDC_HAND            MAKEINTRESOURCE(32649)
+#endif // IDC_HAND
+
+char ACM::VersionString[120];
+
+const char ACM_VERSION[] = "0.9.2";
+
+#ifdef WIN32
+//
+//  32-bit versions
+//
+#if (WINVER >= 0x0400)
+ #define VERSION_ACM_DRIVER  MAKE_ACM_VERSION(4,  0, 0)
+#else
+#define VERSION_ACM_DRIVER  MAKE_ACM_VERSION(3, 51, 0)
+#endif
+#define VERSION_MSACM MAKE_ACM_VERSION(3, 50, 0)
+
+#else
+//
+//  16-bit versions
+//
+#define VERSION_ACM_DRIVER MAKE_ACM_VERSION(1, 0, 0)
+#define VERSION_MSACM MAKE_ACM_VERSION(2, 1, 0)
+
+#endif
+
+#define PERSONAL_FORMAT WAVE_FORMAT_MPEGLAYER3
+#define SIZE_FORMAT_STRUCT sizeof(MPEGLAYER3WAVEFORMAT)
+//#define SIZE_FORMAT_STRUCT 0
+
+//static const char channel_mode[][13] = {"mono","stereo","joint stereo","dual channel"};
+static const char channel_mode[][13] = {"mono","stereo"};
+static const unsigned int mpeg1_freq[] = {48000,44100,32000};
+static const unsigned int mpeg2_freq[] = {24000,22050,16000,12000,11025,8000};
+static const unsigned int mpeg1_bitrate[] = {320, 256, 224, 192, 160, 128, 112, 96, 80, 64, 56, 48, 40, 32};
+static const unsigned int mpeg2_bitrate[] = {160, 144, 128, 112,  96,  80,  64, 56, 48, 40, 32, 24, 16,  8};
+
+#define SIZE_CHANNEL_MODE (sizeof(channel_mode)  / (sizeof(char) * 13))
+#define SIZE_FREQ_MPEG1 (sizeof(mpeg1_freq)    / sizeof(unsigned int))
+#define SIZE_FREQ_MPEG2 (sizeof(mpeg2_freq)    / sizeof(unsigned int))
+#define SIZE_BITRATE_MPEG1 (sizeof(mpeg1_bitrate) / sizeof(unsigned int))
+#define SIZE_BITRATE_MPEG2 (sizeof(mpeg2_bitrate) / sizeof(unsigned int))
+
+static const int FORMAT_TAG_MAX_NB = 2; // PCM and PERSONAL (mandatory to have at least PCM and your format)
+static const int FILTER_TAG_MAX_NB = 0; // this is a codec, not a filter
+
+// number of supported PCM formats
+static const int FORMAT_MAX_NB_PCM =
+	2 *                                           // number of PCM channel mode (stereo/mono)
+		(SIZE_FREQ_MPEG1 + // number of MPEG 1 sampling freq
+		SIZE_FREQ_MPEG2); // number of MPEG 2 sampling freq
+
+//////////////////////////////////////////////////////////////////////
+//
+//////////////////////////////////////////////////////////////////////
+bool bitrate_item::operator<(const bitrate_item & other_bitrate) const
+{
+	return (other_bitrate.frequency < frequency ||
+		    (other_bitrate.frequency == frequency &&
+			 (other_bitrate.bitrate < bitrate ||
+			  (other_bitrate.bitrate == bitrate &&
+			   (other_bitrate.channels < channels)))));
+}
+
+//////////////////////////////////////////////////////////////////////
+// Configuration Dialog
+//////////////////////////////////////////////////////////////////////
+/*
+static CALLBACK ConfigProc(
+  HWND hwndDlg,  // handle to dialog box
+UINT uMsg,     // message
+WPARAM wParam, // first message parameter
+LPARAM lParam  // second message parameter
+)
+{
+	BOOL bResult;
+
+	switch (uMsg) {
+		case WM_COMMAND:
+			UINT command;
+			command = GET_WM_COMMAND_ID(wParam, lParam);
+            if (IDOK == command)
+            {
+                EndDialog(hwndDlg, (IDOK == command));
+            } else if (IDCANCEL == command)
+            {
+                EndDialog(hwndDlg, (IDOK == command));
+            }
+            bResult = FALSE;
+			break;
+		default:
+			bResult = FALSE; // will be treated by DefWindowProc
+}
+	return bResult;
+}
+
+
+inline DWORD ACM::Configure(HWND hParentWindow, LPDRVCONFIGINFO pConfig)
+{
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_START, "ACM : Configure (Parent Window = 0x%08X)",hParentWindow);
+
+	DialogBoxParam( my_hModule, MAKEINTRESOURCE(IDD_CONFIG), hParentWindow, ::ConfigProc , (LPARAM)this);
+
+	return DRVCNF_OK; // Can also return
+					// DRVCNF_CANCEL
+					// and DRVCNF_RESTART
+}
+*/
+//////////////////////////////////////////////////////////////////////
+// About Dialog
+//////////////////////////////////////////////////////////////////////
+
+static BOOL CALLBACK AboutProc(
+  HWND hwndDlg,  // handle to dialog box
+UINT uMsg,     // message
+WPARAM wParam, // first message parameter
+LPARAM lParam  // second message parameter
+)
+{
+	static HBRUSH hBrushStatic = NULL;
+//	static LOGFONT lf;  // structure for font information  
+//	static HFONT hfnt;
+	static HCURSOR hcOverCursor = NULL;
+	BOOL bResult;
+
+	switch (uMsg) {
+		case WM_INITDIALOG:
+			char tmp[150];
+			wsprintf(tmp,"LAME MP3 codec v%s", ACM::GetVersionString());
+			::SetWindowText(GetDlgItem( hwndDlg, IDC_STATIC_ABOUT_TITLE), tmp);
+
+/*
+			::GetObject(::GetStockObject(DEFAULT_GUI_FONT), sizeof(LOGFONT), &lf); 
+			lf.lfUnderline = TRUE;
+
+			hfnt = ::CreateFontIndirect(&lf);
+
+			::SendMessage(::GetDlgItem(hwndDlg,IDC_STATIC_ABOUT_URL), WM_SETFONT, (WPARAM) hfnt, TRUE);
+* /
+			hBrushStatic = ::CreateSolidBrush(::GetSysColor (COLOR_BTNFACE));
+*/			hcOverCursor = ::LoadCursor(NULL,(LPCTSTR)IDC_HAND); 
+			if (hcOverCursor == NULL)
+				hcOverCursor = ::LoadCursor(NULL,(LPCTSTR)IDC_CROSS); 
+
+			bResult = TRUE;
+			break;
+/*
+		case WM_CTLCOLORSTATIC:
+			/// \todo only if there are URLs
+			if ((HWND)lParam == ::GetDlgItem(hwndDlg,IDC_STATIC_ABOUT_URL))
+			{
+				::SetTextColor((HDC)wParam, ::GetSysColor (COLOR_HIGHLIGHT));
+				::SetBkColor((HDC)wParam, ::GetSysColor (COLOR_BTNFACE));
+
+				return (LRESULT) hBrushStatic;
+			}
+			else
+				return (LRESULT) NULL;
+*/
+		case WM_MOUSEMOVE:
+			{
+				POINT pnt;
+				::GetCursorPos(&pnt);
+
+				RECT rect;
+				::GetWindowRect( ::GetDlgItem(hwndDlg,IDC_STATIC_ABOUT_URL), &rect);
+
+				if (  ::PtInRect(&rect,pnt)  )
+				{
+					::SetCursor(hcOverCursor);
+				}
+
+
+			}
+			break;
+
+		case WM_LBUTTONUP:
+			{
+				POINT pnt;
+				::GetCursorPos(&pnt);
+
+				RECT rect;
+				::GetWindowRect( ::GetDlgItem(hwndDlg,IDC_STATIC_ABOUT_URL), &rect);
+
+				TCHAR Url[200];
+				bool bUrl = false;
+				if (::PtInRect(&rect,pnt))
+				{
+					wsprintf(Url,get_lame_url());
+					bUrl = true;
+				}
+
+				if (bUrl)
+				{
+					LPSTR tmpStr;
+					HRESULT hresult = ::TranslateURL(Url, TRANSLATEURL_FL_GUESS_PROTOCOL|TRANSLATEURL_FL_GUESS_PROTOCOL, &tmpStr);
+					if (hresult == S_OK)
+						::ShellExecute(hwndDlg,"open",tmpStr,NULL,"",SW_SHOWMAXIMIZED );
+					else if (hresult == S_FALSE)
+						::ShellExecute(hwndDlg,"open",Url,NULL,"",SW_SHOWMAXIMIZED );
+				}
+
+			}
+			break;
+
+		case WM_COMMAND:
+			UINT command;
+			command = GET_WM_COMMAND_ID(wParam, lParam);
+            if (IDOK == command)
+            {
+                EndDialog(hwndDlg, TRUE);
+            }
+            bResult = FALSE;
+			break;
+
+		case IDC_STATIC_ABOUT_URL:
+			break;
+		default:
+			bResult = FALSE; // will be treated by DefWindowProc
+}
+	return bResult;
+}
+
+inline DWORD ACM::About(HWND hParentWindow)
+{
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_START, "ACM : About (Parent Window = 0x%08X)",hParentWindow);
+
+	DialogBoxParam( my_hModule, MAKEINTRESOURCE(IDD_ABOUT), hParentWindow, ::AboutProc , (LPARAM)this);
+
+	return DRVCNF_OK; // Can also return
+// DRVCNF_CANCEL
+// and DRVCNF_RESTART
+}
+
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+ACM::ACM( HMODULE hModule )
+ :my_hModule(hModule),
+  my_hIcon(NULL),
+  my_debug(ADbg(DEBUG_LEVEL_CREATION)),
+  my_EncodingProperties(hModule)
+{
+	my_EncodingProperties.ParamsRestore();
+
+	/// \todo get the debug level from the registry
+	unsigned char DebugFileName[512];
+
+	char tmp[128];
+	wsprintf(tmp,"LAMEacm 0x%08X",this);
+	my_debug.setPrefix(tmp); /// \todo get it from the registry
+	my_debug.setIncludeTime(true);  /// \todo get it from the registry
+
+	// Check in the registry if we have to Output Debug information
+	DebugFileName[0] = '\0';
+
+	HKEY OssKey;
+	if (RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI", 0, KEY_READ , &OssKey ) == ERROR_SUCCESS) {
+		DWORD DataType;
+		DWORD DebugFileNameSize = 512;
+		if (RegQueryValueEx( OssKey, "DebugFile", NULL, &DataType, DebugFileName, &DebugFileNameSize ) == ERROR_SUCCESS) {
+			if (DataType == REG_SZ) {
+				my_debug.setUseFile(true);
+				my_debug.setDebugFile((char *)DebugFileName);
+				my_debug.OutPut("Debug file is %s",(char *)DebugFileName);
+			}
+		}
+	}
+        wsprintf(VersionString,"%s - %s", ACM_VERSION, get_lame_version() );
+	BuildBitrateTable();
+	
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_START, "New ACM Creation (0x%08X)",this);
+}
+
+ACM::~ACM()
+{
+// not used, it's done automatically when closing the driver	if (my_hIcon != NULL)
+//		CloseHandle(my_hIcon);
+
+	bitrate_table.clear();
+
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_START, "ACM Deleted (0x%08X)",this);
+}
+
+//////////////////////////////////////////////////////////////////////
+// Main message handler
+//////////////////////////////////////////////////////////////////////
+
+LONG ACM::DriverProcedure(const HDRVR hdrvr, const UINT msg, LONG lParam1, LONG lParam2)
+{
+    DWORD dwRes = 0L;
+
+//my_debug.OutPut(DEBUG_LEVEL_MSG, "message 0x%08X for ThisACM 0x%08X", msg, this);
+
+switch (msg) {
+    case DRV_INSTALL:
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "DRV_INSTALL");
+		// Sent when the driver is installed.
+		dwRes = DRVCNF_OK;  // Can also return 
+		break;              // DRVCNF_CANCEL
+							// and DRV_RESTART
+
+	case DRV_REMOVE:
+		// Sent when the driver is removed.
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "DRV_REMOVE");
+		dwRes = 1L;  // return value ignored
+		break;
+
+    case DRV_QUERYCONFIGURE:
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "DRV_QUERYCONFIGURE");
+		// Sent to determine if the driver can be
+		// configured.
+		dwRes = 1L;  // Zero indicates configuration
+		break;       // NOT supported
+
+	case DRV_CONFIGURE:
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "DRV_CONFIGURE");
+		// Sent to display the configuration
+		// dialog box for the driver.
+//		dwRes = Configure( (HWND) lParam1, (LPDRVCONFIGINFO) lParam2 );
+		if (my_EncodingProperties.Config(my_hModule, (HWND) lParam1))
+		{
+			dwRes = DRVCNF_OK; // Can also return
+					// DRVCNF_CANCEL
+					// and DRVCNF_RESTART
+		} else {
+			dwRes = DRVCNF_CANCEL;
+		}
+		break;
+
+	/**************************************
+	// ACM additional messages
+	***************************************/
+
+	case ACMDM_DRIVER_ABOUT:
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_DRIVER_ABOUT");
+
+		dwRes = About( (HWND) lParam1 );
+
+        break;
+
+	case ACMDM_DRIVER_DETAILS: // acmDriverDetails
+		// Fill-in general informations about the driver/codec
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_DRIVER_DETAILS");
+
+		dwRes = OnDriverDetails(hdrvr, (LPACMDRIVERDETAILS) lParam1);
+        
+		break;
+
+	case ACMDM_FORMATTAG_DETAILS: // acmFormatTagDetails
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_FORMATTAG_DETAILS");
+
+		dwRes = OnFormatTagDetails((LPACMFORMATTAGDETAILS) lParam1, lParam2);
+
+        break;
+
+	case ACMDM_FORMAT_DETAILS: // acmFormatDetails
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_FORMAT_DETAILS");
+
+		dwRes = OnFormatDetails((LPACMFORMATDETAILS) lParam1, lParam2);
+		
+        break;           
+
+    case ACMDM_FORMAT_SUGGEST: // acmFormatSuggest
+		// Sent to determine if the driver can be
+		// configured.
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_FORMAT_SUGGEST");
+		dwRes = OnFormatSuggest((LPACMDRVFORMATSUGGEST) lParam1);
+        break; 
+
+	/**************************************
+	// ACM stream messages
+	***************************************/
+
+	case ACMDM_STREAM_OPEN:
+	// Sent to determine if the driver can be
+	// configured.
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_OPEN");
+		dwRes = OnStreamOpen((LPACMDRVSTREAMINSTANCE) lParam1);
+        break; 
+
+	case ACMDM_STREAM_SIZE:
+	// returns a recommended size for a source 
+	// or destination buffer on an ACM stream
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_SIZE");
+		dwRes = OnStreamSize((LPACMDRVSTREAMINSTANCE)lParam1, (LPACMDRVSTREAMSIZE)lParam2);
+        break; 
+
+	case ACMDM_STREAM_PREPARE:
+	// prepares an ACMSTREAMHEADER structure for
+	// an ACM stream conversion
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_PREPARE");
+		dwRes = OnStreamPrepareHeader((LPACMDRVSTREAMINSTANCE)lParam1, (LPACMSTREAMHEADER) lParam2);
+        break; 
+
+	case ACMDM_STREAM_UNPREPARE:
+	// cleans up the preparation performed by
+	// the ACMDM_STREAM_PREPARE message for an ACM stream
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_UNPREPARE");
+		dwRes = OnStreamUnPrepareHeader((LPACMDRVSTREAMINSTANCE)lParam1, (LPACMSTREAMHEADER) lParam2);
+        break; 
+
+	case ACMDM_STREAM_CONVERT:
+	// perform a conversion on the specified conversion stream
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_CONVERT");
+		dwRes = OnStreamConvert((LPACMDRVSTREAMINSTANCE)lParam1, (LPACMDRVSTREAMHEADER) lParam2);
+		
+        break; 
+
+	case ACMDM_STREAM_CLOSE:
+	// closes an ACM conversion stream
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACMDM_STREAM_CLOSE");
+		dwRes = OnStreamClose((LPACMDRVSTREAMINSTANCE)lParam1);
+        break;
+
+	/**************************************
+	// Unknown message
+	***************************************/
+
+	default:
+	// Process any other messages.
+		my_debug.OutPut(DEBUG_LEVEL_MSG, "ACM::DriverProc unknown message (0x%08X), lParam1 = 0x%08X, lParam2 = 0x%08X", msg, lParam1, lParam2);
+		return DefDriverProc ((DWORD)this, hdrvr, msg, lParam1, lParam2);
+    }
+
+    return dwRes;
+}
+
+//////////////////////////////////////////////////////////////////////
+// Special message handlers
+//////////////////////////////////////////////////////////////////////
+/*!
+	Retreive the config details of this ACM driver
+	The index represent the specified format
+
+	\param a_FormatDetails will be filled with all the corresponding data
+*/
+inline DWORD ACM::OnFormatDetails(LPACMFORMATDETAILS a_FormatDetails, const LPARAM a_Query)
+{
+	DWORD Result = ACMERR_NOTPOSSIBLE;
+
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATDETAILS a_Query = 0x%08X",a_Query);
+	switch (a_Query & ACM_FORMATDETAILSF_QUERYMASK) {
+
+		// Fill-in the informations corresponding to the FormatDetails->dwFormatTagIndex
+		case ACM_FORMATDETAILSF_INDEX :
+			my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "enter ACM_FORMATDETAILSF_INDEX for index 0x%04X:%03d",a_FormatDetails->dwFormatTag,a_FormatDetails->dwFormatIndex);
+			if (a_FormatDetails->dwFormatTag == PERSONAL_FORMAT) {
+				if (a_FormatDetails->dwFormatIndex < GetNumberEncodingFormats()) {
+					LPWAVEFORMATEX WaveExt;
+					WaveExt = a_FormatDetails->pwfx;
+
+					WaveExt->wFormatTag = PERSONAL_FORMAT;
+
+					my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "format in  : channels %d, sample rate %d", WaveExt->nChannels, WaveExt->nSamplesPerSec);
+					GetMP3FormatForIndex(a_FormatDetails->dwFormatIndex, *WaveExt, a_FormatDetails->szFormat);
+					my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "format out : channels %d, sample rate %d", WaveExt->nChannels, WaveExt->nSamplesPerSec);
+					Result = MMSYSERR_NOERROR;
+				}
+				else
+				{
+					my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATDETAILSF_INDEX unknown index 0x%04X:%03d",a_FormatDetails->dwFormatTag,a_FormatDetails->dwFormatIndex);
+				}
+			}
+			else if (a_FormatDetails->dwFormatTag == WAVE_FORMAT_PCM) {
+				if (a_FormatDetails->dwFormatIndex < FORMAT_MAX_NB_PCM) {
+					LPWAVEFORMATEX WaveExt;
+					WaveExt = a_FormatDetails->pwfx;
+
+					WaveExt->wFormatTag = WAVE_FORMAT_PCM;
+
+					my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "format in  : channels %d, sample rate %d", WaveExt->nChannels, WaveExt->nSamplesPerSec);
+					GetPCMFormatForIndex(a_FormatDetails->dwFormatIndex, *WaveExt, a_FormatDetails->szFormat);
+					my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "format out : channels %d, sample rate %d", WaveExt->nChannels, WaveExt->nSamplesPerSec);
+					Result = MMSYSERR_NOERROR;
+				}
+				else
+				{
+					my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATDETAILSF_INDEX unknown index 0x%04X:%03d",a_FormatDetails->dwFormatTag,a_FormatDetails->dwFormatIndex);
+				}
+			}
+			else
+			{
+				my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Unknown a_FormatDetails->dwFormatTag = 0x%08X",a_FormatDetails->dwFormatTag);
+			}
+
+		case ACM_FORMATDETAILSF_FORMAT :
+			/// \todo we may output the corresponding strong (only for personal format)
+			LPWAVEFORMATEX WaveExt;
+			WaveExt = a_FormatDetails->pwfx;
+
+			my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "enter ACM_FORMATDETAILSF_FORMAT : 0x%04X:%03d, format in : channels %d, sample rate %d",a_FormatDetails->dwFormatTag,a_FormatDetails->dwFormatIndex, WaveExt->nChannels, WaveExt->nSamplesPerSec);
+
+			Result = MMSYSERR_NOERROR;
+			break;
+		
+		default:
+			Result = ACMERR_NOTPOSSIBLE;
+			break;
+	}
+
+	a_FormatDetails->fdwSupport = ACMDRIVERDETAILS_SUPPORTF_CODEC;
+
+	return Result;
+}
+
+/*!
+	Retreive the details of each known format by this ACM driver
+	The index represent the specified format (0 = MP3 / 1 = PCM)
+
+	\param a_FormatTagDetails will be filled with all the corresponding data
+*/
+inline DWORD ACM::OnFormatTagDetails(LPACMFORMATTAGDETAILS a_FormatTagDetails, const LPARAM a_Query)
+{
+	DWORD Result;
+	DWORD the_format = WAVE_FORMAT_UNKNOWN; // the format to give details
+
+	if (a_FormatTagDetails->cbStruct >= sizeof(*a_FormatTagDetails)) {
+
+		my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACMDM_FORMATTAG_DETAILS, a_Query = 0x%08X",a_Query);
+		switch(a_Query & ACM_FORMATTAGDETAILSF_QUERYMASK) {
+
+			case ACM_FORMATTAGDETAILSF_INDEX:
+			// Fill-in the informations corresponding to the a_FormatDetails->dwFormatTagIndex
+				my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "get ACM_FORMATTAGDETAILSF_INDEX for index %03d",a_FormatTagDetails->dwFormatTagIndex);
+
+				if (a_FormatTagDetails->dwFormatTagIndex < FORMAT_TAG_MAX_NB) {
+					switch (a_FormatTagDetails->dwFormatTagIndex)
+					{
+					case 0:
+						the_format = PERSONAL_FORMAT;
+						break;
+					default :
+						the_format = WAVE_FORMAT_PCM;
+						break;
+					}
+				}
+				else
+				{
+					my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATTAGDETAILSF_INDEX for unsupported index %03d",a_FormatTagDetails->dwFormatTagIndex);
+					Result = ACMERR_NOTPOSSIBLE;
+				}
+				break;
+
+			case ACM_FORMATTAGDETAILSF_FORMATTAG:
+			// Fill-in the informations corresponding to the a_FormatDetails->dwFormatTagIndex and hdrvr given
+				switch (a_FormatTagDetails->dwFormatTag)
+				{
+				case WAVE_FORMAT_PCM:
+					the_format = WAVE_FORMAT_PCM;
+					break;
+				case PERSONAL_FORMAT:
+					the_format = PERSONAL_FORMAT;
+					break;
+				default:
+                    return (ACMERR_NOTPOSSIBLE);
+				}
+				my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "get ACM_FORMATTAGDETAILSF_FORMATTAG for index 0x%02X, cStandardFormats = %d",a_FormatTagDetails->dwFormatTagIndex,a_FormatTagDetails->cStandardFormats);
+				break;
+			case ACM_FORMATTAGDETAILSF_LARGESTSIZE:
+				my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "ACM_FORMATTAGDETAILSF_LARGESTSIZE not used");
+				Result = 0L;
+				break;
+			default:
+				my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnFormatTagDetails Unknown Format tag query");
+				Result = MMSYSERR_NOTSUPPORTED;
+				break;
+		}
+
+		my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnFormatTagDetails the_format = 0x%08X",the_format);
+		switch(the_format)
+		{
+			case WAVE_FORMAT_PCM:
+				a_FormatTagDetails->dwFormatTag      = WAVE_FORMAT_PCM;
+				a_FormatTagDetails->dwFormatTagIndex = 0;
+				a_FormatTagDetails->cbFormatSize     = sizeof(PCMWAVEFORMAT);
+				/// \note 0 may mean we don't know how to decode
+				a_FormatTagDetails->fdwSupport       = ACMDRIVERDETAILS_SUPPORTF_CODEC;
+				a_FormatTagDetails->cStandardFormats = FORMAT_MAX_NB_PCM;
+				// should be filled by Windows				a_FormatTagDetails->szFormatTag[0] = '\0';
+				Result = MMSYSERR_NOERROR;
+				break;
+			case PERSONAL_FORMAT:
+				a_FormatTagDetails->dwFormatTag      = PERSONAL_FORMAT;
+				a_FormatTagDetails->dwFormatTagIndex = 1;
+				a_FormatTagDetails->cbFormatSize     = SIZE_FORMAT_STRUCT;
+				a_FormatTagDetails->fdwSupport       = ACMDRIVERDETAILS_SUPPORTF_CODEC;
+				a_FormatTagDetails->cStandardFormats = GetNumberEncodingFormats();
+				lstrcpyW( a_FormatTagDetails->szFormatTag, L"Lame MP3" );
+				Result = MMSYSERR_NOERROR;
+				break;
+			default:
+				my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnFormatTagDetails Unknown format 0x%08X",the_format);
+				return (ACMERR_NOTPOSSIBLE);
+		}
+		my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnFormatTagDetails %d possibilities for format 0x%08X",a_FormatTagDetails->cStandardFormats,the_format);
+	}
+	else
+	{
+		my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "a_FormatTagDetails->cbStruct < sizeof(*a_FormatDetails)");
+		Result = ACMERR_NOTPOSSIBLE;
+	}
+
+	return Result;
+}
+
+/*!
+	Retreive the global details of this ACM driver
+
+	\param a_DriverDetail will be filled with all the corresponding data
+*/
+inline DWORD ACM::OnDriverDetails(const HDRVR hdrvr, LPACMDRIVERDETAILS a_DriverDetail)
+{
+	if (my_hIcon == NULL)
+		my_hIcon = LoadIcon(GetDriverModuleHandle(hdrvr), MAKEINTRESOURCE(IDI_ICON));
+	a_DriverDetail->hicon       = my_hIcon;
+
+	a_DriverDetail->fccType     = ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC;
+	a_DriverDetail->fccComp     = ACMDRIVERDETAILS_FCCCOMP_UNDEFINED;
+
+	/// \note this is an explicit hack of the FhG values
+	/// \note later it could be a new value when the decoding is done
+	a_DriverDetail->wMid        = MM_FRAUNHOFER_IIS;
+	a_DriverDetail->wPid        = MM_FHGIIS_MPEGLAYER3;
+
+	a_DriverDetail->vdwACM      = VERSION_MSACM;
+	a_DriverDetail->vdwDriver   = VERSION_ACM_DRIVER;
+	a_DriverDetail->fdwSupport  = ACMDRIVERDETAILS_SUPPORTF_CODEC;
+	a_DriverDetail->cFormatTags = FORMAT_TAG_MAX_NB; // 2 : MP3 and PCM
+//	a_DriverDetail->cFormatTags = 1; // 2 : MP3 and PCM
+	a_DriverDetail->cFilterTags = FILTER_TAG_MAX_NB;
+
+	lstrcpyW( a_DriverDetail->szShortName, L"LAME MP3" );
+	char tmpStr[128];
+	wsprintf(tmpStr, "LAME MP3 Codec v%s", GetVersionString());
+	int u = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, tmpStr, -1, a_DriverDetail->szLongName, 0);
+	MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, tmpStr, -1, a_DriverDetail->szLongName, u);
+	lstrcpyW( a_DriverDetail->szCopyright, L"2002 Steve Lhomme" );
+	lstrcpyW( a_DriverDetail->szLicensing, L"LGPL (see gnu.org)" );
+	/// \todo update this part when the code changes
+	lstrcpyW( a_DriverDetail->szFeatures , L"only CBR implementation" );
+
+    return MMSYSERR_NOERROR;  // Can also return DRVCNF_CANCEL
+}
+
+/*!
+	Suggest an output format for the specified input format
+
+	\param a_FormatSuggest will be filled with all the corresponding data
+*/
+inline DWORD ACM::OnFormatSuggest(LPACMDRVFORMATSUGGEST a_FormatSuggest)
+{
+	DWORD Result = MMSYSERR_NOTSUPPORTED;
+    DWORD fdwSuggest = (ACM_FORMATSUGGESTF_TYPEMASK & a_FormatSuggest->fdwSuggest);
+
+my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest %s%s%s%s (0x%08X)",
+				 (fdwSuggest & ACM_FORMATSUGGESTF_NCHANNELS) ? "channels, ":"",
+				 (fdwSuggest & ACM_FORMATSUGGESTF_NSAMPLESPERSEC) ? "samples/sec, ":"",
+				 (fdwSuggest & ACM_FORMATSUGGESTF_WBITSPERSAMPLE) ? "bits/sample, ":"",
+				 (fdwSuggest & ACM_FORMATSUGGESTF_WFORMATTAG) ? "format, ":"",
+				 fdwSuggest);
+
+my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest for source format = 0x%04X, channels = %d, Samples/s = %d, AvgB/s = %d, BlockAlign = %d, b/sample = %d",
+				 a_FormatSuggest->pwfxSrc->wFormatTag,
+				 a_FormatSuggest->pwfxSrc->nChannels,
+				 a_FormatSuggest->pwfxSrc->nSamplesPerSec,
+				 a_FormatSuggest->pwfxSrc->nAvgBytesPerSec,
+				 a_FormatSuggest->pwfxSrc->nBlockAlign,
+				 a_FormatSuggest->pwfxSrc->wBitsPerSample);
+
+my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggested destination format = 0x%04X, channels = %d, Samples/s = %d, AvgB/s = %d, BlockAlign = %d, b/sample = %d",
+			 a_FormatSuggest->pwfxDst->wFormatTag,
+			 a_FormatSuggest->pwfxDst->nChannels,
+			 a_FormatSuggest->pwfxDst->nSamplesPerSec,
+			 a_FormatSuggest->pwfxDst->nAvgBytesPerSec,
+			 a_FormatSuggest->pwfxDst->nBlockAlign,
+			 a_FormatSuggest->pwfxDst->wBitsPerSample);
+
+	switch (a_FormatSuggest->pwfxSrc->wFormatTag)
+	{
+        case WAVE_FORMAT_PCM:
+			/// \todo handle here the decoding ?
+			my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest for PCM source");
+            //
+			//  if the destination format tag is restricted, verify that
+			//  it is within our capabilities...
+			//
+			//  this driver is able to decode to PCM
+			//
+			if (ACM_FORMATSUGGESTF_WFORMATTAG & fdwSuggest)
+            {
+                if (PERSONAL_FORMAT != a_FormatSuggest->pwfxDst->wFormatTag)
+                    return (ACMERR_NOTPOSSIBLE);
+            }
+            else
+			{
+                a_FormatSuggest->pwfxDst->wFormatTag = PERSONAL_FORMAT;
+            }
+
+
+my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed A");
+            //
+			//  if the destination channel count is restricted, verify that
+			//  it is within our capabilities...
+			//
+			//  this driver is not able to change the number of channels
+			//
+			if (ACM_FORMATSUGGESTF_NCHANNELS & fdwSuggest)
+            {
+                if (a_FormatSuggest->pwfxSrc->nChannels != a_FormatSuggest->pwfxDst->nChannels)
+                    return (ACMERR_NOTPOSSIBLE);
+            }
+            else
+			{
+                a_FormatSuggest->pwfxDst->nChannels = a_FormatSuggest->pwfxSrc->nChannels;
+            }
+
+			if (a_FormatSuggest->pwfxSrc->nChannels != 1 && a_FormatSuggest->pwfxSrc->nChannels != 2)
+				return MMSYSERR_INVALPARAM;
+
+
+my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed B");
+            //
+			//  if the destination samples per second is restricted, verify
+			//  that it is within our capabilities...
+			//
+			//  this driver is not able to change the sample rate
+			//
+			if (ACM_FORMATSUGGESTF_NSAMPLESPERSEC & fdwSuggest)
+            {
+                if (a_FormatSuggest->pwfxSrc->nSamplesPerSec != a_FormatSuggest->pwfxDst->nSamplesPerSec)
+                    return (ACMERR_NOTPOSSIBLE);
+            }
+            else
+			{
+                a_FormatSuggest->pwfxDst->nSamplesPerSec = a_FormatSuggest->pwfxSrc->nSamplesPerSec;
+            }
+
+
+my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed C");
+            //
+			//  if the destination bits per sample is restricted, verify
+			//  that it is within our capabilities...
+			//
+			//  We prefer decoding to 16-bit PCM.
+			//
+			if (ACM_FORMATSUGGESTF_WBITSPERSAMPLE & fdwSuggest)
+            {
+                if ( (16 != a_FormatSuggest->pwfxDst->wBitsPerSample) && (8 != a_FormatSuggest->pwfxDst->wBitsPerSample) )
+                    return (ACMERR_NOTPOSSIBLE);
+            }
+            else
+			{
+                a_FormatSuggest->pwfxDst->wBitsPerSample = 16;
+            }
+
+			//			a_FormatSuggest->pwfxDst->nBlockAlign = FORMAT_BLOCK_ALIGN;
+			a_FormatSuggest->pwfxDst->nBlockAlign = a_FormatSuggest->pwfxDst->nChannels * a_FormatSuggest->pwfxDst->wBitsPerSample / 8;
+			
+			a_FormatSuggest->pwfxDst->nAvgBytesPerSec = a_FormatSuggest->pwfxDst->nChannels * 64000 / 8;
+
+			my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed");
+			Result = MMSYSERR_NOERROR;
+
+
+			break;
+		case PERSONAL_FORMAT:
+			my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest for PERSONAL source");
+            //
+			//  if the destination format tag is restricted, verify that
+			//  it is within our capabilities...
+			//
+			//  this driver is able to decode to PCM
+			//
+			if (ACM_FORMATSUGGESTF_WFORMATTAG & fdwSuggest)
+            {
+                if (WAVE_FORMAT_PCM != a_FormatSuggest->pwfxDst->wFormatTag)
+                    return (ACMERR_NOTPOSSIBLE);
+            }
+            else
+			{
+                a_FormatSuggest->pwfxDst->wFormatTag = WAVE_FORMAT_PCM;
+            }
+
+
+            //
+			//  if the destination channel count is restricted, verify that
+			//  it is within our capabilities...
+			//
+			//  this driver is not able to change the number of channels
+			//
+			if (ACM_FORMATSUGGESTF_NCHANNELS & fdwSuggest)
+            {
+                if (a_FormatSuggest->pwfxSrc->nChannels != a_FormatSuggest->pwfxDst->nChannels)
+                    return (ACMERR_NOTPOSSIBLE);
+            }
+            else
+			{
+                a_FormatSuggest->pwfxDst->nChannels = a_FormatSuggest->pwfxSrc->nChannels;
+            }
+
+
+            //
+			//  if the destination samples per second is restricted, verify
+			//  that it is within our capabilities...
+			//
+			//  this driver is not able to change the sample rate
+			//
+			if (ACM_FORMATSUGGESTF_NSAMPLESPERSEC & fdwSuggest)
+            {
+                if (a_FormatSuggest->pwfxSrc->nSamplesPerSec != a_FormatSuggest->pwfxDst->nSamplesPerSec)
+                    return (ACMERR_NOTPOSSIBLE);
+            }
+            else
+			{
+                a_FormatSuggest->pwfxDst->nSamplesPerSec = a_FormatSuggest->pwfxSrc->nSamplesPerSec;
+            }
+
+
+            //
+			//  if the destination bits per sample is restricted, verify
+			//  that it is within our capabilities...
+			//
+			//  We prefer decoding to 16-bit PCM.
+			//
+			if (ACM_FORMATSUGGESTF_WBITSPERSAMPLE & fdwSuggest)
+            {
+                if ( (16 != a_FormatSuggest->pwfxDst->wBitsPerSample) && (8 != a_FormatSuggest->pwfxDst->wBitsPerSample) )
+                    return (ACMERR_NOTPOSSIBLE);
+            }
+            else
+			{
+                a_FormatSuggest->pwfxDst->wBitsPerSample = 16;
+            }
+
+			//			a_FormatSuggest->pwfxDst->nBlockAlign = FORMAT_BLOCK_ALIGN;
+			a_FormatSuggest->pwfxDst->nBlockAlign = a_FormatSuggest->pwfxDst->nChannels * a_FormatSuggest->pwfxDst->wBitsPerSample / 8;
+			
+			/// \todo this value must be a correct one !
+			a_FormatSuggest->pwfxDst->nAvgBytesPerSec = a_FormatSuggest->pwfxDst->nSamplesPerSec * a_FormatSuggest->pwfxDst->nChannels * a_FormatSuggest->pwfxDst->wBitsPerSample / 8;
+
+			my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggest succeed");
+			Result = MMSYSERR_NOERROR;
+
+
+			break;
+	}
+
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Suggested destination format = 0x%04X, channels = %d, Samples/s = %d, AvgB/s = %d, BlockAlign = %d, b/sample = %d",
+				 a_FormatSuggest->pwfxDst->wFormatTag,
+				 a_FormatSuggest->pwfxDst->nChannels,
+				 a_FormatSuggest->pwfxDst->nSamplesPerSec,
+				 a_FormatSuggest->pwfxDst->nAvgBytesPerSec,
+				 a_FormatSuggest->pwfxDst->nBlockAlign,
+				 a_FormatSuggest->pwfxDst->wBitsPerSample);
+
+	return Result;
+}
+
+/*!
+	Create a stream instance for decoding/encoding
+
+	\param a_StreamInstance contain information about the stream desired
+*/
+inline DWORD ACM::OnStreamOpen(LPACMDRVSTREAMINSTANCE a_StreamInstance)
+{
+	DWORD Result = ACMERR_NOTPOSSIBLE;
+
+	//
+	//  the most important condition to check before doing anything else
+	//  is that this ACM driver can actually perform the conversion we are
+	//  being opened for. this check should fail as quickly as possible
+	//  if the conversion is not possible by this driver.
+	//
+	//  it is VERY important to fail quickly so the ACM can attempt to
+	//  find a driver that is suitable for the conversion. also note that
+	//  the ACM may call this driver several times with slightly different
+	//  format specifications before giving up.
+	//
+	//  this driver first verifies that the source and destination formats
+	//  are acceptable...
+	//
+	switch (a_StreamInstance->pwfxSrc->wFormatTag)
+	{
+        case WAVE_FORMAT_PCM:
+			my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream for PCM source (%05d samples %d channels %d bits/sample)",a_StreamInstance->pwfxSrc->nSamplesPerSec,a_StreamInstance->pwfxSrc->nChannels,a_StreamInstance->pwfxSrc->wBitsPerSample);
+			if (a_StreamInstance->pwfxDst->wFormatTag == PERSONAL_FORMAT)
+			{
+				unsigned int OutputFrequency;
+
+				/// \todo Smart mode
+				if (my_EncodingProperties.GetSmartOutputMode())
+					OutputFrequency = ACMStream::GetOutputSampleRate(a_StreamInstance->pwfxSrc->nSamplesPerSec,a_StreamInstance->pwfxDst->nAvgBytesPerSec,a_StreamInstance->pwfxDst->nChannels);
+				else
+					OutputFrequency = a_StreamInstance->pwfxSrc->nSamplesPerSec;
+
+				my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream for PERSONAL output (%05d samples %d channels %d bits/sample %d kbps)",a_StreamInstance->pwfxDst->nSamplesPerSec,a_StreamInstance->pwfxDst->nChannels,a_StreamInstance->pwfxDst->wBitsPerSample,8 * a_StreamInstance->pwfxDst->nAvgBytesPerSec);
+
+				/// \todo add the possibility to have channel resampling (mono to stereo / stereo to mono)
+				/// \todo support resampling ?
+				/// \todo only do the test on OutputFrequency in "Smart Output" mode
+				if (a_StreamInstance->pwfxDst->nSamplesPerSec != OutputFrequency ||
+//					a_StreamInstance->pwfxSrc->nSamplesPerSec != a_StreamInstance->pwfxDst->nSamplesPerSec ||
+					a_StreamInstance->pwfxSrc->nChannels != a_StreamInstance->pwfxDst->nChannels ||
+					a_StreamInstance->pwfxSrc->wBitsPerSample != 16)
+				{
+					Result = ACMERR_NOTPOSSIBLE;
+				} else {
+					if ((a_StreamInstance->fdwOpen & ACM_STREAMOPENF_QUERY) == 0)
+					{
+						ACMStream * the_stream = ACMStream::Create();
+						a_StreamInstance->dwInstance = (DWORD) the_stream;
+
+						if (the_stream != NULL)
+						{
+							MPEGLAYER3WAVEFORMAT * casted = (MPEGLAYER3WAVEFORMAT *) a_StreamInstance->pwfxDst;
+							vbr_mode a_mode = (casted->fdwFlags-2 == 0)?vbr_abr:vbr_off;
+							if (the_stream->init(a_StreamInstance->pwfxDst->nSamplesPerSec,
+												 OutputFrequency,
+												 a_StreamInstance->pwfxDst->nChannels,
+												 a_StreamInstance->pwfxDst->nAvgBytesPerSec,
+												 a_mode))
+								Result = MMSYSERR_NOERROR;
+							else
+								ACMStream::Erase( the_stream );
+						}
+					}
+					else
+					{
+						Result = MMSYSERR_NOERROR;
+					}
+				}
+			}
+			break;
+		case PERSONAL_FORMAT:
+			my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream for PERSONAL source (%05d samples %d channels %d bits/sample %d kbps)",a_StreamInstance->pwfxSrc->nSamplesPerSec,a_StreamInstance->pwfxSrc->nChannels,a_StreamInstance->pwfxSrc->wBitsPerSample,8 * a_StreamInstance->pwfxSrc->nAvgBytesPerSec);
+			if (a_StreamInstance->pwfxDst->wFormatTag == WAVE_FORMAT_PCM)
+			{
+#ifdef ENABLE_DECODING
+				if ((a_StreamInstance->fdwOpen & ACM_STREAMOPENF_QUERY) == 0)
+				{
+					/// \todo create the decoding stream
+					my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream for PCM output (%05d samples %d channels %d bits/sample %d B/s)",a_StreamInstance->pwfxDst->nSamplesPerSec,a_StreamInstance->pwfxDst->nChannels,a_StreamInstance->pwfxDst->wBitsPerSample,a_StreamInstance->pwfxDst->nAvgBytesPerSec);
+
+					DecodeStream * the_stream = DecodeStream::Create();
+					a_StreamInstance->dwInstance = (DWORD) the_stream;
+
+					if (the_stream != NULL)
+					{
+						if (the_stream->init(a_StreamInstance->pwfxDst->nSamplesPerSec,
+											 a_StreamInstance->pwfxDst->nChannels,
+											 a_StreamInstance->pwfxDst->nAvgBytesPerSec,
+											 a_StreamInstance->pwfxSrc->nAvgBytesPerSec))
+							Result = MMSYSERR_NOERROR;
+						else
+							DecodeStream::Erase( the_stream );
+					}
+				}
+				else
+				{
+					/// \todo decoding verification
+					my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream is valid");
+					Result = MMSYSERR_NOERROR;
+				}
+#endif // ENABLE_DECODING
+			}
+			break;
+	}
+
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Open stream Result = %d",Result);
+	return Result;
+}
+
+inline DWORD ACM::OnStreamSize(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMSIZE the_StreamSize)
+{
+	DWORD Result = ACMERR_NOTPOSSIBLE;
+
+    switch (ACM_STREAMSIZEF_QUERYMASK & the_StreamSize->fdwSize)
+    {
+	case ACM_STREAMSIZEF_DESTINATION:
+		my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Get source buffer size for destination size = %d",the_StreamSize->cbDstLength);
+		break;
+	case ACM_STREAMSIZEF_SOURCE:
+		my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "Get destination buffer size for source size = %d",the_StreamSize->cbSrcLength);
+        if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag &&
+			PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag)
+        {
+			ACMStream * the_stream = (ACMStream *) a_StreamInstance->dwInstance;
+			if (the_stream != NULL)
+			{
+				the_StreamSize->cbDstLength = the_stream->GetOutputSizeForInput(the_StreamSize->cbSrcLength);
+				Result = MMSYSERR_NOERROR;
+			}
+		}
+        else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag &&
+			 WAVE_FORMAT_PCM== a_StreamInstance->pwfxDst->wFormatTag)
+		{
+#ifdef ENABLE_DECODING
+			DecodeStream * the_stream = (DecodeStream *) a_StreamInstance->dwInstance;
+			if (the_stream != NULL)
+			{
+				the_StreamSize->cbDstLength = the_stream->GetOutputSizeForInput(the_StreamSize->cbSrcLength);
+				Result = MMSYSERR_NOERROR;
+			}
+#endif // ENABLE_DECODING
+		}
+		break;
+	default:
+		Result = MMSYSERR_INVALFLAG;
+		break;
+	}
+
+	return Result;
+}
+
+inline DWORD ACM::OnStreamClose(LPACMDRVSTREAMINSTANCE a_StreamInstance)
+{
+	DWORD Result = ACMERR_NOTPOSSIBLE;
+
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnStreamClose the stream 0x%X",a_StreamInstance->dwInstance);
+    if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag &&
+		PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag)
+    {
+	ACMStream::Erase( (ACMStream *) a_StreamInstance->dwInstance );
+	}
+    else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag &&
+		 WAVE_FORMAT_PCM== a_StreamInstance->pwfxDst->wFormatTag)
+    {
+#ifdef ENABLE_DECODING
+		DecodeStream::Erase( (DecodeStream *) a_StreamInstance->dwInstance );
+#endif // ENABLE_DECODING
+	}
+
+	// nothing to do yet
+	Result = MMSYSERR_NOERROR;
+
+	return Result;
+}
+
+inline DWORD ACM::OnStreamPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader)
+{
+	DWORD Result = ACMERR_NOTPOSSIBLE;
+
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "  prepare : Src : %d (0x%08X) / %d - Dst : %d (0x%08X) / %d"
+												, a_StreamHeader->cbSrcLength
+												, a_StreamHeader->pbSrc
+												, a_StreamHeader->cbSrcLengthUsed
+												, a_StreamHeader->cbDstLength
+												, a_StreamHeader->pbDst
+												, a_StreamHeader->cbDstLengthUsed
+											  );
+
+	if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag &&
+		PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag)
+	{
+		ACMStream * the_stream = (ACMStream *)a_StreamInstance->dwInstance;
+		
+		if (the_stream->open(my_EncodingProperties))
+			Result = MMSYSERR_NOERROR;
+	}
+	else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag &&
+		     WAVE_FORMAT_PCM == a_StreamInstance->pwfxDst->wFormatTag)
+	{
+#ifdef ENABLE_DECODING
+		DecodeStream * the_stream = (DecodeStream *)a_StreamInstance->dwInstance;
+		
+		if (the_stream->open())
+			Result = MMSYSERR_NOERROR;
+#endif // ENABLE_DECODING
+	}
+
+	return Result;
+}
+
+inline DWORD ACM::OnStreamUnPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader)
+{
+	DWORD Result = ACMERR_NOTPOSSIBLE;
+
+	my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "unprepare : Src : %d / %d - Dst : %d / %d"
+											, a_StreamHeader->cbSrcLength
+											, a_StreamHeader->cbSrcLengthUsed
+											, a_StreamHeader->cbDstLength
+											, a_StreamHeader->cbDstLengthUsed
+											);
+    if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag &&
+		PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag)
+    {
+	ACMStream * the_stream = (ACMStream *)a_StreamInstance->dwInstance;
+	DWORD OutputSize = a_StreamHeader->cbDstLength;
+	
+	if (the_stream->close(a_StreamHeader->pbDst, &OutputSize) && (OutputSize <= a_StreamHeader->cbDstLength))
+	{
+		a_StreamHeader->cbDstLengthUsed = OutputSize;
+			Result = MMSYSERR_NOERROR;
+		}
+	}
+    else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag &&
+		 WAVE_FORMAT_PCM== a_StreamInstance->pwfxDst->wFormatTag)
+    {
+#ifdef ENABLE_DECODING
+		DecodeStream * the_stream = (DecodeStream *)a_StreamInstance->dwInstance;
+		DWORD OutputSize = a_StreamHeader->cbDstLength;
+		
+		if (the_stream->close(a_StreamHeader->pbDst, &OutputSize) && (OutputSize <= a_StreamHeader->cbDstLength))
+		{
+			a_StreamHeader->cbDstLengthUsed = OutputSize;
+			Result = MMSYSERR_NOERROR;
+	}
+#endif // ENABLE_DECODING
+	}
+
+	return Result;
+}
+
+inline DWORD ACM::OnStreamConvert(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMHEADER a_StreamHeader)
+{
+	DWORD Result = ACMERR_NOTPOSSIBLE;
+
+	if (WAVE_FORMAT_PCM == a_StreamInstance->pwfxSrc->wFormatTag &&
+		PERSONAL_FORMAT == a_StreamInstance->pwfxDst->wFormatTag)
+	{
+		my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnStreamConvert SRC = PCM (encode)");
+
+		ACMStream * the_stream = (ACMStream *) a_StreamInstance->dwInstance;
+		if (the_stream != NULL)
+		{
+			if (the_stream->ConvertBuffer( a_StreamHeader ))
+				Result = MMSYSERR_NOERROR;
+		}
+	}
+	else if (PERSONAL_FORMAT == a_StreamInstance->pwfxSrc->wFormatTag &&
+		     WAVE_FORMAT_PCM == a_StreamInstance->pwfxDst->wFormatTag)
+	{
+		my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnStreamConvert SRC = MP3 (decode)");
+
+#ifdef ENABLE_DECODING
+		DecodeStream * the_stream = (DecodeStream *) a_StreamInstance->dwInstance;
+		if (the_stream != NULL)
+		{
+			if (the_stream->ConvertBuffer( a_StreamHeader ))
+				Result = MMSYSERR_NOERROR;
+		}
+#endif // ENABLE_DECODING
+	}
+	else
+		my_debug.OutPut(DEBUG_LEVEL_FUNC_CODE, "OnStreamConvert unsupported conversion");
+
+	return Result;
+}
+
+
+void ACM::GetMP3FormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const
+{
+	int Block_size;
+    char temp[ACMFORMATDETAILS_FORMAT_CHARS];
+
+
+	if (the_Index < bitrate_table.size())
+	{
+	//	the_Format.wBitsPerSample = 16;
+		the_Format.wBitsPerSample = 0;
+	
+		/// \todo handle more channel modes (mono, stereo, joint-stereo, dual-channel)
+	//	the_Format.nChannels = SIZE_CHANNEL_MODE - int(the_Index % SIZE_CHANNEL_MODE);
+	
+		the_Format.nBlockAlign = 1;
+
+		the_Format.nSamplesPerSec = bitrate_table[the_Index].frequency;
+		the_Format.nAvgBytesPerSec = bitrate_table[the_Index].bitrate * 1000 / 8;
+		if (bitrate_table[the_Index].frequency >= mpeg1_freq[SIZE_FREQ_MPEG1-1])
+			Block_size = 1152;
+		else
+			Block_size = 576;
+	
+		the_Format.nChannels = bitrate_table[the_Index].channels;
+
+		the_Format.cbSize = sizeof(MPEGLAYER3WAVEFORMAT) - sizeof(WAVEFORMATEX);
+		MPEGLAYER3WAVEFORMAT * tmpFormat = (MPEGLAYER3WAVEFORMAT *) &the_Format;
+		tmpFormat->wID             = 1;
+		// this is the only way I found to know if we do CBR or ABR
+		tmpFormat->fdwFlags        = 2 + ((bitrate_table[the_Index].mode == vbr_abr)?0:2);
+		tmpFormat->nBlockSize      = Block_size * the_Format.nAvgBytesPerSec / the_Format.nSamplesPerSec;
+		tmpFormat->nFramesPerBlock = 1;
+		tmpFormat->nCodecDelay     = 0; // 0x0571 on FHG
+	
+         /// \todo : generate the string with the appropriate stereo mode
+         if (bitrate_table[the_Index].mode == vbr_abr)
+             wsprintfA( temp, "%d Hz, %d kbps ABR, %s", the_Format.nSamplesPerSec, the_Format.nAvgBytesPerSec * 8 / 1000, (the_Format.nChannels == 1)?"Mono":"Stereo");
+         else
+             wsprintfA( temp, "%d Hz, %d kbps CBR, %s", the_Format.nSamplesPerSec, the_Format.nAvgBytesPerSec * 8 / 1000, (the_Format.nChannels == 1)?"Mono":"Stereo");
+
+         MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, temp, -1, the_String, ACMFORMATDETAILS_FORMAT_CHARS);
+     }
+ }
+
+void ACM::GetPCMFormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const
+{
+	the_Format.nChannels = SIZE_CHANNEL_MODE - int(the_Index % SIZE_CHANNEL_MODE);
+	the_Format.wBitsPerSample = 16;
+	the_Format.nBlockAlign = the_Format.nChannels * the_Format.wBitsPerSample / 8;
+
+
+	DWORD a_Channel_Independent = the_Index / SIZE_CHANNEL_MODE;
+
+	// first MPEG1 frequencies
+	if (a_Channel_Independent < SIZE_FREQ_MPEG1)
+	{
+		the_Format.nSamplesPerSec = mpeg1_freq[a_Channel_Independent];
+	}
+	else
+	{
+		a_Channel_Independent -= SIZE_FREQ_MPEG1;
+		the_Format.nSamplesPerSec = mpeg2_freq[a_Channel_Independent];
+	}
+
+	the_Format.nAvgBytesPerSec = the_Format.nSamplesPerSec * the_Format.nChannels * the_Format.wBitsPerSample / 8;
+}
+
+DWORD ACM::GetNumberEncodingFormats() const
+{
+	return bitrate_table.size();
+}
+
+bool ACM::IsSmartOutput(const int frequency, const int bitrate, const int channels) const
+{
+	double compression_ratio = double(frequency * 2 * channels) / double(bitrate * 100);
+
+//my_debug.OutPut(DEBUG_LEVEL_FUNC_DEBUG, "compression_ratio %f, freq %d, bitrate %d, channels %d", compression_ratio, frequency, bitrate, channels);
+
+	if(my_EncodingProperties.GetSmartOutputMode())
+		return (compression_ratio <= my_EncodingProperties.GetSmartRatio());
+	else return true;
+}
+
+void ACM::BuildBitrateTable()
+{
+	my_debug.OutPut("entering BuildBitrateTable");
+
+	// fill the table
+	unsigned int channel,bitrate,freq;
+	
+	bitrate_table.clear();
+
+	// CBR bitrates
+	for (channel = 0;channel < SIZE_CHANNEL_MODE;channel++)
+	{
+		// MPEG I
+		for (freq = 0;freq < SIZE_FREQ_MPEG1;freq++)
+		{
+			for (bitrate = 0;bitrate < SIZE_BITRATE_MPEG1;bitrate++)
+			{
+
+				if (!my_EncodingProperties.GetSmartOutputMode() || IsSmartOutput(mpeg1_freq[freq], mpeg1_bitrate[bitrate], channel+1))
+				{
+					bitrate_item bitrate_table_tmp;
+					
+					bitrate_table_tmp.frequency = mpeg1_freq[freq];
+					bitrate_table_tmp.bitrate = mpeg1_bitrate[bitrate];
+					bitrate_table_tmp.channels = channel+1;
+					bitrate_table_tmp.mode = vbr_off;
+					bitrate_table.push_back(bitrate_table_tmp);
+				}
+			}
+		}
+		// MPEG II / II.5
+		for (freq = 0;freq < SIZE_FREQ_MPEG2;freq++)
+		{
+			for (bitrate = 0;bitrate < SIZE_BITRATE_MPEG2;bitrate++)
+			{
+				if (!my_EncodingProperties.GetSmartOutputMode() || IsSmartOutput(mpeg2_freq[freq], mpeg2_bitrate[bitrate], channel+1))
+				{
+					bitrate_item bitrate_table_tmp;
+
+                                        bitrate_table_tmp.frequency = mpeg2_freq[freq];
+					bitrate_table_tmp.bitrate = mpeg2_bitrate[bitrate];
+					bitrate_table_tmp.channels = channel+1;
+					bitrate_table_tmp.mode = vbr_abr;
+					bitrate_table.push_back(bitrate_table_tmp);
+				}
+			}
+		}
+	}
+
+	if (my_EncodingProperties.GetAbrOutputMode())
+	// ABR bitrates
+	{
+		for (channel = 0;channel < SIZE_CHANNEL_MODE;channel++)
+		{
+			// MPEG I
+			for (freq = 0;freq < SIZE_FREQ_MPEG1;freq++)
+			{
+				for (bitrate = my_EncodingProperties.GetAbrBitrateMax();
+					   bitrate >= my_EncodingProperties.GetAbrBitrateMin(); 
+				     bitrate -= my_EncodingProperties.GetAbrBitrateStep())
+				{
+					if (bitrate >= mpeg1_bitrate[SIZE_BITRATE_MPEG1-1] && (!my_EncodingProperties.GetSmartOutputMode() || IsSmartOutput(mpeg1_freq[freq], bitrate, channel+1)))
+					{
+						bitrate_item bitrate_table_tmp;
+						
+						bitrate_table_tmp.frequency = mpeg1_freq[freq];
+						bitrate_table_tmp.bitrate = bitrate;
+						bitrate_table_tmp.channels = channel+1;
+						bitrate_table_tmp.mode = vbr_abr;
+						bitrate_table.push_back(bitrate_table_tmp);
+					}
+				}
+			}
+			// MPEG II / II.5
+			for (freq = 0;freq < SIZE_FREQ_MPEG2;freq++)
+			{
+				for (bitrate = my_EncodingProperties.GetAbrBitrateMax();
+					   bitrate >= my_EncodingProperties.GetAbrBitrateMin(); 
+				     bitrate -= my_EncodingProperties.GetAbrBitrateStep())
+				{
+					if (bitrate >= mpeg2_bitrate[SIZE_BITRATE_MPEG2-1] && (!my_EncodingProperties.GetSmartOutputMode() || IsSmartOutput(mpeg2_freq[freq], bitrate, channel+1)))
+					{
+						bitrate_item bitrate_table_tmp;
+						
+						bitrate_table_tmp.frequency = mpeg2_freq[freq];
+						bitrate_table_tmp.bitrate = bitrate;
+						bitrate_table_tmp.channels = channel+1;
+						bitrate_table_tmp.mode = vbr_abr;
+						bitrate_table.push_back(bitrate_table_tmp);
+					}
+				}
+			}
+		}
+	}
+
+	// sorting by frequency/bitrate/channel
+	std::sort(bitrate_table.begin(), bitrate_table.end());
+
+/*	{
+		// display test
+		int i=0;
+		for (i=0; i<bitrate_table.size();i++)
+		{
+			my_debug.OutPut("bitrate_table[%d].frequency = %d",i,bitrate_table[i].frequency);
+			my_debug.OutPut("bitrate_table[%d].bitrate = %d",i,bitrate_table[i].bitrate);
+			my_debug.OutPut("bitrate_table[%d].channel = %d",i,bitrate_table[i].channels);
+			my_debug.OutPut("bitrate_table[%d].ABR = %s\n",i,(bitrate_table[i].mode == vbr_abr)?"ABR":"CBR");
+		}
+	}*/
+
+	my_debug.OutPut("leaving BuildBitrateTable");
+}

+ 101 - 0
ACM/ACM.h

@@ -0,0 +1,101 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(_ACM_H__INCLUDED_)
+#define _ACM_H__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#include <vector>
+
+#include <windows.h>
+#include <mmsystem.h>
+#include <mmreg.h>
+#include <msacm.h>
+#include <msacmdrv.h>
+
+
+#include "ADbg/ADbg.h"
+
+class AEncodeProperties;
+
+typedef enum vbr_mode_e vbr_mode;
+
+class bitrate_item {
+	public:
+		unsigned int frequency;
+		unsigned int bitrate;
+		unsigned int channels;
+		vbr_mode     mode;
+	
+		bool operator<(const bitrate_item & bitrate) const;
+};
+
+class ACM  
+{
+public:
+	ACM( HMODULE hModule );
+	virtual ~ACM();
+
+	LONG DriverProcedure(const HDRVR hdrvr, const UINT msg, LONG lParam1, LONG lParam2);
+
+	static const char * GetVersionString(void) {return VersionString;}
+
+protected:
+//	inline DWORD Configure( HWND hParentWindow, LPDRVCONFIGINFO pConfig );
+	inline DWORD About( HWND hParentWindow );
+
+	inline DWORD OnDriverDetails(const HDRVR hdrvr, LPACMDRIVERDETAILS a_DriverDetail);
+	inline DWORD OnFormatTagDetails(LPACMFORMATTAGDETAILS a_FormatTagDetails, const LPARAM a_Query);
+	inline DWORD OnFormatDetails(LPACMFORMATDETAILS a_FormatDetails, const LPARAM a_Query);
+	inline DWORD OnFormatSuggest(LPACMDRVFORMATSUGGEST a_FormatSuggest);
+	inline DWORD OnStreamOpen(LPACMDRVSTREAMINSTANCE a_StreamInstance);
+	inline DWORD OnStreamClose(LPACMDRVSTREAMINSTANCE a_StreamInstance);
+	inline DWORD OnStreamSize(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMSIZE the_StreamSize);
+	inline DWORD OnStreamPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader);
+	inline DWORD OnStreamUnPrepareHeader(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMSTREAMHEADER a_StreamHeader);
+	inline DWORD OnStreamConvert(LPACMDRVSTREAMINSTANCE a_StreamInstance, LPACMDRVSTREAMHEADER a_StreamHeader);
+
+	void GetMP3FormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const;
+	void GetPCMFormatForIndex(const DWORD the_Index, WAVEFORMATEX & the_Format, unsigned short the_String[ACMFORMATDETAILS_FORMAT_CHARS]) const;
+	DWORD GetNumberEncodingFormats() const;
+	bool IsSmartOutput(const int frequency, const int bitrate, const int channels) const;
+	void BuildBitrateTable();
+
+	HMODULE my_hModule;
+	HICON   my_hIcon;
+	ADbg    my_debug;
+	AEncodeProperties my_EncodingProperties;
+	std::vector<bitrate_item> bitrate_table;
+
+	static char VersionString[120];
+};
+
+#endif // !defined(_ACM_H__INCLUDED_)
+

+ 397 - 0
ACM/ACMStream.cpp

@@ -0,0 +1,397 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(STRICT)
+#define STRICT
+#endif // STRICT
+
+#include <assert.h>
+#include <windows.h>
+
+#include "adebug.h"
+
+#include "ACMStream.h"
+
+#include <lame.h>
+
+// static methods
+
+ACMStream * ACMStream::Create()
+{
+	ACMStream * Result;
+
+	Result = new ACMStream;
+
+	return Result;
+}
+
+const bool ACMStream::Erase(const ACMStream * a_ACMStream)
+{
+	delete a_ACMStream;
+	return true;
+}
+
+// class methods
+
+ACMStream::ACMStream() :
+ m_WorkingBufferUseSize(0),
+ gfp(NULL)
+{
+	 /// \todo get the debug level from the registry
+my_debug = new ADbg(DEBUG_LEVEL_CREATION);
+	if (my_debug != NULL) {
+		unsigned char DebugFileName[512];
+
+		my_debug->setPrefix("LAMEstream"); /// \todo get it from the registry
+my_debug->setIncludeTime(true);  /// \todo get it from the registry
+
+// Check in the registry if we have to Output Debug information
+DebugFileName[0] = '\0';
+
+		HKEY OssKey;
+		if (RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI", 0, KEY_READ , &OssKey ) == ERROR_SUCCESS) {
+			DWORD DataType;
+			DWORD DebugFileNameSize = 512;
+			if (RegQueryValueEx( OssKey, "DebugFile", NULL, &DataType, DebugFileName, &DebugFileNameSize ) == ERROR_SUCCESS) {
+				if (DataType == REG_SZ) {
+					my_debug->setUseFile(true);
+					my_debug->setDebugFile((char *)DebugFileName);
+					my_debug->OutPut("Debug file is %s",(char *)DebugFileName);
+				}
+			}
+		}
+		my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "ACMStream Creation (0X%08X)",this);
+	}
+	else {
+		ADbg debug;
+		debug.OutPut("ACMStream::ACMACMStream : Impossible to create my_debug");
+	}
+
+}
+
+ACMStream::~ACMStream()
+{
+        // release memory - encoding is finished
+	if (gfp) lame_close( gfp );
+
+	if (my_debug != NULL)
+	{
+		my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "ACMStream Deletion (0X%08X)",this);
+		delete my_debug;
+	}
+}
+
+bool ACMStream::init(const int nSamplesPerSec, const int nOutputSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const vbr_mode mode)
+{
+	bool bResult = false;
+
+	my_SamplesPerSec  = nSamplesPerSec;
+	my_OutBytesPerSec = nOutputSamplesPerSec;
+	my_Channels       = nChannels;
+	my_AvgBytesPerSec = nAvgBytesPerSec;
+	my_VBRMode = mode;
+
+	bResult = true;
+
+	return bResult;
+
+}
+
+bool ACMStream::open(const AEncodeProperties & the_Properties)
+{
+	bool bResult = false;
+
+	// Init the MP3 Stream
+	// Init the global flags structure
+	gfp = lame_init();
+
+	// Set input sample frequency
+	lame_set_in_samplerate( gfp, my_SamplesPerSec );
+
+	// Set output sample frequency
+	lame_set_out_samplerate( gfp, my_OutBytesPerSec );
+
+	lame_set_num_channels( gfp, my_Channels );
+	if (my_Channels == 1)
+		lame_set_mode( gfp, MONO );
+	else
+		lame_set_mode( gfp, (MPEG_mode_e)the_Properties.GetChannelModeValue()) ; /// \todo Get the mode from the default configuration
+
+//	lame_set_VBR( gfp, vbr_off ); /// \note VBR not supported for the moment
+	lame_set_VBR( gfp, my_VBRMode ); /// \note VBR not supported for the moment
+	
+	if (my_VBRMode == vbr_abr)
+	{
+		lame_set_VBR_q( gfp, 1 );
+
+		lame_set_VBR_mean_bitrate_kbps( gfp, (my_AvgBytesPerSec * 8 + 500) / 1000 );
+
+		if (24000 > lame_get_in_samplerate( gfp ))
+		{
+			// For MPEG-II
+			lame_set_VBR_min_bitrate_kbps( gfp, 8);
+
+			lame_set_VBR_max_bitrate_kbps( gfp, 160);
+		}
+		else
+		{
+			// For MPEG-I
+			lame_set_VBR_min_bitrate_kbps( gfp, 32);
+
+			lame_set_VBR_max_bitrate_kbps( gfp, 320);
+		}
+	}
+
+	// Set bitrate
+	lame_set_brate( gfp, my_AvgBytesPerSec * 8 / 1000 );
+
+	/// \todo Get the mode from the default configuration
+	// Set copyright flag?
+	lame_set_copyright( gfp, the_Properties.GetCopyrightMode()?1:0 );
+	// Do we have to tag  it as non original 
+	lame_set_original( gfp, the_Properties.GetOriginalMode()?1:0 );
+	// Add CRC?
+	lame_set_error_protection( gfp, the_Properties.GetCRCMode()?1:0 );
+	// Set private bit?
+	lame_set_extension( gfp, the_Properties.GetPrivateMode()?1:0 );
+	// INFO tag support not possible in ACM - it requires rewinding 
+        // output stream to the beginning after encoding is finished.   
+	lame_set_bWriteVbrTag( gfp, 0 );
+
+	if (0 == lame_init_params( gfp ))
+	{
+		//LAME encoding call will accept any number of samples.  
+		if ( 0 == lame_get_version( gfp ) )
+		{
+			// For MPEG-II, only 576 samples per frame per channel
+			my_SamplesPerBlock = 576 * lame_get_num_channels( gfp );
+		}
+		else
+		{
+			// For MPEG-I, 1152 samples per frame per channel
+			my_SamplesPerBlock = 1152 * lame_get_num_channels( gfp );
+		}
+	}
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "version                =%d",lame_get_version( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Layer                  =3");
+	switch ( lame_get_mode( gfp ) )
+	{
+		case STEREO:       my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "mode                   =Stereo" ); break;
+		case JOINT_STEREO: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "mode                   =Joint-Stereo" ); break;
+		case DUAL_CHANNEL: my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "mode                   =Forced Stereo" ); break;
+		case MONO:         my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "mode                   =Mono" ); break;
+		case NOT_SET:      /* FALLTROUGH */
+		default:           my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "mode                   =Error (unknown)" ); break;
+	}
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "sampling frequency     =%.1f kHz", lame_get_in_samplerate( gfp ) /1000.0 );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "bitrate                =%d kbps", lame_get_brate( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Vbr Min bitrate        =%d kbps", lame_get_VBR_min_bitrate_kbps( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Vbr Max bitrate        =%d kbps", lame_get_VBR_max_bitrate_kbps( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Quality Setting        =%d", lame_get_quality( gfp ) );
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Low pass frequency     =%d", lame_get_lowpassfreq( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Low pass width         =%d", lame_get_lowpasswidth( gfp ) );
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "High pass frequency    =%d", lame_get_highpassfreq( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "High pass width        =%d", lame_get_highpasswidth( gfp ) );
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "No Short Blocks        =%d", lame_get_no_short_blocks( gfp ) );
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "de-emphasis            =%d", lame_get_emphasis( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "private flag           =%d", lame_get_extension( gfp ) );
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "copyright flag         =%d", lame_get_copyright( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "original flag          =%d",	lame_get_original( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "CRC                    =%s", lame_get_error_protection( gfp ) ? "on" : "off" );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Fast mode              =%s", ( lame_get_quality( gfp ) )? "enabled" : "disabled" );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Force mid/side stereo  =%s", ( lame_get_force_ms( gfp ) )?"enabled":"disabled" );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Disable Resorvoir      =%d", lame_get_disable_reservoir( gfp ) );
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "VBR                    =%s, VBR_q =%d, VBR method =",
+					( lame_get_VBR( gfp ) !=vbr_off ) ? "enabled": "disabled",
+		            lame_get_VBR_q( gfp ) );
+
+	switch ( lame_get_VBR( gfp ) )
+	{
+		case vbr_off:	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "vbr_off" );	break;
+		case vbr_mt :	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "vbr_mt" );	break;
+		case vbr_rh :	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "vbr_rh" );	break;
+		case vbr_mtrh:	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "vbr_mtrh" );	break;
+		case vbr_abr: 
+			my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG,  "vbr_abr (average bitrate %d kbps)", lame_get_VBR_mean_bitrate_kbps( gfp ) );
+		break;
+		default:
+			my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "error, unknown VBR setting");
+		break;
+	}
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "Write VBR Header       =%s\n", ( lame_get_bWriteVbrTag( gfp ) ) ?"Yes":"No");
+
+#ifdef FROM_DLL
+beConfig.format.LHV1.dwReSampleRate		= my_OutBytesPerSec;	  // force the user resampling
+#endif // FROM_DLL
+
+	bResult = true;
+
+	return bResult;
+}
+
+bool ACMStream::close(LPBYTE pOutputBuffer, DWORD *pOutputSize)
+{
+
+bool bResult = false;
+
+	int nOutputSamples = 0;
+
+    nOutputSamples = lame_encode_flush( gfp, pOutputBuffer, 0 );
+
+	if ( nOutputSamples < 0 )
+	{
+		// BUFFER_TOO_SMALL
+*pOutputSize = 0;
+	}
+	else
+{
+		*pOutputSize = nOutputSamples;
+
+		bResult = true;
+	}
+
+	// lame will be closed in destructor
+        //lame_close( gfp );
+
+	return bResult;
+}
+
+DWORD ACMStream::GetOutputSizeForInput(const DWORD the_SrcLength) const
+{
+/*	double OutputInputRatio;
+
+	if (my_VBRMode == vbr_off)
+		OutputInputRatio = double(my_AvgBytesPerSec) / double(my_OutBytesPerSec * 2);
+	else // reserve the space for 320 kbps
+		OutputInputRatio = 40000.0 / double(my_OutBytesPerSec * 2);
+
+	OutputInputRatio *= 1.15; // allow 15% more*/
+
+    DWORD Result;
+
+//	Result = DWORD(double(the_SrcLength) * OutputInputRatio);
+    Result = DWORD(1.25*the_SrcLength + 7200);
+
+my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "Result = %d",Result);
+
+	return Result;
+}
+
+bool ACMStream::ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader)
+{
+	bool result;
+
+if (my_debug != NULL)
+{
+my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "enter ACMStream::ConvertBuffer");
+}
+
+	DWORD InSize = a_StreamHeader->cbSrcLength / 2, OutSize = a_StreamHeader->cbDstLength; // 2 for 8<->16 bits
+
+// Encode it
+int dwSamples;
+	int nOutputSamples = 0;
+
+	dwSamples = InSize / lame_get_num_channels( gfp );
+
+	if ( 1 == lame_get_num_channels( gfp ) )
+	{
+		nOutputSamples = lame_encode_buffer(gfp,(PSHORT)a_StreamHeader->pbSrc,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength);
+	}
+	else
+	{
+		nOutputSamples = lame_encode_buffer_interleaved(gfp,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength);
+	}
+
+	a_StreamHeader->cbSrcLengthUsed = a_StreamHeader->cbSrcLength;
+	a_StreamHeader->cbDstLengthUsed = nOutputSamples;
+
+	result = a_StreamHeader->cbDstLengthUsed <= a_StreamHeader->cbDstLength;
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "UsedSize = %d / EncodedSize = %d, result = %d (%d <= %d)", InSize, OutSize, result, a_StreamHeader->cbDstLengthUsed, a_StreamHeader->cbDstLength);
+
+if (my_debug != NULL)
+{
+my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "ACMStream::ConvertBuffer result = %d (0x%02X 0x%02X)",result,a_StreamHeader->pbDst[0],a_StreamHeader->pbDst[1]);
+}
+
+	return result;
+}
+
+/* map frequency to a valid MP3 sample frequency
+ *
+ * Robert Hegemann 2000-07-01
+ */
+static int
+map2MP3Frequency(int freq)
+{
+    if (freq <= 8000)
+        return 8000;
+    if (freq <= 11025)
+        return 11025;
+    if (freq <= 12000)
+        return 12000;
+    if (freq <= 16000)
+        return 16000;
+    if (freq <= 22050)
+        return 22050;
+    if (freq <= 24000)
+        return 24000;
+    if (freq <= 32000)
+        return 32000;
+    if (freq <= 44100)
+        return 44100;
+
+    return 48000;
+}
+
+
+unsigned int ACMStream::GetOutputSampleRate(int samples_per_sec, int bitrate, int channels)
+{
+    if (bitrate==0)
+        bitrate = (64000*channels)/8;
+  
+        /// \todo pass through the same LAME routine
+	unsigned int OutputFrequency;
+	double compression_ratio = double(samples_per_sec * 16 * channels / (bitrate * 8));
+	if (compression_ratio > 13.)
+		OutputFrequency = map2MP3Frequency( (10. * bitrate * 8) / (16 * channels));
+	else
+		OutputFrequency = map2MP3Frequency( 0.97 * samples_per_sec );
+
+	return OutputFrequency;
+
+}
+

+ 85 - 0
ACM/ACMStream.h

@@ -0,0 +1,85 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(_ACMSTREAM_H__INCLUDED_)
+#define _ACMSTREAM_H__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#include <mmreg.h>
+#include <msacm.h>
+#include <msacmdrv.h>
+
+#include "ADbg/ADbg.h"
+
+#include "AEncodeProperties.h"
+
+
+typedef enum vbr_mode_e vbr_mode;
+typedef struct lame_global_struct lame_global_flags;
+
+
+class ACMStream
+{
+public:
+	ACMStream( );
+	virtual ~ACMStream( );
+
+	static ACMStream * Create();
+	static const bool Erase(const ACMStream * a_ACMStream);
+
+	bool init(const int nSamplesPerSec, const int nOutputSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const vbr_mode mode);
+	bool open(const AEncodeProperties & the_Properties);
+	bool close(LPBYTE pOutputBuffer, DWORD *pOutputSize);
+
+	DWORD GetOutputSizeForInput(const DWORD the_SrcLength) const;
+	bool  ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader);
+
+	static unsigned int GetOutputSampleRate(int samples_per_sec, int bitrate, int channels);
+
+protected:
+	lame_global_flags * gfp;
+
+	ADbg * my_debug;
+	int my_SamplesPerSec;
+	int my_Channels;
+	int my_AvgBytesPerSec;
+	int my_OutBytesPerSec;
+	vbr_mode my_VBRMode;
+	DWORD  my_SamplesPerBlock;
+
+unsigned int m_WorkingBufferUseSize;
+	char m_WorkingBuffer[2304*2]; // should be at least twice my_SamplesPerBlock
+
+inline int GetBytesPerBlock(DWORD bytes_per_sec, DWORD samples_per_sec, int BlockAlign) const;
+
+};
+
+#endif // !defined(_ACMSTREAM_H__INCLUDED_)
+

+ 181 - 0
ACM/ADbg/ADbg.cpp

@@ -0,0 +1,181 @@
+/************************************************************************
+Project               : C++ debugging class
+File version          : 0.4
+
+BSD License post 1999 : 
+
+Copyright (c) 2001, Steve Lhomme
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met: 
+
+- Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice, 
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution. 
+
+- The name of the author may not be used to endorse or promote products derived
+from this software without specific prior written permission. 
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
+OF SUCH DAMAGE. 
+************************************************************************/
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <windows.h>
+
+#include "ADbg.h"
+
+#if !defined(NDEBUG)
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+ADbg::ADbg(int level)
+:my_level(level)
+,my_time_included(false)
+,my_use_file(false)
+,my_debug_output(true)
+,hFile(NULL)
+{
+	prefix[0] = '\0';
+	OutPut(-1,"ADbg Creation at debug level = %d (0x%08X)",my_level,this);
+}
+
+ADbg::~ADbg()
+{
+	unsetDebugFile();
+	OutPut(-1,"ADbg Deletion (0x%08X)",this);
+}
+
+inline int ADbg::_OutPut(const char * format,va_list params) const
+{
+	int result;
+
+	char tst[1000];
+	char myformat[256];
+
+	if (my_time_included) {
+		SYSTEMTIME time;
+		GetSystemTime(&time);
+		if (prefix[0] == '\0')
+			wsprintf(myformat,"%04d/%02d/%02d %02d:%02d:%02d.%03d UTC : %s\r\n",
+							time.wYear,
+							time.wMonth,
+							time.wDay,
+							time.wHour,
+							time.wMinute,
+							time.wSecond,
+							time.wMilliseconds,
+							format);
+		else
+			wsprintf(myformat,"%04d/%02d/%02d %02d:%02d:%02d.%03d UTC : %s - %s\r\n",
+							time.wYear,
+							time.wMonth,
+							time.wDay,
+							time.wHour,
+							time.wMinute,
+							time.wSecond,
+							time.wMilliseconds,
+							prefix,
+							format);
+	} else {
+		if (prefix[0] == '\0')
+			wsprintf( myformat, "%s\r\n", format);
+		else
+			wsprintf( myformat, "%s - %s\r\n", prefix, format);
+	}
+
+	result = vsprintf(tst,myformat,params);
+	
+	if (my_debug_output)
+		OutputDebugString(tst);
+
+	if (my_use_file && (hFile != NULL)) {
+		SetFilePointer( hFile, 0, 0, FILE_END );
+		DWORD written;
+		WriteFile( hFile, tst, lstrlen(tst), &written, NULL );
+	}
+
+	return result;
+}
+
+int ADbg::OutPut(int forLevel, const char * format,...) const
+{
+	int result=0;
+	
+	if (forLevel >= my_level) {
+		va_list tstlist;
+		int result;
+
+		va_start(tstlist, format);
+
+		result = _OutPut(format,tstlist);
+
+	}
+
+	return result;
+}
+
+int ADbg::OutPut(const char * format,...) const
+{
+	va_list tstlist;
+
+	va_start(tstlist, format);
+
+	return _OutPut(format,tstlist);
+}
+
+bool ADbg::setDebugFile(const char * NewFilename) {
+	bool result;
+	result = unsetDebugFile();
+
+	if (result) {
+		result = false;
+
+		hFile = CreateFile(NewFilename, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL );
+		
+		if (hFile != INVALID_HANDLE_VALUE) {
+			SetFilePointer( hFile, 0, 0, FILE_END );
+
+			result = true;
+
+			OutPut(-1,"Debug file Opening succeeded");
+
+		}
+		else
+			OutPut(-1,"Debug file %s Opening failed",NewFilename);
+	}
+
+	return result;
+}
+
+bool ADbg::unsetDebugFile() {
+	bool result = (hFile == NULL);
+	
+	if (hFile != NULL) {
+		result = (CloseHandle(hFile) != 0);
+		
+		if (result) {
+			OutPut(-1,"Debug file Closing succeeded");
+			hFile = NULL;
+		}
+	}
+
+	return result;
+}
+
+#endif // !defined(NDEBUG)

+ 133 - 0
ACM/ADbg/ADbg.h

@@ -0,0 +1,133 @@
+/************************************************************************
+Project               : C++ debugging class
+File version          : 0.4
+
+BSD License post 1999 : 
+
+Copyright (c) 2001, Steve Lhomme
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met: 
+
+- Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice, 
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution. 
+
+- The name of the author may not be used to endorse or promote products derived
+from this software without specific prior written permission. 
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
+OF SUCH DAMAGE. 
+************************************************************************/
+
+#if !defined(_DBG_H__INCLUDED_)
+#define _DBG_H__INCLUDED_
+
+#include <windows.h>
+
+static const int MAX_PREFIX_LENGTH = 128;
+
+#if !defined(NDEBUG)
+// define the working debugging class
+
+class ADbg  
+{
+public:
+	ADbg(int level = 0);
+	virtual ~ADbg();
+
+	/// \todo make an inline function to test the level first and the process
+	int OutPut(int level, const char * format,...) const;
+
+	int OutPut(const char * format,...) const;
+
+	inline int setLevel(const int level) {
+		return my_level = level;
+	}
+
+	inline bool setIncludeTime(const bool included = true) {
+		return my_time_included = included;
+	}
+
+	bool setDebugFile(const char * NewFilename);
+	bool unsetDebugFile();
+
+	inline bool setUseFile(const bool usefile = true) {
+		return my_use_file = usefile;
+	}
+
+	inline const char * setPrefix(const char * string) {
+		return strncpy(prefix, string, MAX_PREFIX_LENGTH);
+	}
+
+private:
+	int my_level;
+	bool my_time_included;
+	bool my_use_file;
+	bool my_debug_output;
+
+	int _OutPut(const char * format,va_list params) const;
+
+	char prefix[MAX_PREFIX_LENGTH];
+
+	HANDLE hFile;
+};
+
+#else // !defined(NDEBUG)
+
+// define a class that does nothing (no output)
+
+class ADbg  
+{
+public:
+	ADbg(int level = 0){}
+	virtual ~ADbg() {}
+
+	inline int OutPut(int level, const char * format,...) const {
+		return 0;
+	}
+
+	inline int OutPut(const char * format,...) const {
+		return 0;
+	}
+
+	inline int setLevel(const int level) {
+		return level;
+	}
+
+	inline bool setIncludeTime(const bool included = true) {
+		return true;
+	}
+
+	inline bool setDebugFile(const char * NewFilename) {
+		return true;
+	}
+
+	inline bool unsetDebugFile() {
+		return true;
+	}
+
+	inline bool setUseFile(const bool usefile = true) {
+		return true;
+	}
+
+	inline const char * setPrefix(const char * string) {
+		return string;
+	}
+};
+
+#endif // !defined(NDEBUG)
+
+#endif // !defined(_DBG_H__INCLUDED_)

+ 8 - 0
ACM/ADbg/Makefile.am

@@ -0,0 +1,8 @@
+## $Id$
+
+include $(top_srcdir)/Makefile.am.global
+
+EXTRA_DIST = \
+	ADbg.cpp \
+	ADbg.h
+

+ 474 - 0
ACM/ADbg/Makefile.in

@@ -0,0 +1,474 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# global section for every Makefile.am
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = ACM/ADbg
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/Makefile.am.global
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_DEFS = @CONFIG_DEFS@
+CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPUCCODE = @CPUCCODE@
+CPUTYPE = @CPUTYPE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
+FRONTEND_LDADD = @FRONTEND_LDADD@
+FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_CONFIG = @GTK_CONFIG@
+GTK_LIBS = @GTK_LIBS@
+INCLUDES = @INCLUDES@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDADD = @LDADD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
+LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEDEP = @MAKEDEP@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NASM = @NASM@
+NASM_FORMAT = @NASM_FORMAT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RM_F = @RM_F@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WITH_FRONTEND = @WITH_FRONTEND@
+WITH_MP3RTP = @WITH_MP3RTP@
+WITH_MP3X = @WITH_MP3X@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = 1.15 foreign
+EXTRA_DIST = \
+	ADbg.cpp \
+	ADbg.h
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ACM/ADbg/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign ACM/ADbg/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+$(top_srcdir)/Makefile.am.global $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# end global section
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

+ 2027 - 0
ACM/AEncodeProperties.cpp

@@ -0,0 +1,2027 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(STRICT)
+#define STRICT
+#endif // !defined(STRICT)
+
+#include <windows.h>
+#include <windowsx.h>
+#include <shlobj.h>
+#include <assert.h>
+
+#ifdef _MSC_VER
+// no problem with unknown pragmas
+#pragma warning(disable: 4068)
+#endif
+
+#include "resource.h"
+#include <lame.h>
+#include "adebug.h"
+#include "AEncodeProperties.h"
+#include "ACM.h"
+//#include "AParameters/AParameters.h"
+
+#ifndef TTS_BALLOON
+#define TTS_BALLOON            0x40
+#endif // TTS_BALLOON
+
+const unsigned int AEncodeProperties::the_Bitrates[18] = {320, 256, 224, 192, 160, 144, 128, 112, 96, 80, 64, 56, 48, 40, 32, 24, 16, 8 };
+const unsigned int AEncodeProperties::the_MPEG1_Bitrates[14] = {320, 256, 224, 192, 160, 128, 112, 96, 80, 64, 56, 48, 40, 32 };
+const unsigned int AEncodeProperties::the_MPEG2_Bitrates[14] = {160, 144, 128, 112, 96, 80, 64, 56, 48, 40, 32, 24, 16, 8};
+const unsigned int AEncodeProperties::the_ChannelModes[3] = { STEREO, JOINT_STEREO, DUAL_CHANNEL };
+//const char         AEncodeProperties::the_Presets[][13] = {"None", "CD", "Studio", "Hi-Fi", "Phone", "Voice", "Radio", "Tape", "FM", "AM", "SW"};
+//const LAME_QUALTIY_PRESET AEncodeProperties::the_Presets[] = {LQP_NOPRESET, LQP_R3MIX_QUALITY, LQP_NORMAL_QUALITY, LQP_LOW_QUALITY, LQP_HIGH_QUALITY, LQP_VERYHIGH_QUALITY, LQP_VOICE_QUALITY, LQP_PHONE, LQP_SW, LQP_AM, LQP_FM, LQP_VOICE, LQP_RADIO, LQP_TAPE, LQP_HIFI, LQP_CD, LQP_STUDIO};
+//const unsigned int AEncodeProperties::the_SamplingFreqs[9] = { 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000 };
+
+ToolTipItem AEncodeProperties::Tooltips[13]={
+	{ IDC_CHECK_ENC_ABR, "Allow encoding with an average bitrate\r\ninstead of a constant one.\r\n\r\nIt can improve the quality for the same bitrate." },
+	{ IDC_CHECK_COPYRIGHT, "Mark the encoded data as copyrighted." },
+	{ IDC_CHECK_CHECKSUM, "Put a checksum in the encoded data.\r\n\r\nThis can make the file less sensitive to data loss." },
+	{ IDC_CHECK_ORIGINAL, "Mark the encoded data as an original file." },
+	{ IDC_CHECK_PRIVATE, "Mark the encoded data as private." },
+	{ IDC_COMBO_ENC_STEREO, "Select the type of stereo mode used for encoding:\r\n\r\n- Stereo : the usual one\r\n- Joint-Stereo : mix both channel to achieve better compression\r\n- Dual Channel : treat both channel as separate" },
+	{ IDC_STATIC_DECODING, "Decoding not supported for the moment by the codec." },
+	{ IDC_CHECK_ENC_SMART, "Disable bitrate when there is too much compression.\r\n(default 1:15 ratio)" },
+	{ IDC_STATIC_CONFIG_VERSION, "Version of this codec.\r\n\r\nvX.X.X is the version of the codec interface.\r\nX.XX is the version of the encoding engine." },
+	{ IDC_SLIDER_AVERAGE_MIN, "Select the minimum Average Bitrate allowed." },
+	{ IDC_SLIDER_AVERAGE_MAX, "Select the maximum Average Bitrate allowed." },
+	{ IDC_SLIDER_AVERAGE_STEP, "Select the step of Average Bitrate between the min and max.\r\n\r\nA step of 5 between 152 and 165 means you have :\r\n165, 160 and 155" },
+	{ IDC_SLIDER_AVERAGE_SAMPLE, "Check the resulting values of the (min,max,step) combination.\r\n\r\nUse the keyboard to navigate (right -> left)." },
+};
+//int AEncodeProperties::tst = 0;
+
+/*
+#pragma argsused
+static UINT CALLBACK DLLFindCallback(
+  HWND hdlg,      // handle to child dialog box
+  UINT uiMsg,     // message identifier
+  WPARAM wParam,  // message parameter
+  LPARAM lParam   // message parameter
+  )
+{
+	UINT result = 0;
+
+	switch (uiMsg)
+	{
+		case WM_NOTIFY:
+			OFNOTIFY * info = (OFNOTIFY *)lParam;
+			if (info->hdr.code == CDN_FILEOK)
+			{
+				result = 1; // by default we don't accept the file
+
+				// Check if the selected file is a valid DLL with all the required functions
+				ALameDLL * tstFile = new ALameDLL;
+				if (tstFile != NULL)
+				{
+					if (tstFile->Load(info->lpOFN->lpstrFile))
+					{
+						result = 0;
+					}
+
+					delete tstFile;
+				}
+
+				if (result == 1)
+				{
+					TCHAR output[250];
+					::LoadString(AOut::GetInstance(),IDS_STRING_DLL_UNRECOGNIZED,output,250);
+					AOut::MyMessageBox( output, MB_OK|MB_ICONEXCLAMATION, hdlg);
+					SetWindowLong(hdlg, DWL_MSGRESULT , -100);
+				}
+			}
+	}
+
+	return result;
+}
+
+#pragma argsused
+static int CALLBACK BrowseFolderCallbackroc(
+    HWND hwnd,
+    UINT uMsg,
+    LPARAM lParam,
+    LPARAM lpData
+    )
+{
+	AEncodeProperties * the_prop;
+	the_prop = (AEncodeProperties *) lpData;
+
+
+	if (uMsg == BFFM_INITIALIZED)
+	{
+//		char FolderName[MAX_PATH];
+//		SHGetPathFromIDList((LPITEMIDLIST) lParam,FolderName);
+//ADbg tst;
+//tst.OutPut("init folder to %s ",the_prop->GetOutputDirectory());
+//		CreateFile();
+		::SendMessage(hwnd, BFFM_SETSELECTION, (WPARAM)TRUE, (LPARAM)the_prop->GetOutputDirectory());
+	}/* else if (uMsg == BFFM_SELCHANGED)
+	{
+		// verify that the folder is writable
+//		::SendMessage(hwnd, BFFM_ENABLEOK, 0, (LPARAM)0); // disable
+		char FolderName[MAX_PATH];
+		SHGetPathFromIDList((LPITEMIDLIST) lParam, FolderName);
+		
+//		if (CreateFile(FolderName,STANDARD_RIGHTS_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL) == INVALID_HANDLE_VALUE)
+		if ((GetFileAttributes(FolderName) & FILE_ATTRIBUTE_DIRECTORY) != 0)
+			::SendMessage(hwnd, BFFM_ENABLEOK, 0, (LPARAM)1); // enable
+		else
+			::SendMessage(hwnd, BFFM_ENABLEOK, 0, (LPARAM)0); // disable
+//ADbg tst;
+//tst.OutPut("change folder to %s ",FolderName);
+	}* /
+
+	return 0;
+}
+*/
+#pragma argsused
+static BOOL CALLBACK ConfigProc(
+  HWND hwndDlg,  // handle to dialog box
+  UINT uMsg,     // message
+  WPARAM wParam, // first message parameter
+  LPARAM lParam  // second message parameter
+  )
+{
+	BOOL bResult;
+	AEncodeProperties * the_prop;
+	the_prop = (AEncodeProperties *) GetProp(hwndDlg, "AEncodeProperties-Config");
+
+	switch (uMsg) {
+		case WM_COMMAND:
+			if (the_prop != NULL)
+			{
+				bResult = the_prop->HandleDialogCommand( hwndDlg, wParam, lParam);
+			}
+			break;
+		case WM_INITDIALOG:
+			assert(the_prop == NULL);
+
+			the_prop = (AEncodeProperties *) lParam;
+			the_prop->my_debug.OutPut("there hwnd = 0x%08X",hwndDlg);
+
+			assert(the_prop != NULL);
+
+			SetProp(hwndDlg, "AEncodeProperties-Config", the_prop);
+
+			the_prop->InitConfigDlg(hwndDlg);
+
+			bResult = TRUE;
+			break;
+
+		case WM_HSCROLL:
+			// check if it's the ABR sliders
+			if ((HWND)lParam == GetDlgItem(hwndDlg,IDC_SLIDER_AVERAGE_MIN))
+			{
+				the_prop->UpdateDlgFromSlides(hwndDlg);
+			}
+			else if ((HWND)lParam == GetDlgItem(hwndDlg,IDC_SLIDER_AVERAGE_MAX))
+			{
+				the_prop->UpdateDlgFromSlides(hwndDlg);
+			}
+			else if ((HWND)lParam == GetDlgItem(hwndDlg,IDC_SLIDER_AVERAGE_STEP))
+			{
+				the_prop->UpdateDlgFromSlides(hwndDlg);
+			}
+			else if ((HWND)lParam == GetDlgItem(hwndDlg,IDC_SLIDER_AVERAGE_SAMPLE))
+			{
+				the_prop->UpdateDlgFromSlides(hwndDlg);
+			}
+			break;
+
+		case WM_NOTIFY:
+			if (TTN_GETDISPINFO == ((LPNMHDR)lParam)->code) {
+				NMTTDISPINFO *lphdr = (NMTTDISPINFO *)lParam;
+				UINT id = (lphdr->uFlags & TTF_IDISHWND) ? GetWindowLong((HWND)lphdr->hdr.idFrom, GWL_ID) : lphdr->hdr.idFrom;
+
+				*lphdr->lpszText = 0;
+
+				SendMessage(lphdr->hdr.hwndFrom, TTM_SETMAXTIPWIDTH, 0, 5000);
+
+				for(int i=0; i<sizeof AEncodeProperties::Tooltips/sizeof AEncodeProperties::Tooltips[0]; ++i) {
+					if (id == AEncodeProperties::Tooltips[i].id)
+						lphdr->lpszText = const_cast<char *>(AEncodeProperties::Tooltips[i].tip);
+				}
+
+				return TRUE;
+			}
+			break;
+
+		default:
+			bResult = FALSE; // will be treated by DefWindowProc
+	}
+	return bResult;
+}
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+/**
+	\class AEncodeProperties
+*/
+
+
+const char * AEncodeProperties::GetChannelModeString(int a_channelID) const
+{
+	assert(a_channelID < sizeof(the_ChannelModes));
+
+	switch (a_channelID) {
+		case 0:
+			return "Stereo";
+		case 1:
+			return "Joint-stereo";
+		case 2:
+			return "Dual Channel";
+		default:
+			assert(a_channelID);
+			return NULL;
+	}
+}
+
+const int AEncodeProperties::GetBitrateString(char * string, int string_size, int a_bitrateID) const
+{
+	assert(a_bitrateID < sizeof(the_Bitrates));
+	assert(string != NULL);
+
+	if (string_size >= 4)
+		return wsprintf(string,"%d",the_Bitrates[a_bitrateID]);
+	else
+		return -1;
+}
+
+const unsigned int AEncodeProperties::GetChannelModeValue() const
+{
+	assert(nChannelIndex < sizeof(the_ChannelModes));
+
+	return the_ChannelModes[nChannelIndex];
+}
+
+const unsigned int AEncodeProperties::GetBitrateValue() const
+{
+	assert(nMinBitrateIndex < sizeof(the_Bitrates));
+
+	return the_Bitrates[nMinBitrateIndex];
+}
+
+inline const int AEncodeProperties::GetBitrateValueMPEG2(DWORD & bitrate) const
+{
+	int i;
+
+	for (i=0;i<sizeof(the_MPEG2_Bitrates)/sizeof(unsigned int);i++)
+	{
+		if (the_MPEG2_Bitrates[i] == the_Bitrates[nMinBitrateIndex])
+		{
+			bitrate = the_MPEG2_Bitrates[i];
+			return 0;
+		}
+		else if (the_MPEG2_Bitrates[i] < the_Bitrates[nMinBitrateIndex])
+		{
+			bitrate = the_MPEG2_Bitrates[i];
+			return -1;
+		}
+	}
+	
+	bitrate = 160;
+	return -1;
+}
+
+inline const int AEncodeProperties::GetBitrateValueMPEG1(DWORD & bitrate) const
+{
+	int i;
+
+	for (i=sizeof(the_MPEG1_Bitrates)/sizeof(unsigned int)-1;i>=0;i--)
+	{
+		if (the_MPEG1_Bitrates[i] == the_Bitrates[nMinBitrateIndex])
+		{
+			bitrate = the_MPEG1_Bitrates[i];
+			return 0;
+		}
+		else if (the_MPEG1_Bitrates[i] > the_Bitrates[nMinBitrateIndex])
+		{
+			bitrate = the_MPEG1_Bitrates[i];
+			return 1;
+		}
+	}
+	
+	bitrate = 32;
+	return 1;
+}
+/*
+const int AEncodeProperties::GetBitrateValue(DWORD & bitrate, const DWORD MPEG_Version) const
+{
+	assert((MPEG_Version == MPEG1) || (MPEG_Version == MPEG2));
+	assert(nMinBitrateIndex < sizeof(the_Bitrates));
+
+	if (MPEG_Version == MPEG2)
+		return GetBitrateValueMPEG2(bitrate);
+	else
+		return GetBitrateValueMPEG1(bitrate);
+}
+/*
+const char * AEncodeProperties::GetPresetModeString(const int a_presetID) const
+{
+	assert(a_presetID < sizeof(the_Presets));
+
+	switch (a_presetID) {
+		case 1:
+			return "r3mix";
+		case 2:
+			return "Normal";
+		case 3:
+			return "Low";
+		case 4:
+			return "High";
+		case 5:
+			return "Very High";
+		case 6:
+			return "Voice";
+		case 7:
+			return "Phone";
+		case 8:
+			return "SW";
+		case 9:
+			return "AM";
+		case 10:
+			return "FM";
+		case 11:
+			return "Voice";
+		case 12:
+			return "Radio";
+		case 13:
+			return "Tape";
+		case 14:
+			return "Hi-Fi";
+		case 15:
+			return "CD";
+		case 16:
+			return "Studio";
+		default:
+			return "None";
+	}
+}
+
+const LAME_QUALTIY_PRESET AEncodeProperties::GetPresetModeValue() const
+{
+	assert(nPresetIndex < sizeof(the_Presets));
+
+	return the_Presets[nPresetIndex];
+}
+*/
+bool AEncodeProperties::Config(const HINSTANCE Hinstance, const HWND HwndParent)
+{
+	//WM_INITDIALOG ?
+
+	// remember the instance to retreive strings
+//	hDllInstance = Hinstance;
+
+	my_debug.OutPut("here");
+	int ret = ::DialogBoxParam(Hinstance, MAKEINTRESOURCE(IDD_CONFIG), HwndParent, ::ConfigProc, (LPARAM) this);
+/*	if (ret == -1)
+	{
+		LPVOID lpMsgBuf;
+		FormatMessage( 
+			FORMAT_MESSAGE_ALLOCATE_BUFFER | 
+			FORMAT_MESSAGE_FROM_SYSTEM | 
+			FORMAT_MESSAGE_IGNORE_INSERTS,
+			NULL,
+			GetLastError(),
+			MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
+			(LPTSTR) &lpMsgBuf,
+			0,
+			NULL 
+		);
+		// Process any inserts in lpMsgBuf.
+		// ...
+		// Display the string.
+		AOut::MyMessageBox( (LPCTSTR)lpMsgBuf, MB_OK | MB_ICONINFORMATION );
+		// Free the buffer.
+		LocalFree( lpMsgBuf );	
+		return false;
+	}
+*/	
+	return true;
+}
+
+bool AEncodeProperties::InitConfigDlg(HWND HwndDlg)
+{
+	// get all the required strings
+//	TCHAR Version[5];
+//	LoadString(hDllInstance, IDS_STRING_VERSION, Version, 5);
+
+	int i;
+
+	// Add required channel modes
+	SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_ENC_STEREO), CB_RESETCONTENT , NULL, NULL);
+	for (i=0;i<GetChannelLentgh();i++)
+		SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_ENC_STEREO), CB_ADDSTRING, NULL, (LPARAM) GetChannelModeString(i));
+
+	char tmp[20];
+	wsprintf(tmp, "v%s",ACM::GetVersionString());
+	SetWindowText( GetDlgItem( HwndDlg, IDC_STATIC_CONFIG_VERSION), tmp);
+
+	// Add all possible re-sampling freq
+/*	SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SAMPLEFREQ), CB_RESETCONTENT , NULL, NULL);
+	char tmp[10];
+	for (i=0;i<sizeof(the_SamplingFreqs)/sizeof(unsigned int);i++)
+	{
+		wsprintf(tmp, "%d", the_SamplingFreqs[i]);
+		SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SAMPLEFREQ), CB_ADDSTRING, NULL, (LPARAM) tmp );
+	}
+*/	
+
+	// Add required bitrates
+/*	SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_BITRATE), CB_RESETCONTENT , NULL, NULL);
+	for (i=0;i<GetBitrateLentgh();i++)
+	{
+		GetBitrateString(tmp, 5, i);
+		SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_BITRATE), CB_ADDSTRING, NULL, (LPARAM) tmp );
+	}
+
+	// Add bitrates to the VBR combo box too
+	SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_MAXBITRATE), CB_RESETCONTENT , NULL, NULL);
+	for (i=0;i<GetBitrateLentgh();i++)
+	{
+		GetBitrateString(tmp, 5, i);
+		SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_MAXBITRATE), CB_ADDSTRING, NULL, (LPARAM) tmp );
+	}
+
+	// Add VBR Quality Slider
+	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_QUALITY), TBM_SETRANGE, TRUE, MAKELONG(0,9));
+
+	// Add presets
+	SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_PRESET), CB_RESETCONTENT , NULL, NULL);
+	for (i=0;i<GetPresetLentgh();i++)
+		SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_PRESET), CB_ADDSTRING, NULL, (LPARAM) GetPresetModeString(i));
+*/
+
+	// Add ABR Sliders
+	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_MIN), TBM_SETRANGE, TRUE, MAKELONG(8,320));
+	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_MAX), TBM_SETRANGE, TRUE, MAKELONG(8,320));
+	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_STEP), TBM_SETRANGE, TRUE, MAKELONG(1,16));
+
+	// Tool-Tip initialiasiation
+	TOOLINFO ti;
+	HWND ToolTipWnd;
+	char DisplayStr[30] = "test tooltip";
+
+	ToolTipWnd = CreateWindowEx(WS_EX_TOPMOST,
+        TOOLTIPS_CLASS,
+        NULL,
+        WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP|TTS_BALLOON ,		
+        CW_USEDEFAULT,
+        CW_USEDEFAULT,
+        CW_USEDEFAULT,
+        CW_USEDEFAULT,
+        HwndDlg,
+        NULL,
+        NULL,
+        NULL
+        );
+
+	SetWindowPos(ToolTipWnd,
+        HWND_TOPMOST,
+        0,
+        0,
+        0,
+        0,
+        SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
+
+    /* INITIALIZE MEMBERS OF THE TOOLINFO STRUCTURE */
+	ti.cbSize		= sizeof(TOOLINFO);
+	ti.uFlags		= TTF_SUBCLASS | TTF_IDISHWND;
+	ti.hwnd			= HwndDlg;
+	ti.lpszText		= LPSTR_TEXTCALLBACK;
+    
+    /* SEND AN ADDTOOL MESSAGE TO THE TOOLTIP CONTROL WINDOW */
+	for(i=0; i<sizeof Tooltips/sizeof Tooltips[0]; ++i) {
+		ti.uId			= (WPARAM)GetDlgItem(HwndDlg, Tooltips[i].id);
+
+		if (ti.uId)
+			SendMessage(ToolTipWnd, TTM_ADDTOOL, 0, (LPARAM)&ti);
+	}
+
+my_debug.OutPut("call UpdateConfigs");
+
+	UpdateConfigs(HwndDlg);
+
+my_debug.OutPut("call UpdateDlgFromValue");
+
+	UpdateDlgFromValue(HwndDlg);
+
+
+	my_debug.OutPut("finished InitConfigDlg");
+
+
+	return true;
+}
+
+bool AEncodeProperties::UpdateDlgFromValue(HWND HwndDlg)
+{
+	// get all the required strings
+//	TCHAR Version[5];
+//	LoadString(hDllInstance, IDS_STRING_VERSION, Version, 5);
+
+	int i;
+
+	// Check boxes if required
+	::CheckDlgButton( HwndDlg, IDC_CHECK_CHECKSUM,     GetCRCMode()        ?BST_CHECKED:BST_UNCHECKED );
+	::CheckDlgButton( HwndDlg, IDC_CHECK_ORIGINAL,     GetOriginalMode()   ?BST_CHECKED:BST_UNCHECKED );
+	::CheckDlgButton( HwndDlg, IDC_CHECK_PRIVATE,      GetPrivateMode()    ?BST_CHECKED:BST_UNCHECKED );
+	::CheckDlgButton( HwndDlg, IDC_CHECK_COPYRIGHT,    GetCopyrightMode()  ?BST_CHECKED:BST_UNCHECKED );
+	::CheckDlgButton( HwndDlg, IDC_CHECK_ENC_SMART,    GetSmartOutputMode()?BST_CHECKED:BST_UNCHECKED );
+	::CheckDlgButton( HwndDlg, IDC_CHECK_ENC_ABR,      GetAbrOutputMode()  ?BST_CHECKED:BST_UNCHECKED );
+//	::CheckDlgButton( HwndDlg, IDC_CHECK_RESERVOIR,    !GetNoBiResMode() ?BST_CHECKED:BST_UNCHECKED );
+//	::CheckDlgButton( HwndDlg, IDC_CHECK_XINGVBR,      GetXingFrameMode()?BST_CHECKED:BST_UNCHECKED );
+//	::CheckDlgButton( HwndDlg, IDC_CHECK_RESAMPLE,     GetResampleMode() ?BST_CHECKED:BST_UNCHECKED );
+//	::CheckDlgButton( HwndDlg, IDC_CHECK_CHANNELFORCE, bForceChannel     ?BST_CHECKED:BST_UNCHECKED );
+	
+	// Add required channel modes
+	for (i=0;i<GetChannelLentgh();i++)
+	{
+		if (i == nChannelIndex)
+		{
+			SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_ENC_STEREO), CB_SETCURSEL, i, NULL);
+			break;
+		}
+	}
+
+	// Add VBR Quality
+	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_MIN), TBM_SETPOS, TRUE, AverageBitrate_Min);
+	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_MAX), TBM_SETPOS, TRUE, AverageBitrate_Max);
+	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_STEP), TBM_SETPOS, TRUE, AverageBitrate_Step);
+	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_SETPOS, TRUE, AverageBitrate_Max);
+
+	UpdateDlgFromSlides(HwndDlg);
+
+	EnableAbrOptions(HwndDlg, GetAbrOutputMode());
+//	UpdateAbrSteps(AverageBitrate_Min, AverageBitrate_Max, AverageBitrate_Step);
+	// Add all possible re-sampling freq
+/*	SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SAMPLEFREQ), CB_SETCURSEL, nSamplingFreqIndex, NULL);
+	
+
+	// Add required bitrates
+	for (i=0;i<GetBitrateLentgh();i++)
+	{
+		if (i == nMinBitrateIndex)
+		{
+			SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_BITRATE), CB_SETCURSEL, i, NULL);
+			break;
+		}
+	}
+
+	// Add bitrates to the VBR combo box too
+	for (i=0;i<GetBitrateLentgh();i++)
+	{
+		if (i == nMaxBitrateIndex)
+		{
+			SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_MAXBITRATE), CB_SETCURSEL, i, NULL);
+			break;
+		}
+	}
+
+//	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_QUALITY), TBM_SETRANGE, TRUE, MAKELONG(0,9));
+
+	char tmp[3];
+	wsprintf(tmp,"%d",VbrQuality);
+	SetWindowText(GetDlgItem( HwndDlg, IDC_CONFIG_QUALITY), tmp);
+	SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_QUALITY), TBM_SETPOS, TRUE, VbrQuality);
+	
+	wsprintf(tmp,"%d",AverageBitrate);
+	SetWindowText(GetDlgItem( HwndDlg, IDC_EDIT_AVERAGE), tmp);
+	
+	// Display VBR settings if needed
+	AEncodeProperties::DisplayVbrOptions(HwndDlg, mBRmode);
+
+	// Display Resample settings if needed
+	if (GetResampleMode())
+	{
+		::EnableWindow(::GetDlgItem(HwndDlg,IDC_COMBO_SAMPLEFREQ), TRUE);
+	}
+	else
+	{
+		::EnableWindow(::GetDlgItem(HwndDlg,IDC_COMBO_SAMPLEFREQ), FALSE);
+	}
+
+
+	// Add presets
+	for (i=0;i<GetPresetLentgh();i++)
+	{
+		if (i == nPresetIndex)
+		{
+			SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_PRESET), CB_SETCURSEL, i, NULL);
+			break;
+		}
+	}
+
+	// Add User configs
+//	SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SETTINGS), CB_RESETCONTENT , NULL, NULL);
+	::SetWindowText(::GetDlgItem( HwndDlg, IDC_EDIT_OUTPUTDIR), OutputDir.c_str());
+*/
+	/**
+		\todo Select the right saved config
+	*/
+
+	return true;
+}
+
+bool AEncodeProperties::UpdateValueFromDlg(HWND HwndDlg)
+{
+	nChannelIndex      = SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_ENC_STEREO),   CB_GETCURSEL, NULL, NULL);
+//	nMinBitrateIndex   = SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_BITRATE),    CB_GETCURSEL, NULL, NULL);
+//	nMaxBitrateIndex   = SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_MAXBITRATE), CB_GETCURSEL, NULL, NULL);
+//	nPresetIndex       = SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_PRESET),     CB_GETCURSEL, NULL, NULL);
+//	VbrQuality         = SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_QUALITY), TBM_GETPOS , NULL, NULL);
+//	nSamplingFreqIndex = SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SAMPLEFREQ), CB_GETCURSEL, NULL, NULL);
+
+	bCRC          = (::IsDlgButtonChecked( HwndDlg, IDC_CHECK_CHECKSUM)     == BST_CHECKED);
+	bCopyright    = (::IsDlgButtonChecked( HwndDlg, IDC_CHECK_COPYRIGHT)    == BST_CHECKED);
+	bOriginal     = (::IsDlgButtonChecked( HwndDlg, IDC_CHECK_ORIGINAL)     == BST_CHECKED);
+	bPrivate      = (::IsDlgButtonChecked( HwndDlg, IDC_CHECK_PRIVATE)      == BST_CHECKED);
+	bSmartOutput  = (::IsDlgButtonChecked( HwndDlg, IDC_CHECK_ENC_SMART)    == BST_CHECKED);
+	bAbrOutput    = (::IsDlgButtonChecked( HwndDlg, IDC_CHECK_ENC_ABR)      == BST_CHECKED);
+//	bNoBitRes     =!(::IsDlgButtonChecked( HwndDlg, IDC_CHECK_RESERVOIR)    == BST_CHECKED);
+//	bXingFrame    = (::IsDlgButtonChecked( HwndDlg, IDC_CHECK_XINGVBR)      == BST_CHECKED);
+//	bResample     = (::IsDlgButtonChecked( HwndDlg, IDC_CHECK_RESAMPLE)     == BST_CHECKED);
+//	bForceChannel = (::IsDlgButtonChecked( HwndDlg, IDC_CHECK_CHANNELFORCE) == BST_CHECKED);
+
+	AverageBitrate_Min  = SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_MIN), TBM_GETPOS , NULL, NULL);
+	AverageBitrate_Max  = SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_MAX), TBM_GETPOS , NULL, NULL);
+	AverageBitrate_Step = SendMessage(GetDlgItem( HwndDlg, IDC_SLIDER_AVERAGE_STEP), TBM_GETPOS , NULL, NULL);
+
+	EnableAbrOptions(HwndDlg, bAbrOutput);
+
+my_debug.OutPut("nChannelIndex %d, bCRC %d, bCopyright %d, bOriginal %d, bPrivate %d",nChannelIndex, bCRC, bCopyright, bOriginal, bPrivate);
+
+/*	char tmpPath[MAX_PATH];
+	::GetWindowText( ::GetDlgItem( HwndDlg, IDC_EDIT_OUTPUTDIR), tmpPath, MAX_PATH);
+	OutputDir = tmpPath;
+
+	if (::IsDlgButtonChecked(HwndDlg, IDC_RADIO_BITRATE_CBR) == BST_CHECKED)
+		mBRmode = BR_CBR;
+	else if (::IsDlgButtonChecked(HwndDlg, IDC_RADIO_BITRATE_VBR) == BST_CHECKED)
+		mBRmode = BR_VBR;
+	else
+		mBRmode = BR_ABR;
+	
+	::GetWindowText( ::GetDlgItem( HwndDlg, IDC_EDIT_AVERAGE), tmpPath, MAX_PATH);
+	AverageBitrate = atoi(tmpPath);
+	if (AverageBitrate < 8)
+		AverageBitrate = 8;
+	if (AverageBitrate > 320)
+		AverageBitrate = 320;
+*/
+	return true;
+}
+/*
+VBRMETHOD AEncodeProperties::GetVBRValue(DWORD & MaxBitrate, int & Quality, DWORD & AbrBitrate, BOOL & VBRHeader, const DWORD MPEG_Version) const
+{
+	assert((MPEG_Version == MPEG1) || (MPEG_Version == MPEG2));
+	assert(nMaxBitrateIndex < sizeof(the_Bitrates));
+
+	if (mBRmode == BR_VBR)
+	{
+		MaxBitrate = the_Bitrates[nMaxBitrateIndex];
+
+		if (MPEG_Version == MPEG1)
+			MaxBitrate = MaxBitrate>the_MPEG1_Bitrates[sizeof(the_MPEG1_Bitrates)/sizeof(unsigned int)-1]?MaxBitrate:the_MPEG1_Bitrates[sizeof(the_MPEG1_Bitrates)/sizeof(unsigned int)-1];
+		else
+			MaxBitrate = MaxBitrate<the_MPEG2_Bitrates[0]?MaxBitrate:the_MPEG2_Bitrates[0];
+
+		VBRHeader = bXingFrame;
+		Quality = VbrQuality;
+		AbrBitrate = 0;
+
+		return VBR_METHOD_DEFAULT; // for the moment
+	} 
+	else if (mBRmode == BR_ABR)
+	{
+		MaxBitrate = the_Bitrates[nMaxBitrateIndex];
+
+		if (MPEG_Version == MPEG1)
+			MaxBitrate = MaxBitrate>the_MPEG1_Bitrates[sizeof(the_MPEG1_Bitrates)/sizeof(unsigned int)-1]?MaxBitrate:the_MPEG1_Bitrates[sizeof(the_MPEG1_Bitrates)/sizeof(unsigned int)-1];
+		else
+			MaxBitrate = MaxBitrate<the_MPEG2_Bitrates[0]?MaxBitrate:the_MPEG2_Bitrates[0];
+
+		VBRHeader = bXingFrame;
+		Quality = 0;
+		AbrBitrate = AverageBitrate*1000;
+		return VBR_METHOD_ABR;
+	}
+	else
+	{
+		return VBR_METHOD_NONE;
+	}
+}
+*/
+void AEncodeProperties::ParamsRestore()
+{
+	// use these default parameters in case one is not found
+	bCopyright    = true;
+	bCRC          = true;
+	bOriginal     = true;
+	bPrivate      = true;
+	bNoBitRes     = false; // enable bit reservoir
+	bXingFrame    = true;
+	bResample     = false;
+	bForceChannel = false;
+	bSmartOutput  = true;
+	bAbrOutput    = true;
+	
+	AverageBitrate_Min = 80; // a bit lame
+	AverageBitrate_Max = 160; // a bit lame
+	AverageBitrate_Step = 8; // a bit lame
+	SmartRatioMax = 15.0;
+
+	nChannelIndex = 2; // joint-stereo
+	mBRmode       = BR_CBR;
+	nMinBitrateIndex = 6; // 128 kbps (works for both MPEGI and II)
+	nMaxBitrateIndex = 4; // 160 kbps (works for both MPEGI and II)
+	nPresetIndex = 0; // None
+	VbrQuality = 1; // Quite High
+//	AverageBitrate = 128; // a bit lame
+	nSamplingFreqIndex = 1; // 44100
+
+//	OutputDir = "c:\\";
+
+//	DllLocation = "plugins\\lame_enc.dll";
+
+	// get the values from the saved file if possible
+	if (my_stored_data.LoadFile(my_store_location))
+	{
+		TiXmlNode* node;
+
+		node = my_stored_data.FirstChild("lame_acm");
+
+		TiXmlElement* CurrentNode = node->FirstChildElement("encodings");
+
+		std::string CurrentConfig = "";
+
+		if (CurrentNode->Attribute("default") != NULL)
+		{
+			CurrentConfig = *CurrentNode->Attribute("default");
+		}
+
+/*		// output parameters
+		TiXmlElement* iterateElmt = node->FirstChildElement("DLL");
+		if (iterateElmt != NULL)
+		{
+			const std::string * tmpname = iterateElmt->Attribute("location");
+			if (tmpname != NULL)
+			{
+				DllLocation = *tmpname;
+			}
+		}
+*/
+		GetValuesFromKey(CurrentConfig, *CurrentNode);
+	}
+	else
+	{
+		/**
+			\todo save the data in the file !
+		*/
+	}
+}
+
+void AEncodeProperties::ParamsSave()
+{
+/*
+
+
+	save the current parameters in the corresponding subkey
+	
+
+
+
+	HKEY OssKey;
+
+	if (RegCreateKeyEx ( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI\\out_lame", 0, "", REG_OPTION_NON_VOLATILE, KEY_WRITE , NULL, &OssKey, NULL ) == ERROR_SUCCESS) {
+
+		if (RegSetValueEx(OssKey, "DLL Location", 0, REG_EXPAND_SZ, (CONST BYTE *)DllLocation, strlen(DllLocation)+1 ) != ERROR_SUCCESS)
+			return;
+		
+		RegCloseKey(OssKey); 
+	}
+*/
+}
+/*
+void AEncodeProperties::DisplayVbrOptions(const HWND hDialog, const BRMode the_mode)
+{
+	bool bVBR = false;
+	bool bABR = false;
+
+	switch ( the_mode )
+	{
+		case BR_CBR:
+			::CheckRadioButton(hDialog, IDC_RADIO_BITRATE_CBR, IDC_RADIO_BITRATE_ABR, IDC_RADIO_BITRATE_CBR);
+			break;
+		case BR_VBR:
+			::CheckRadioButton(hDialog, IDC_RADIO_BITRATE_CBR, IDC_RADIO_BITRATE_ABR, IDC_RADIO_BITRATE_VBR);
+			bVBR = true;
+			break;
+		case BR_ABR:
+			::CheckRadioButton(hDialog, IDC_RADIO_BITRATE_CBR, IDC_RADIO_BITRATE_ABR, IDC_RADIO_BITRATE_ABR);
+			bABR = true;
+			break;
+
+	}
+
+	if(bVBR|bABR)
+	{
+		::SetWindowText(::GetDlgItem(hDialog,IDC_STATIC_MINBITRATE), "Min Bitrate");
+	}
+	else
+	{
+		::SetWindowText(::GetDlgItem(hDialog,IDC_STATIC_MINBITRATE), "Bitrate");
+	}
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_CHECK_XINGVBR), bVBR|bABR);
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_COMBO_MAXBITRATE), bVBR|bABR);
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_MAXBITRATE), bVBR|bABR);
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_QUALITY), bVBR);
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_CONFIG_QUALITY), bVBR);
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_VBRQUALITY), bVBR);
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_VBRQUALITY_LOW), bVBR);
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_VBRQUALITY_HIGH), bVBR);
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_ABR), bABR);
+
+	::EnableWindow(::GetDlgItem( hDialog, IDC_EDIT_AVERAGE), bABR);
+}
+*/
+AEncodeProperties::AEncodeProperties(HMODULE hModule)
+ :my_debug(ADbg(DEBUG_LEVEL_CREATION)),
+ my_hModule(hModule)
+{
+	std::string path = "";
+//	HMODULE htmp = LoadLibrary("out_lame.dll");
+	if (hModule != NULL)
+	{
+		char output[MAX_PATH];
+		::GetModuleFileName(hModule, output, MAX_PATH);
+//		::FreeLibrary(htmp);
+
+		path = output;
+	}
+	my_store_location = path.substr(0,path.find_last_of('\\')+1);
+	my_store_location += "lame_acm.xml";
+
+	my_debug.OutPut("store path = %s",my_store_location.c_str());
+//#ifdef OLD
+//	::OutputDebugString(my_store_location.c_str());
+
+	// make sure the XML file is present
+	HANDLE hFile = ::CreateFile(my_store_location.c_str(), 0, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_ARCHIVE, NULL );
+	::CloseHandle(hFile);
+//#endif // OLD
+	my_debug.OutPut("AEncodeProperties creation completed (0x%08X)",this);
+}
+
+// Save the values to the right XML saved config
+void AEncodeProperties::SaveValuesToStringKey(const std::string & config_name)
+{
+	// get the current data in the file to keep them
+	if (my_stored_data.LoadFile(my_store_location))
+	{
+		// check if the Node corresponding to the config_name already exist.
+		TiXmlNode* node = my_stored_data.FirstChild("lame_acm");
+
+		if (node != NULL)
+		{
+			TiXmlElement* ConfigNode = node->FirstChildElement("encodings");
+
+			if (ConfigNode != NULL)
+			{
+				// look all the <config> tags
+				TiXmlElement* tmpNode = ConfigNode->FirstChildElement("config");
+				while (tmpNode != NULL)
+				{
+					const std::string * tmpname = tmpNode->Attribute("name");
+					if (tmpname->compare(config_name) == 0)
+					{
+						break;
+					}
+					tmpNode = tmpNode->NextSiblingElement("config");
+				}
+
+				if (tmpNode == NULL)
+				{
+					// Create the node
+					tmpNode = new TiXmlElement("config");
+					tmpNode->SetAttribute("name",config_name);
+
+					// save data in the node
+					SaveValuesToElement(tmpNode);
+
+					ConfigNode->InsertEndChild(*tmpNode);
+				}
+				else
+				{
+					// save data in the node
+					SaveValuesToElement(tmpNode);
+				}
+
+
+				// and save the file
+				my_stored_data.SaveFile(my_store_location);
+			}
+		}
+	}
+}
+
+void AEncodeProperties::GetValuesFromKey(const std::string & config_name, const TiXmlNode & parentNode)
+{
+	TiXmlElement* tmpElt;
+	TiXmlElement* iterateElmt;
+
+	// find the config that correspond to CurrentConfig
+	iterateElmt = parentNode.FirstChildElement("config");
+	while (iterateElmt != NULL)
+	{
+		const std::string * tmpname = iterateElmt->Attribute("name");
+		if ((tmpname != NULL) && (tmpname->compare(config_name) == 0))
+		{
+			break;
+		}
+		iterateElmt = iterateElmt->NextSiblingElement("config");
+	}
+
+	if (iterateElmt != NULL)
+	{
+		// get all the parameters saved in this Element
+		const std::string * tmpname;
+
+		// Smart output parameter
+		tmpElt = iterateElmt->FirstChildElement("Smart");
+		if (tmpElt != NULL)
+		{
+			tmpname = tmpElt->Attribute("use");
+			if (tmpname != NULL)
+				bSmartOutput = (tmpname->compare("true") == 0);
+			
+			tmpname = tmpElt->Attribute("ratio");
+			if (tmpname != NULL)
+				SmartRatioMax = atof(tmpname->c_str());
+		}
+
+		// Smart output parameter
+		tmpElt = iterateElmt->FirstChildElement("ABR");
+		if (tmpElt != NULL)
+		{
+			tmpname = tmpElt->Attribute("use");
+			if (tmpname != NULL)
+				bAbrOutput = (tmpname->compare("true") == 0);
+			
+			tmpname = tmpElt->Attribute("min");
+			if (tmpname != NULL)
+				AverageBitrate_Min = atoi(tmpname->c_str());
+
+			tmpname = tmpElt->Attribute("max");
+			if (tmpname != NULL)
+				AverageBitrate_Max = atoi(tmpname->c_str());
+
+			tmpname = tmpElt->Attribute("step");
+			if (tmpname != NULL)
+				AverageBitrate_Step = atoi(tmpname->c_str());
+		}
+
+		// Copyright parameter
+		tmpElt = iterateElmt->FirstChildElement("Copyright");
+		if (tmpElt != NULL)
+		{
+			tmpname = tmpElt->Attribute("use");
+			if (tmpname != NULL)
+				bCopyright = (tmpname->compare("true") == 0);
+		}
+
+		// Copyright parameter
+		tmpElt = iterateElmt->FirstChildElement("CRC");
+		if (tmpElt != NULL)
+		{
+			tmpname = tmpElt->Attribute("use");
+			if (tmpname != NULL)
+				bCRC = (tmpname->compare("true") == 0);
+		}
+
+		// Copyright parameter
+		tmpElt = iterateElmt->FirstChildElement("Original");
+		if (tmpElt != NULL)
+		{
+			tmpname = tmpElt->Attribute("use");
+			if (tmpname != NULL)
+				bOriginal = (tmpname->compare("true") == 0);
+		}
+
+		// Copyright parameter
+		tmpElt = iterateElmt->FirstChildElement("Private");
+		if (tmpElt != NULL)
+		{
+			tmpname = tmpElt->Attribute("use");
+			if (tmpname != NULL)
+				bPrivate = (tmpname->compare("true") == 0);
+		}
+/*
+		// Copyright parameter
+		tmpElt = iterateElmt->FirstChildElement("Bit_reservoir");
+		if (tmpElt != NULL)
+		{
+			tmpname = tmpElt->Attribute("use");
+			if (tmpname != NULL)
+				bNoBitRes = !(tmpname->compare("true") == 0);
+		}
+
+		// bitrates
+		tmpElt = iterateElmt->FirstChildElement("bitrate");
+		tmpname = tmpElt->Attribute("min");
+		if (tmpname != NULL)
+		{
+			unsigned int uitmp = atoi(tmpname->c_str());
+			for (int i=0;i<sizeof(the_Bitrates)/sizeof(unsigned int);i++)
+			{
+				if (the_Bitrates[i] == uitmp)
+				{
+					nMinBitrateIndex = i;
+					break;
+				}
+			}
+		}
+
+		tmpname = tmpElt->Attribute("max");
+		if (tmpname != NULL)
+		{
+			unsigned int uitmp = atoi(tmpname->c_str());
+			for (int i=0;i<sizeof(the_Bitrates)/sizeof(unsigned int);i++)
+			{
+				if (the_Bitrates[i] == uitmp)
+				{
+					nMaxBitrateIndex = i;
+					break;
+				}
+			}
+		}
+*/
+/*
+		// resampling parameters
+		tmpElt = iterateElmt->FirstChildElement("resampling");
+		if (tmpElt != NULL)
+		{
+			tmpname = tmpElt->Attribute("use");
+			if (tmpname != NULL)
+				bResample = (tmpname->compare("true") == 0);
+
+			unsigned int uitmp = atoi(tmpElt->Attribute("freq")->c_str());
+			for (int i=0;i<sizeof(the_SamplingFreqs)/sizeof(unsigned int);i++)
+			{
+				if (the_SamplingFreqs[i] == uitmp)
+				{
+					nSamplingFreqIndex = i;
+					break;
+				}
+			}
+		}
+
+		// VBR parameters
+		tmpElt = iterateElmt->FirstChildElement("VBR");
+		if (tmpElt != NULL)
+		{
+			tmpname = tmpElt->Attribute("use");
+			if (tmpname != NULL)
+			{
+				if (tmpname->compare("ABR") == 0)
+					mBRmode = BR_ABR;
+				else if (tmpname->compare("true") == 0)
+					mBRmode = BR_VBR;
+				else
+					mBRmode = BR_CBR;
+			}
+
+			tmpname = tmpElt->Attribute("header");
+			if (tmpname != NULL)
+				bXingFrame = (tmpname->compare("true") == 0);
+
+			tmpname = tmpElt->Attribute("quality");
+			if (tmpname != NULL)
+			{
+				VbrQuality = atoi(tmpname->c_str());
+			}
+
+			tmpname = tmpElt->Attribute("average");
+			if (tmpname != NULL)
+			{
+				AverageBitrate = atoi(tmpname->c_str());
+			}
+			else
+			{
+			}
+		}
+
+		// output parameters
+		tmpElt = iterateElmt->FirstChildElement("output");
+		if (tmpElt != NULL)
+		{
+			OutputDir = *tmpElt->Attribute("path");
+		}
+*/
+//#ifdef OLD
+		// Channel mode parameter
+		tmpElt = iterateElmt->FirstChildElement("Channel");
+		if (tmpElt != NULL)
+		{
+			const std::string * tmpStr = tmpElt->Attribute("mode");
+			if (tmpStr != NULL)
+			{
+				for (int i=0;i<GetChannelLentgh();i++)
+				{
+					if (tmpStr->compare(GetChannelModeString(i)) == 0)
+					{
+						nChannelIndex = i;
+						break;
+					}
+				}
+			}
+/*
+			tmpname = tmpElt->Attribute("force");
+			if (tmpname != NULL)
+				bForceChannel = (tmpname->compare("true") == 0);
+*/
+		}
+//#endif // OLD
+
+		// Preset parameter
+/*
+		tmpElt = iterateElmt->FirstChildElement("Preset");
+		if (tmpElt != NULL)
+		{
+			const std::string * tmpStr = tmpElt->Attribute("type");
+			for (int i=0;i<GetPresetLentgh();i++)
+			{
+				if (tmpStr->compare(GetPresetModeString(i)) == 0)
+				{
+					nPresetIndex = i;
+					break;
+				}
+			}
+
+		}
+*/
+	}
+}
+
+/**
+	\todo save the parameters
+* /
+void AEncodeProperties::SaveParams(const HWND hParentWnd)
+{
+	char string[MAX_PATH];
+/*	int nIdx = SendMessage(::GetDlgItem( hParentWnd ,IDC_COMBO_SETTINGS ), CB_GETCURSEL, NULL, NULL);
+	::SendMessage(::GetDlgItem( hParentWnd ,IDC_COMBO_SETTINGS ), CB_GETLBTEXT , nIdx, (LPARAM) string);
+* /
+}*/
+
+bool AEncodeProperties::operator !=(const AEncodeProperties & the_instance) const
+{
+/*
+	::OutputDebugString(bCopyright != the_instance.bCopyright?"1":"-");
+	::OutputDebugString(bCRC != the_instance.bCRC            ?"2":"-");
+	::OutputDebugString(bOriginal != the_instance.bOriginal  ?"3":"-");
+	::OutputDebugString(bPrivate != the_instance.bPrivate    ?"4":"-");
+	::OutputDebugString(bNoBitRes != the_instance.bNoBitRes  ?"5":"-");
+	::OutputDebugString(mBRmode != the_instance.mBRmode      ?"6":"-");
+	::OutputDebugString(bXingFrame != the_instance.bXingFrame?"7":"-");
+	::OutputDebugString(bForceChannel != the_instance.bForceChannel?"8":"-");
+	::OutputDebugString(bResample != the_instance.bResample  ?"9":"-");
+	::OutputDebugString(nChannelIndex != the_instance.nChannelIndex?"10":"-");
+	::OutputDebugString(nMinBitrateIndex != the_instance.nMinBitrateIndex?"11":"-");
+	::OutputDebugString(nMaxBitrateIndex != the_instance.nMaxBitrateIndex?"12":"-");
+	::OutputDebugString(nPresetIndex != the_instance.nPresetIndex?"13":"-");
+	::OutputDebugString(VbrQuality != the_instance.VbrQuality?"14":"-");
+	::OutputDebugString(AverageBitrate != the_instance.AverageBitrate?"15":"-");
+	::OutputDebugString(nSamplingFreqIndex != the_instance.nSamplingFreqIndex?"16":"-");
+	::OutputDebugString(OutputDir.compare(the_instance.OutputDir) != 0?"17":"-");
+
+	std::string tmp = "";
+	char tmpI[10];
+	_itoa(AverageBitrate,tmpI,10);
+	tmp += tmpI;
+	tmp += " != ";
+	_itoa(the_instance.AverageBitrate,tmpI,10);
+	tmp += tmpI;
+	::OutputDebugString(tmp.c_str());
+*/
+	return ((bCopyright != the_instance.bCopyright)
+		 || (bCRC != the_instance.bCRC)
+		 || (bOriginal != the_instance.bOriginal)
+		 || (bPrivate != the_instance.bPrivate)
+		 || (bSmartOutput != the_instance.bSmartOutput)
+		 || (SmartRatioMax != the_instance.SmartRatioMax)
+		 || (bAbrOutput != the_instance.bAbrOutput)
+		 || (AverageBitrate_Min != the_instance.AverageBitrate_Min)
+		 || (AverageBitrate_Max != the_instance.AverageBitrate_Max)
+		 || (AverageBitrate_Step != the_instance.AverageBitrate_Step)
+		 || (bNoBitRes != the_instance.bNoBitRes)
+		 || (mBRmode != the_instance.mBRmode)
+		 || (bXingFrame != the_instance.bXingFrame)
+		 || (bForceChannel != the_instance.bForceChannel)
+		 || (bResample != the_instance.bResample)
+		 || (nChannelIndex != the_instance.nChannelIndex)
+		 || (nMinBitrateIndex != the_instance.nMinBitrateIndex)
+		 || (nMaxBitrateIndex != the_instance.nMaxBitrateIndex)
+		 || (nPresetIndex != the_instance.nPresetIndex)
+		 || (VbrQuality != the_instance.VbrQuality)
+//		 || (AverageBitrate != the_instance.AverageBitrate)
+		 || (nSamplingFreqIndex != the_instance.nSamplingFreqIndex)
+//		 || (OutputDir.compare(the_instance.OutputDir) != 0)
+		);
+}
+
+void AEncodeProperties::SelectSavedParams(const std::string the_string)
+{
+	// get the values from the saved file if possible
+	if (my_stored_data.LoadFile(my_store_location))
+	{
+		TiXmlNode* node;
+
+		node = my_stored_data.FirstChild("lame_acm");
+
+		TiXmlElement* CurrentNode = node->FirstChildElement("encodings");
+
+		if (CurrentNode != NULL)
+		{
+			CurrentNode->SetAttribute("default",the_string);
+			GetValuesFromKey(the_string, *CurrentNode);
+			my_stored_data.SaveFile(my_store_location);
+		}
+	}
+}
+
+inline void AEncodeProperties::SetAttributeBool(TiXmlElement * the_elt,const std::string & the_string, const bool the_value) const
+{
+	if (the_value == false)
+		the_elt->SetAttribute(the_string, "false");
+	else
+		the_elt->SetAttribute(the_string, "true");
+}
+
+void AEncodeProperties::SaveValuesToElement(TiXmlElement * the_element) const
+{
+	// get all the parameters saved in this Element
+	TiXmlElement * tmpElt;
+
+	// Bit Reservoir parameter
+/*
+	tmpElt = the_element->FirstChildElement("Bit_reservoir");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("Bit_reservoir");
+		SetAttributeBool(tmpElt, "use", !bNoBitRes);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		SetAttributeBool(tmpElt, "use", !bNoBitRes);
+	}
+*/
+	// Copyright parameter
+	tmpElt = the_element->FirstChildElement("Copyright");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("Copyright");
+		SetAttributeBool( tmpElt, "use", bCopyright);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		SetAttributeBool( tmpElt, "use", bCopyright);
+	}
+
+	// Smart Output parameter
+	tmpElt = the_element->FirstChildElement("Smart");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("Smart");
+		SetAttributeBool( tmpElt, "use", bSmartOutput);
+		tmpElt->SetAttribute("ratio", SmartRatioMax);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		SetAttributeBool( tmpElt, "use", bSmartOutput);
+		tmpElt->SetAttribute("ratio", SmartRatioMax);
+	}
+
+	// Smart Output parameter
+	tmpElt = the_element->FirstChildElement("ABR");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("ABR");
+		SetAttributeBool( tmpElt, "use", bAbrOutput);
+		tmpElt->SetAttribute("min", AverageBitrate_Min);
+		tmpElt->SetAttribute("max", AverageBitrate_Max);
+		tmpElt->SetAttribute("step", AverageBitrate_Step);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		SetAttributeBool( tmpElt, "use", bAbrOutput);
+		tmpElt->SetAttribute("min", AverageBitrate_Min);
+		tmpElt->SetAttribute("max", AverageBitrate_Max);
+		tmpElt->SetAttribute("step", AverageBitrate_Step);
+	}
+
+	// CRC parameter
+	tmpElt = the_element->FirstChildElement("CRC");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("CRC");
+		SetAttributeBool( tmpElt, "use", bCRC);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		SetAttributeBool( tmpElt, "use", bCRC);
+	}
+
+	// Original parameter
+	tmpElt = the_element->FirstChildElement("Original");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("Original");
+		SetAttributeBool( tmpElt, "use", bOriginal);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		SetAttributeBool( tmpElt, "use", bOriginal);
+	}
+
+	// Private parameter
+	tmpElt = the_element->FirstChildElement("Private");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("Private");
+		SetAttributeBool( tmpElt, "use", bPrivate);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		SetAttributeBool( tmpElt, "use", bPrivate);
+	}
+
+	// Channel Mode parameter
+	tmpElt = the_element->FirstChildElement("Channel");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("Channel");
+		tmpElt->SetAttribute("mode", GetChannelModeString(nChannelIndex));
+//		SetAttributeBool( tmpElt, "force", bForceChannel);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		tmpElt->SetAttribute("mode", GetChannelModeString(nChannelIndex));
+//		SetAttributeBool( tmpElt, "force", bForceChannel);
+	}
+/*
+	// Preset parameter
+	tmpElt = the_element->FirstChildElement("Preset");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("Preset");
+		tmpElt->SetAttribute("type", GetPresetModeString(nPresetIndex));
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		tmpElt->SetAttribute("type", GetPresetModeString(nPresetIndex));
+	}
+
+	// Bitrate parameter
+	tmpElt = the_element->FirstChildElement("bitrate");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("bitrate");
+		tmpElt->SetAttribute("min", the_Bitrates[nMinBitrateIndex]);
+		tmpElt->SetAttribute("max", the_Bitrates[nMaxBitrateIndex]);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		tmpElt->SetAttribute("min", the_Bitrates[nMinBitrateIndex]);
+		tmpElt->SetAttribute("max", the_Bitrates[nMaxBitrateIndex]);
+	}
+
+	// Output Directory parameter
+	tmpElt = the_element->FirstChildElement("output");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("output");
+		tmpElt->SetAttribute("path", OutputDir);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		tmpElt->SetAttribute("path", OutputDir);
+	}
+*/
+/*
+	// Resampling parameter
+	tmpElt = the_element->FirstChildElement("resampling");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("resampling");
+		SetAttributeBool( tmpElt, "use", bResample);
+		tmpElt->SetAttribute("freq", the_SamplingFreqs[nSamplingFreqIndex]);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		SetAttributeBool( tmpElt, "use", bResample);
+		tmpElt->SetAttribute("freq", the_SamplingFreqs[nSamplingFreqIndex]);
+	}
+
+	// VBR parameter
+	tmpElt = the_element->FirstChildElement("VBR");
+	if (tmpElt == NULL)
+	{
+		tmpElt = new TiXmlElement("VBR");
+		
+		if (mBRmode == BR_ABR)
+			tmpElt->SetAttribute("use", "ABR");
+		else
+			SetAttributeBool( tmpElt, "use", (mBRmode != BR_CBR));
+
+		SetAttributeBool( tmpElt, "header", bXingFrame);
+		tmpElt->SetAttribute("quality", VbrQuality);
+		tmpElt->SetAttribute("average", AverageBitrate);
+		the_element->InsertEndChild(*tmpElt);
+	}
+	else
+	{
+		if (mBRmode == BR_ABR)
+			tmpElt->SetAttribute("use", "ABR");
+		else
+			SetAttributeBool( tmpElt, "use", (mBRmode != BR_CBR));
+
+		SetAttributeBool( tmpElt, "header", bXingFrame);
+		tmpElt->SetAttribute("quality", VbrQuality);
+		tmpElt->SetAttribute("average", AverageBitrate);
+	}
+*/
+}
+
+bool AEncodeProperties::HandleDialogCommand(const HWND parentWnd, const WPARAM wParam, const LPARAM lParam)
+{
+	UINT command;
+	command = GET_WM_COMMAND_ID(wParam, lParam);
+
+	switch (command)
+	{
+	case IDOK :
+	{
+		bool bShouldEnd = true;
+
+		// save parameters
+		char string[MAX_PATH];
+//		::GetWindowText(::GetDlgItem( parentWnd, IDC_COMBO_SETTINGS), string, MAX_PATH);
+
+		wsprintf(string,"Current"); // only the Current config is supported at the moment
+		
+		my_debug.OutPut("my_hModule = 0x%08X",my_hModule);
+/*
+		AEncodeProperties tmpDlgProps(my_hModule);
+		AEncodeProperties tmpSavedProps(my_hModule);
+//#ifdef OLD
+		tmpDlgProps.UpdateValueFromDlg(parentWnd);
+		tmpSavedProps.SelectSavedParams(string);
+		tmpSavedProps.ParamsRestore();
+		// check if the values from the DLG are the same as the one saved in the config file
+		// if yes, just do nothing
+/*
+		if (tmpDlgProps != tmpSavedProps)
+		{
+			int save;
+
+			if (strcmp(string,"Current") == 0)
+			{
+				// otherwise, prompt the user if he wants to overwrite the settings
+				TCHAR tmpStr[250];
+				::LoadString(AOut::GetInstance(),IDS_STRING_PROMPT_REPLACE_CURRENT,tmpStr,250);
+
+				save = AOut::MyMessageBox( tmpStr, MB_OKCANCEL|MB_ICONQUESTION, parentWnd);
+			}
+			else
+			{
+				// otherwise, prompt the user if he wants to overwrite the settings
+				TCHAR tmpStr[250];
+				::LoadString(AOut::GetInstance(),IDS_STRING_PROMPT_REPLACE_SETING,tmpStr,250);
+				TCHAR tmpDsp[500];
+				wsprintf(tmpDsp,tmpStr,string);
+
+				save = AOut::MyMessageBox( tmpDsp, MB_YESNOCANCEL|MB_ICONQUESTION, parentWnd);
+			}
+
+			if (save == IDCANCEL)
+				bShouldEnd = false;
+			else if (save == IDNO)
+			{
+				// save the values in 'current'
+				UpdateValueFromDlg(parentWnd);
+				SaveValuesToStringKey("Current");
+				SelectSavedParams("Current");
+			}
+			else
+			{
+				// do so and save in XML
+				UpdateValueFromDlg(parentWnd);
+				SaveValuesToStringKey(string);
+			}
+		}
+*/
+//#endif // OLD
+my_debug.OutPut("before : nChannelIndex %d, bCRC %d, bCopyright %d, bOriginal %d, bPrivate %d",nChannelIndex, bCRC, bCopyright, bOriginal, bPrivate);
+
+my_debug.OutPut("call UpdateValueFromDlg");
+
+		UpdateValueFromDlg(parentWnd);
+
+my_debug.OutPut("call SaveValuesToStringKey");
+
+		SaveValuesToStringKey("Current"); // only Current config is supported now
+
+//		SaveParams(parentWnd);
+
+//my_debug.OutPut("call SelectSavedParams");
+
+//		SelectSavedParams(string);
+//		UpdateDlgFromValue(parentWnd);
+
+my_debug.OutPut("finished saving");
+
+		if (bShouldEnd)
+		{
+			RemoveProp(parentWnd, "AEncodeProperties-Config");
+		
+			EndDialog(parentWnd, true);
+		}
+	}
+	break;
+
+	case IDCANCEL:
+		RemoveProp(parentWnd, "AEncodeProperties-Config");
+        EndDialog(parentWnd, false);
+		break;
+
+/*	case IDC_FIND_DLL:
+	{
+		OPENFILENAME file;
+		char DllLocation[512];
+		wsprintf(DllLocation,"%s",GetDllLocation());
+
+		memset(&file, 0, sizeof(file));
+		file.lStructSize = sizeof(file); 
+		file.hwndOwner  = parentWnd;
+		file.Flags = OFN_FILEMUSTEXIST | OFN_NODEREFERENCELINKS | OFN_ENABLEHOOK | OFN_EXPLORER ;
+///				file.lpstrFile = AOut::the_AOut->DllLocation;
+		file.lpstrFile = DllLocation;
+		file.lpstrFilter = "Lame DLL (lame_enc.dll)\0LAME_ENC.DLL\0DLL (*.dll)\0*.DLL\0All (*.*)\0*.*\0";
+		file.nFilterIndex = 1;
+		file.nMaxFile  = sizeof(DllLocation);
+		file.lpfnHook  = DLLFindCallback; // use to validate the DLL chosen
+
+		GetOpenFileName(&file);
+
+		SetDllLocation(DllLocation);
+		// use this filename if necessary
+	}
+	break;
+*/
+/*	case IDC_BUTTON_OUTPUT:
+	{
+#ifndef SIMPLE_FOLDER
+		BROWSEINFO info;
+		memset(&info,0,sizeof(info));
+
+		char FolderName[MAX_PATH];
+
+		info.hwndOwner = parentWnd;
+		info.pszDisplayName  = FolderName;
+		info.lpfn = BrowseFolderCallbackroc;
+		info.lParam = (LPARAM) this;
+
+		// get the localised window title
+		TCHAR output[250];
+		::LoadString(AOut::GetInstance(),IDS_STRING_DIR_SELECT,output,250);
+		info.lpszTitle = output;
+
+#ifdef BIF_EDITBOX
+		info.ulFlags |= BIF_EDITBOX;
+#else // BIF_EDITBOX
+		info.ulFlags |= 0x0010;
+#endif // BIF_EDITBOX
+
+#ifdef BIF_VALIDATE
+		info.ulFlags |= BIF_VALIDATE;
+#else // BIF_VALIDATE
+		info.ulFlags |= 0x0020;
+#endif // BIF_VALIDATE
+
+#ifdef BIF_NEWDIALOGSTYLE
+		info.ulFlags |= BIF_NEWDIALOGSTYLE;
+#else // BIF_NEWDIALOGSTYLE
+		info.ulFlags |= 0x0040;
+#endif // BIF_NEWDIALOGSTYLE
+
+		ITEMIDLIST *item = SHBrowseForFolder(&info);
+
+    	if (item != NULL)
+		{
+			char tmpOutputDir[MAX_PATH];
+			wsprintf(tmpOutputDir,"%s",GetOutputDirectory());
+
+			SHGetPathFromIDList( item,tmpOutputDir );
+			SetOutputDirectory( tmpOutputDir );
+			::SetWindowText(GetDlgItem( parentWnd, IDC_EDIT_OUTPUTDIR), tmpOutputDir);
+//					wsprintf(OutputDir,FolderName);
+		}
+#else // SIMPLE_FOLDER
+		OPENFILENAME file;
+
+		memset(&file, 0, sizeof(file));
+		file.lStructSize = sizeof(file); 
+		file.hwndOwner  = parentWnd;
+		file.Flags = OFN_FILEMUSTEXIST | OFN_NODEREFERENCELINKS | OFN_ENABLEHOOK | OFN_EXPLORER ;
+//				file.lpstrFile = GetDllLocation();
+//				file.lpstrFile = GetOutputDirectory();
+		file.lpstrInitialDir = GetOutputDirectory();
+		file.lpstrFilter = "A Directory\0.*\0";
+//				file.nFilterIndex = 1;
+		file.nMaxFile  = MAX_PATH;
+//				file.lpfnHook  = DLLFindCallback; // use to validate the DLL chosen
+//				file.Flags = OFN_ENABLESIZING | OFN_NOREADONLYRETURN | OFN_HIDEREADONLY;
+		file.Flags = OFN_NOREADONLYRETURN | OFN_HIDEREADONLY | OFN_EXPLORER;
+
+		TCHAR output[250];
+		::LoadString(AOut::GetInstance(),IDS_STRING_DIR_SELECT,output,250);
+		file.lpstrTitle = output;
+
+		GetSaveFileName(&file);
+#endif // SIMPLE_FOLDER
+	}
+	break;
+*/
+		case IDC_CHECK_ENC_ABR:
+			EnableAbrOptions(parentWnd, ::IsDlgButtonChecked( parentWnd, IDC_CHECK_ENC_ABR) == BST_CHECKED);
+			break;
+/*	case IDC_RADIO_BITRATE_CBR:
+		AEncodeProperties::DisplayVbrOptions(parentWnd, AEncodeProperties::BR_CBR);
+		break;
+
+	case IDC_RADIO_BITRATE_VBR:
+		AEncodeProperties::DisplayVbrOptions(parentWnd, AEncodeProperties::BR_VBR);
+		break;
+
+	case IDC_RADIO_BITRATE_ABR:
+		AEncodeProperties::DisplayVbrOptions(parentWnd, AEncodeProperties::BR_ABR);
+		break;
+
+	case IDC_CHECK_RESAMPLE:
+	{
+		bool tmp_bResampleUsed = (::IsDlgButtonChecked( parentWnd, IDC_CHECK_RESAMPLE) == BST_CHECKED);
+		if (tmp_bResampleUsed)
+		{
+			::EnableWindow(::GetDlgItem(parentWnd,IDC_COMBO_SAMPLEFREQ), TRUE);
+		}
+		else
+		{
+			::EnableWindow(::GetDlgItem(parentWnd,IDC_COMBO_SAMPLEFREQ), FALSE);
+		}
+	}
+	break;
+*/
+/*	case IDC_COMBO_SETTINGS:
+//				if (CBN_SELCHANGE == GET_WM_COMMAND_CMD(wParam, lParam))
+		if (CBN_SELENDOK == GET_WM_COMMAND_CMD(wParam, lParam))
+		{
+			char string[MAX_PATH];
+			int nIdx = SendMessage(HWND(lParam), CB_GETCURSEL, NULL, NULL);
+			SendMessage(HWND(lParam), CB_GETLBTEXT , nIdx, (LPARAM) string);
+
+			// get the info corresponding to the new selected item
+			SelectSavedParams(string);
+			UpdateDlgFromValue(parentWnd);
+		}
+		break;
+*/
+/*	case IDC_BUTTON_CONFIG_SAVE:
+	{
+		// save the data in the current config
+		char string[MAX_PATH];
+		::GetWindowText(::GetDlgItem( parentWnd, IDC_COMBO_SETTINGS), string, MAX_PATH);
+
+		UpdateValueFromDlg(parentWnd);
+		SaveValuesToStringKey(string);
+		SelectSavedParams(string);
+		UpdateConfigs(parentWnd);
+		UpdateDlgFromValue(parentWnd);
+	}
+	break;
+
+	case IDC_BUTTON_CONFIG_RENAME:
+	{
+		char string[MAX_PATH];
+		::GetWindowText(::GetDlgItem( parentWnd, IDC_COMBO_SETTINGS), string, MAX_PATH);
+
+		if (RenameCurrentTo(string))
+		{
+			// Update the names displayed
+			UpdateConfigs(parentWnd);
+		}
+
+	}
+	break;
+
+	case IDC_BUTTON_CONFIG_DELETE:
+	{
+		char string[MAX_PATH];
+		::GetWindowText(::GetDlgItem( parentWnd, IDC_COMBO_SETTINGS), string, MAX_PATH);
+		
+		if (DeleteConfig(string))
+		{
+			// Update the names displayed
+			UpdateConfigs(parentWnd);
+			UpdateDlgFromValue(parentWnd);
+		}
+	}
+	break;
+*/
+	}
+	
+    return FALSE;
+}
+
+bool AEncodeProperties::RenameCurrentTo(const std::string & new_config_name)
+{
+	bool bResult = false;
+
+	// display all the names of the saved configs
+	// get the values from the saved file if possible
+	if (my_stored_data.LoadFile(my_store_location))
+	{
+		TiXmlNode* node;
+
+		node = my_stored_data.FirstChild("lame_acm");
+
+		TiXmlElement* CurrentNode = node->FirstChildElement("encodings");
+
+		if (CurrentNode->Attribute("default") != NULL)
+		{
+			std::string CurrentConfigName = *CurrentNode->Attribute("default");
+
+			// no rename possible for Current
+			if (CurrentConfigName == "")
+			{
+				bResult = true;
+			}
+			else if (CurrentConfigName != "Current")
+			{
+				// find the config that correspond to CurrentConfig
+				TiXmlElement* iterateElmt = CurrentNode->FirstChildElement("config");
+//				int Idx = 0;
+				while (iterateElmt != NULL)
+				{
+					const std::string * tmpname = iterateElmt->Attribute("name");
+					/**
+						\todo support language names
+					*/
+					if (tmpname != NULL)
+					{
+						if (tmpname->compare(CurrentConfigName) == 0)
+						{
+							iterateElmt->SetAttribute("name",new_config_name);	
+							bResult = true;
+							break;
+						}
+					}
+//					Idx++;
+					iterateElmt = iterateElmt->NextSiblingElement("config");
+				}
+			}
+
+			if (bResult)
+			{
+				CurrentNode->SetAttribute("default",new_config_name);
+
+				my_stored_data.SaveFile(my_store_location);
+			}
+		}
+	}
+
+	return bResult;
+}
+
+bool AEncodeProperties::DeleteConfig(const std::string & config_name)
+{
+	bool bResult = false;
+
+	if (config_name != "Current")
+	{
+		// display all the names of the saved configs
+		// get the values from the saved file if possible
+		if (my_stored_data.LoadFile(my_store_location))
+		{
+			TiXmlNode* node;
+
+			node = my_stored_data.FirstChild("lame_acm");
+
+			TiXmlElement* CurrentNode = node->FirstChildElement("encodings");
+
+			TiXmlElement* iterateElmt = CurrentNode->FirstChildElement("config");
+//			int Idx = 0;
+			while (iterateElmt != NULL)
+			{
+				const std::string * tmpname = iterateElmt->Attribute("name");
+				/**
+					\todo support language names
+				*/
+				if (tmpname != NULL)
+				{
+					if (tmpname->compare(config_name) == 0)
+					{
+						CurrentNode->RemoveChild(iterateElmt);
+						bResult = true;
+						break;
+					}
+				}
+//				Idx++;
+				iterateElmt = iterateElmt->NextSiblingElement("config");
+			}
+		}
+
+		if (bResult)
+		{
+			my_stored_data.SaveFile(my_store_location);
+
+			// select a new default config : "Current"
+			SelectSavedParams("Current");
+
+		}
+	}
+
+	return bResult;
+}
+
+void AEncodeProperties::UpdateConfigs(const HWND HwndDlg)
+{
+	// Add User configs
+//	SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SETTINGS), CB_RESETCONTENT , NULL, NULL);
+
+	// display all the names of the saved configs
+	// get the values from the saved file if possible
+	if (my_stored_data.LoadFile(my_store_location))
+	{
+		TiXmlNode* node;
+
+		node = my_stored_data.FirstChild("lame_acm");
+
+		TiXmlElement* CurrentNode = node->FirstChildElement("encodings");
+
+		std::string CurrentConfig = "";
+
+		if (CurrentNode->Attribute("default") != NULL)
+		{
+			CurrentConfig = *CurrentNode->Attribute("default");
+		}
+
+		TiXmlElement* iterateElmt;
+
+my_debug.OutPut("are we here ?");
+
+		// find the config that correspond to CurrentConfig
+		iterateElmt = CurrentNode->FirstChildElement("config");
+		int Idx = 0;
+		while (iterateElmt != NULL)
+		{
+			const std::string * tmpname = iterateElmt->Attribute("name");
+			/**
+				\todo support language names
+			*/
+			if (tmpname != NULL)
+			{
+//				SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SETTINGS), CB_ADDSTRING, NULL, (LPARAM) tmpname->c_str());
+				if (tmpname->compare(CurrentConfig) == 0)
+				{
+//					SendMessage(GetDlgItem( HwndDlg, IDC_COMBO_SETTINGS), CB_SETCURSEL, Idx, NULL);
+					SelectSavedParams(*tmpname);
+					UpdateDlgFromValue(HwndDlg);
+				}
+			}
+my_debug.OutPut("Idx = %d",Idx);
+
+			Idx++;
+			// only Current config supported now
+//			iterateElmt = iterateElmt->NextSiblingElement("config");
+			iterateElmt = NULL;
+my_debug.OutPut("iterateElmt = 0x%08X",iterateElmt);
+
+		}
+	}
+}
+/*
+void AEncodeProperties::UpdateAbrSteps(unsigned int min, unsigned int max, unsigned int step) const
+{
+}
+*/
+void AEncodeProperties::UpdateDlgFromSlides(HWND hwndDlg) const
+{
+	UINT value_min, value_max, value_step, value;
+	char tmp[4];
+
+	value_min = SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_MIN), TBM_GETPOS, NULL, NULL);
+	value_max = SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_MAX), TBM_GETPOS, NULL, NULL);
+
+	if (value_min>value_max)
+	{
+		SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_MIN), TBM_SETPOS, TRUE, value_max);
+		UpdateDlgFromSlides(hwndDlg);
+		return;
+	}
+
+	if (value_max<value_min)
+	{
+		SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_MAX), TBM_SETPOS, TRUE, value_min);
+		UpdateDlgFromSlides(hwndDlg);
+		return;
+	}
+
+	wsprintf(tmp,"%3d",value_min);
+	::SetWindowText(GetDlgItem( hwndDlg, IDC_STATIC_AVERAGE_MIN_VALUE), tmp);
+	
+	SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_SETRANGEMIN, TRUE, value_min);
+
+	wsprintf(tmp,"%3d",value_max);
+	::SetWindowText(GetDlgItem( hwndDlg, IDC_STATIC_AVERAGE_MAX_VALUE), tmp);
+	
+	SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_SETRANGEMAX, TRUE, value_max);
+	
+	value_step = SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_STEP), TBM_GETPOS, NULL, NULL);
+	wsprintf(tmp,"%3d",value_step);
+	::SetWindowText(GetDlgItem( hwndDlg, IDC_STATIC_AVERAGE_STEP_VALUE), tmp);
+
+	SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_CLEARTICS, TRUE, 0);
+	for(UINT i=value_max; i>=value_min;i-=value_step)
+	{
+		SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_SETTIC, 0, i);
+	}
+	SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_SETLINESIZE, 0, value_step);
+	SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_SETPAGESIZE, 0, value_step);
+	
+	value = SendMessage(GetDlgItem( hwndDlg, IDC_SLIDER_AVERAGE_SAMPLE), TBM_GETPOS, NULL, NULL);
+	wsprintf(tmp,"%3d",value);
+	::SetWindowText(GetDlgItem( hwndDlg, IDC_STATIC_AVERAGE_SAMPLE_VALUE), tmp);
+}
+
+void AEncodeProperties::EnableAbrOptions(HWND hDialog, bool enable)
+{
+	::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_AVERAGE_MIN), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_AVERAGE_MAX), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_AVERAGE_STEP), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_SLIDER_AVERAGE_SAMPLE), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_MIN), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_MAX), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_STEP), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_SAMPLE), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_MIN_VALUE), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_MAX_VALUE), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_STEP_VALUE), enable);
+	::EnableWindow(::GetDlgItem( hDialog, IDC_STATIC_AVERAGE_SAMPLE_VALUE), enable);
+}
+

+ 448 - 0
ACM/AEncodeProperties.h

@@ -0,0 +1,448 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(_AENCODEPROPERTIES_H__INCLUDED_)
+#define _AENCODEPROPERTIES_H__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include <windows.h>
+#include <string>
+
+#include "ADbg/ADbg.h"
+//#include "BladeMP3EncDLL.h"
+#include "tinyxml/tinyxml.h"
+//#include "AParameters/AParameters.h"
+
+typedef const struct {
+	UINT id;
+	const char *tip;
+} ToolTipItem;
+/**
+  \class AEncodeProperties
+  \brief the AEncodeProperties class is responsible for handling all the encoding properties
+*/
+class AEncodeProperties  
+{
+public:
+	/**
+		\brief default constructor
+
+		\param the windows module with which you can retrieve many informations
+	*/
+	AEncodeProperties(HMODULE hModule);
+
+	/**
+		\brief default destructor
+	*/
+	virtual ~AEncodeProperties() {}
+
+	/**
+		\enum BRMode
+		\brief A bitrate mode (CBR, VBR, ABR)
+	*/
+	enum BRMode { BR_CBR, BR_VBR, BR_ABR };
+
+	/**
+		\brief Handle all the commands that occur in the Config dialog box
+	*/
+	bool HandleDialogCommand(const HWND parentWnd, const WPARAM wParam, const LPARAM lParam);
+	/**
+		\brief check wether 2 instances are equal, ie have the same encoding parameters
+	*/
+	bool operator != (const AEncodeProperties & the_instance) const;
+
+	/**
+		\brief Check wether the Encode process should use the Copyright bit
+	*/
+	inline const bool GetCopyrightMode() const { return bCopyright; }
+	/**
+		\brief Check wether the Encode process should use the CRC bit
+	*/
+	inline const bool GetCRCMode() const { return bCRC; }
+	/**
+		\brief Check wether the Encode process should use the Original bit
+	*/
+	inline const bool GetOriginalMode() const { return bOriginal; }
+	/**
+		\brief Check wether the Encode process should use the Private bit
+	*/
+	inline const bool GetPrivateMode() const { return bPrivate; }
+	/**
+		\brief Check wether the Encode process should use the Smart Bitrate output
+	*/
+	inline const bool GetSmartOutputMode() const { return bSmartOutput; }
+	/**
+		\brief Check wether the Encode process should allow Average Bitrate output
+	*/
+	inline const bool GetAbrOutputMode() const { return bAbrOutput; }
+
+	/**
+		\brief Check wether the Encode process shouldn't use the Bit Reservoir
+	*/
+	inline const bool GetNoBiResMode() const { return bNoBitRes; }
+
+	/**
+		\brief Check wether the Encode process should force the channel mode (stereo or mono resampling)
+	*/
+	inline const bool GetForceChannelMode() const { return bForceChannel; }
+
+	/**
+		\brief Check wether the Encode process should use the VBR mode
+	*/
+	inline const BRMode GetVBRUseMode() const { return mBRmode; }
+	/**
+		\brief Check wether the Encode process should use the Xing frame in the VBR mode
+		\note the Xing frame is a silent frame at the beginning that contain VBR statistics about the file.
+	*/
+	inline const bool GetXingFrameMode() const { return bXingFrame; }
+
+	/**
+		\brief Check wether the Encode process should resample before encoding
+	*/
+	inline const bool GetResampleMode() const { return bResample; }
+	
+	/**
+		\brief Set wether the Encode process should use the Copyright bit
+	*/
+	inline void SetCopyrightMode(const bool bMode) { bCopyright = bMode; }
+	/**
+		\brief Set wether the Encode process should use the CRC bit
+	*/
+	inline void SetCRCMode(const bool bMode) { bCRC = bMode; }
+	/**
+		\brief Set wether the Encode process should use the Original bit
+	*/
+	inline void SetOriginalMode(const bool bMode) { bOriginal = bMode; }
+	/**
+		\brief Set wether the Encode process should use the Private bit
+	*/
+	inline void SetPrivateMode(const bool bMode) { bPrivate = bMode; }
+
+	/**
+		\brief Set wether the Encode process should use the Smart Bitrate output
+	*/
+	inline void SetSmartOutputMode(const bool bMode) { bSmartOutput = bMode; }
+	/**
+		\brief Set wether the Encode process should use the Average Bitrate output
+	*/
+	inline void SetAbrOutputMode(const bool bMode) { bAbrOutput = bMode; }
+
+
+	/**
+		\brief Set wether the Encode process shouldn't use the Bit Reservoir
+	*/
+	inline void SetNoBiResMode(const bool bMode) { bNoBitRes = bMode; }
+	
+	/**
+		\brief Set wether the Encode process should force the channel mode (stereo or mono resampling)
+	*/
+	inline void SetForceChannelMode(const bool bMode) { bForceChannel = bMode; }
+	
+	/**
+		\brief Set wether the Encode process should use the VBR mode
+	*/
+	inline void SetVBRUseMode(const BRMode mode) { mBRmode = mode; }
+
+	/**
+		\brief Set wether the Encode process should use the Xing frame in the VBR mode
+		\note the Xing frame is a silent frame at the beginning that contain VBR statistics about the file.
+	*/
+	inline void SetXingFrameMode(const bool bMode) { bXingFrame = bMode; }
+
+	/**
+		\brief CBR : Get the bitrate to use         / 
+		       VBR : Get the minimum bitrate value
+	*/
+	const unsigned int GetBitrateValue() const;
+
+	/**
+		\brief Get the current (VBR:min) bitrate for the specified MPEG version
+
+		\param bitrate the data that will be filled with the bitrate
+		\param MPEG_Version The MPEG version (MPEG1 or MPEG2)
+
+		\return 0 if the bitrate is not found, 1 if the bitrate is found
+	*/
+	const int GetBitrateValue(DWORD & bitrate, const DWORD MPEG_Version) const;
+	/**
+		\brief Get the current (VBR:min) bitrate for MPEG I
+
+		\param bitrate the data that will be filled with the bitrate
+
+		\return 0 if the bitrate is not found, 1 if the bitrate is found
+	*/
+	const int GetBitrateValueMPEG1(DWORD & bitrate) const;
+	/**
+		\brief Get the current (VBR:min) bitrate for MPEG II
+
+		\param bitrate the data that will be filled with the bitrate
+
+		\return 0 if the bitrate is not found, 1 if the bitrate is found
+	*/
+	const int GetBitrateValueMPEG2(DWORD & bitrate) const;
+
+	/**
+		\brief Get the current (VBR:min) bitrate in the form of a string
+
+		\param string the string that will be filled
+		\param string_size the size of the string
+
+		\return -1 if the bitrate is not found, and the number of char copied otherwise
+	*/
+	inline const int GetBitrateString(char * string, int string_size) const {return GetBitrateString(string,string_size,nMinBitrateIndex); }
+
+	/**
+		\brief Get the (VBR:min) bitrate corresponding to the specified index in the form of a string
+
+		\param string the string that will be filled
+		\param string_size the size of the string
+		\param a_bitrateID the index in the Bitrate table
+
+		\return -1 if the bitrate is not found, and the number of char copied otherwise
+	*/
+	const int GetBitrateString(char * string, int string_size, int a_bitrateID) const;
+
+	/**
+		\brief Get the number of possible bitrates
+	*/
+	inline const int GetBitrateLentgh() const { return sizeof(the_Bitrates) / sizeof(unsigned int); }
+	/**
+		\brief Get the number of possible sampling frequencies
+	*/
+	inline const unsigned int GetResampleFreq() const { return the_SamplingFreqs[nSamplingFreqIndex]; }
+	/**
+		\brief Get the max compression ratio allowed (1:15 default)
+	*/
+	inline double GetSmartRatio() const { return SmartRatioMax;}
+	/**
+		\brief Get the min ABR bitrate possible
+	*/
+	inline unsigned int GetAbrBitrateMin() const { return AverageBitrate_Min;}
+	/**
+		\brief Get the max ABR bitrate possible
+	*/
+	inline unsigned int GetAbrBitrateMax() const { return AverageBitrate_Max;}
+	/**
+		\brief Get the step between ABR bitrates
+	*/
+	inline unsigned int GetAbrBitrateStep() const { return AverageBitrate_Step;}
+
+	/**
+		\brief Get the VBR attributes for a specified MPEG version
+
+		\param MaxBitrate receive the maximum bitrate possible in the VBR mode
+		\param Quality receive the quality value (0 to 9 see Lame doc for more info)
+		\param VBRHeader receive the value that indicates wether the VBR/Xing header should be filled
+		\param MPEG_Version The MPEG version (MPEG1 or MPEG2)
+
+		\return the VBR mode (Old, New, ABR, MTRH, Default or None)
+	*/
+//	VBRMETHOD GetVBRValue(DWORD & MaxBitrate, int & Quality, DWORD & AbrBitrate, BOOL & VBRHeader, const DWORD MPEG_Version) const;
+
+	/**
+		\brief Get the Lame DLL Location
+	*/
+//	const char * GetDllLocation() const { return DllLocation.c_str(); }
+	/**
+		\brief Set the Lame DLL Location
+	*/
+//	void SetDllLocation( const char * the_string ) { DllLocation = the_string; }
+
+	/**
+		\brief Get the output directory for encoding
+	*/
+//	const char * GetOutputDirectory() const { return OutputDir.c_str(); }
+	/**
+		\brief Set the output directory for encoding
+	*/
+//	void SetOutputDirectory( const char * the_string ) { OutputDir = the_string; }
+
+	/**
+		\brief Get the current channel mode to use
+	*/
+	const unsigned int GetChannelModeValue() const;
+	/**
+		\brief Get the current channel mode in the form of a string
+	*/
+	inline const char * GetChannelModeString() const {return GetChannelModeString(nChannelIndex); }
+	/**
+		\brief Get the channel mode in the form of a string for the specified Channel mode index
+
+		\param a_channelID the Channel mode index (see GetChannelLentgh())
+	*/
+	const char * GetChannelModeString(const int a_channelID) const;
+	/**
+		\brief Get the number of possible channel mode
+	*/
+	inline const int GetChannelLentgh() const { return 3; }
+
+	/**
+		\brief Get the current preset to use, see lame documentation/code for more info on the possible presets
+	*/
+//	const LAME_QUALTIY_PRESET GetPresetModeValue() const;
+	/**
+		\brief Get the preset in the form of a string for the specified Channel mode index
+
+		\param a_presetID the preset index (see GetPresetLentgh())
+	*/
+	const char * GetPresetModeString(const int a_presetID) const;
+	/**
+		\brief Get the number of possible presets
+	*/
+//	inline const int GetPresetLentgh() const { return sizeof(the_Presets) / sizeof(LAME_QUALTIY_PRESET); }
+
+	/**
+		\brief Start the user configuration process (called by AOut::config())
+	*/
+	bool Config(const HINSTANCE hInstance, const HWND HwndParent);
+
+	/**
+		\brief Init the config dialog box with the right texts and choices
+	*/
+	bool InitConfigDlg(HWND hDialog);
+
+	/**
+		\brief Update the instance parameters from the config dialog box
+	*/
+	bool UpdateValueFromDlg(HWND hDialog);
+	/**
+		\brief Update the config dialog box from the instance parameters
+	*/
+	bool UpdateDlgFromValue(HWND hDialog);
+
+	/**
+		\brief Update the config dialog box with the BitRate mode
+	*/
+	static void DisplayVbrOptions(const HWND hDialog, const BRMode the_mode);
+
+	/**
+		\brief Handle the saving of parameters when something has changed in the config dialog box
+	*/
+	void SaveParams(const HWND hDialog);
+
+	/**
+		\brief Save the current parameters (current config in use)
+	*/
+	void ParamsSave(void);
+	/**
+		\brief Load the parameters (current config in use)
+	*/
+	void ParamsRestore(void);
+
+	/**
+		\brief Select the specified config name as the new default one
+	*/
+	void SelectSavedParams(const std::string config_name);
+	/**
+		\brief Save the current parameters to the specified config name
+	*/
+	void SaveValuesToStringKey(const std::string & config_name);
+	/**
+		\brief Rename the current config name to something else
+	*/
+	bool RenameCurrentTo(const std::string & new_config_name);
+	/**
+		\brief Delete the config name from the saved configs
+	*/
+	bool DeleteConfig(const std::string & config_name);
+
+	ADbg              my_debug;
+
+	/**
+		\brief Update the slides value (on scroll)
+	*/
+	void UpdateDlgFromSlides(HWND parent_window) const;
+
+	static ToolTipItem Tooltips[13];
+private:
+
+	bool bCopyright;
+	bool bCRC;
+	bool bOriginal;
+	bool bPrivate;
+	bool bNoBitRes;
+	BRMode mBRmode;
+	bool bXingFrame;
+	bool bForceChannel;
+	bool bResample;
+	bool bSmartOutput;
+	bool bAbrOutput;
+
+	int VbrQuality;
+	unsigned int AverageBitrate_Min;
+	unsigned int AverageBitrate_Max;
+	unsigned int AverageBitrate_Step;
+
+	double SmartRatioMax;
+
+	static const unsigned int the_ChannelModes[3];
+	int nChannelIndex;
+
+	static const unsigned int the_Bitrates[18];
+	static const unsigned int the_MPEG1_Bitrates[14];
+	static const unsigned int the_MPEG2_Bitrates[14];
+	int nMinBitrateIndex; // CBR and VBR
+	int nMaxBitrateIndex; // only used in VBR mode
+
+	static const unsigned int the_SamplingFreqs[9];
+	int nSamplingFreqIndex;
+
+//	static const LAME_QUALTIY_PRESET the_Presets[17];
+	int nPresetIndex;
+
+//	char DllLocation[512];
+//	std::string DllLocation;
+//	char OutputDir[MAX_PATH];
+//	std::string OutputDir;
+
+//	AParameters my_base_parameters;
+	TiXmlDocument my_stored_data;
+	std::string my_store_location;
+	std::string my_current_config;
+
+//	HINSTANCE hDllInstance;
+
+	void SaveValuesToElement(TiXmlElement * the_element) const;
+	inline void SetAttributeBool(TiXmlElement * the_elt,const std::string & the_string, const bool the_value) const;
+	void UpdateConfigs(const HWND HwndDlg);
+	void EnableAbrOptions(HWND hDialog, bool enable);
+
+	HMODULE my_hModule;
+
+	/**
+		\brief
+
+		\param config_name
+		\param parentNode
+	*/
+	void GetValuesFromKey(const std::string & config_name, const TiXmlNode & parentNode);
+};
+
+#endif // !defined(_AENCODEPROPERTIES_H__INCLUDED_)

+ 242 - 0
ACM/DecodeStream.cpp

@@ -0,0 +1,242 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(STRICT)
+#define STRICT
+#endif // STRICT
+
+#include <assert.h>
+#include <windows.h>
+
+#ifdef ENABLE_DECODING
+
+#include "adebug.h"
+
+#include "DecodeStream.h"
+
+// static methods
+
+DecodeStream * DecodeStream::Create()
+{
+	DecodeStream * Result;
+
+	Result = new DecodeStream;
+
+	return Result;
+}
+
+const bool DecodeStream::Erase(const DecodeStream * a_ACMStream)
+{
+	delete a_ACMStream;
+	return true;
+}
+
+// class methods
+
+DecodeStream::DecodeStream() :
+ m_WorkingBufferUseSize(0),
+ gfp(NULL)
+{
+	 /// \todo get the debug level from the registry
+my_debug = new ADbg(DEBUG_LEVEL_CREATION);
+	if (my_debug != NULL) {
+		unsigned char DebugFileName[512];
+
+		my_debug->setPrefix("MPG123stream"); /// \todo get it from the registry
+my_debug->setIncludeTime(true);  /// \todo get it from the registry
+
+// Check in the registry if we have to Output Debug information
+DebugFileName[0] = '\0';
+
+		HKEY OssKey;
+		if (RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MUKOLI", 0, KEY_READ , &OssKey ) == ERROR_SUCCESS) {
+			DWORD DataType;
+			DWORD DebugFileNameSize = 512;
+			if (RegQueryValueEx( OssKey, "DebugFile", NULL, &DataType, DebugFileName, &DebugFileNameSize ) == ERROR_SUCCESS) {
+				if (DataType == REG_SZ) {
+					my_debug->setUseFile(true);
+					my_debug->setDebugFile((char *)DebugFileName);
+					my_debug->OutPut("Debug file is %s",(char *)DebugFileName);
+				}
+			}
+		}
+		my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "DecodeStream Creation (0X%08X)",this);
+	}
+	else {
+		ADbg debug;
+		debug.OutPut("DecodeStream::ACMACMStream : Impossible to create my_debug");
+	}
+
+}
+
+DecodeStream::~DecodeStream()
+{
+//	lame_close( gfp );
+
+	if (my_debug != NULL)
+	{
+		my_debug->OutPut(DEBUG_LEVEL_FUNC_START, "DecodeStream Deletion (0X%08X)",this);
+		delete my_debug;
+	}
+}
+
+bool DecodeStream::init(const int nSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const int nSourceBitrate)
+{
+	bool bResult = false;
+
+	my_SamplesPerSec  = nSamplesPerSec;
+	my_Channels       = nChannels;
+	my_AvgBytesPerSec = nAvgBytesPerSec;
+	my_SourceBitrate  = nSourceBitrate;
+
+	bResult = true;
+
+	return bResult;
+}
+
+bool DecodeStream::open()
+{
+	bool bResult = false;
+
+	bResult = bool(InitMP3(&my_DecodeData) != 0);
+
+	return bResult;
+}
+
+bool DecodeStream::close(LPBYTE pOutputBuffer, DWORD *pOutputSize)
+{
+
+	bool bResult = false;
+/*
+	int nOutputSamples = 0;
+
+    nOutputSamples = lame_encode_flush( gfp, pOutputBuffer, 0 );
+
+	if ( nOutputSamples < 0 )
+	{
+		// BUFFER_TOO_SMALL
+		*pOutputSize = 0;
+	}
+	else
+	{
+		*pOutputSize = nOutputSamples;
+
+		bResult = true;
+	}
+/*
+	// lame will be close in VbrWriteTag function
+	if ( !lame_get_bWriteVbrTag( gfp ) )
+	{
+		// clean up of allocated memory
+		lame_close( gfp );
+	}
+*/
+    
+	ExitMP3(&my_DecodeData);
+
+	bResult = true;
+    
+	return bResult;
+}
+
+DWORD DecodeStream::GetOutputSizeForInput(const DWORD the_SrcLength) const
+{
+	DWORD Result;
+
+	double OutputInputRatio = double(my_SamplesPerSec * 2 * my_Channels) / double(my_SourceBitrate);
+
+	OutputInputRatio *= 1.15; // allow 15% more
+
+	Result = DWORD(double(the_SrcLength) * OutputInputRatio);
+
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "Result = %d (OutputInputRatio = %f)",Result,OutputInputRatio);
+
+	return Result;
+}
+
+bool DecodeStream::ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader)
+{
+	bool result = false;
+
+if (my_debug != NULL)
+{
+my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "enter DecodeStream::ConvertBuffer");
+}
+
+	int ProcessedBytes;
+
+	int ret = decodeMP3(&my_DecodeData, a_StreamHeader->pbSrc, a_StreamHeader->cbSrcLength, (char *)a_StreamHeader->pbDst, a_StreamHeader->cbDstLength, &ProcessedBytes);
+
+	switch (ret)
+	{
+	    case MP3_OK:
+			a_StreamHeader->cbSrcLengthUsed = a_StreamHeader->cbSrcLength;
+			a_StreamHeader->cbDstLengthUsed = ProcessedBytes;
+			result = true;
+			break;
+	    case MP3_NEED_MORE:
+			a_StreamHeader->cbSrcLengthUsed = 0;
+	a_StreamHeader->cbDstLengthUsed = 0;
+			break;
+	    case MP3_ERR:
+			break;
+	}
+
+/*
+	DWORD InSize = a_StreamHeader->cbSrcLength / 2, OutSize = a_StreamHeader->cbDstLength; // 2 for 8<->16 bits
+
+// Encode it
+int dwSamples;
+	int nOutputSamples = 0;
+
+	dwSamples = InSize / lame_get_num_channels( gfp );
+
+	if ( 1 == lame_get_num_channels( gfp ) )
+	{
+		nOutputSamples = lame_encode_buffer(gfp,(PSHORT)a_StreamHeader->pbSrc,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength);
+	}
+	else
+	{
+		nOutputSamples = lame_encode_buffer_interleaved(gfp,(PSHORT)a_StreamHeader->pbSrc,dwSamples,a_StreamHeader->pbDst,a_StreamHeader->cbDstLength);
+	}
+
+	a_StreamHeader->cbSrcLengthUsed = a_StreamHeader->cbSrcLength;
+	a_StreamHeader->cbDstLengthUsed = nOutputSamples;
+
+	result = a_StreamHeader->cbDstLengthUsed <= a_StreamHeader->cbDstLength;
+*/
+	my_debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "UsedSize = %d / EncodedSize = %d, result = %d, ret = %s", a_StreamHeader->cbSrcLengthUsed, a_StreamHeader->cbDstLengthUsed, result,
+		(ret == MP3_OK)?"MP3_OK":(ret == MP3_NEED_MORE)?"MP3_NEED_MORE":"error");
+
+if (my_debug != NULL)
+{
+my_debug->OutPut(DEBUG_LEVEL_FUNC_DEBUG, "DecodeStream::ConvertBuffer result = %d",result);
+}
+
+	return result;
+}
+#endif // ENABLE_DECODING

+ 83 - 0
ACM/DecodeStream.h

@@ -0,0 +1,83 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(_DECODESTREAM_H__INCLUDED_)
+#define _DECODESTREAM_H__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#include <mmreg.h>
+#include <msacm.h>
+#include <msacmdrv.h>
+
+#include "ADbg/ADbg.h"
+
+
+struct lame_global_flags;
+
+
+class DecodeStream
+{
+public:
+	DecodeStream( );
+	virtual ~DecodeStream( );
+
+	static DecodeStream * Create();
+	static const bool Erase(const DecodeStream * a_ACMStream);
+
+	bool init(const int nSamplesPerSec, const int nChannels, const int nAvgBytesPerSec, const int nSourceBitrate);
+	bool open();
+	bool close(LPBYTE pOutputBuffer, DWORD *pOutputSize);
+
+	DWORD GetOutputSizeForInput(const DWORD the_SrcLength) const;
+	bool  ConvertBuffer(LPACMDRVSTREAMHEADER a_StreamHeader);
+
+	static unsigned int GetOutputSampleRate(int samples_per_sec, int bitrate, int channels);
+
+protected:
+	lame_global_flags * gfp;
+
+	ADbg * my_debug;
+	int my_SamplesPerSec;
+	int my_Channels;
+	int my_AvgBytesPerSec;
+	DWORD  my_SamplesPerBlock;
+	int my_SourceBitrate;
+
+	MPSTR my_DecodeData;
+
+	unsigned int m_WorkingBufferUseSize;
+	char m_WorkingBuffer[2304*2]; // should be at least twice my_SamplesPerBlock
+
+	inline int GetBytesPerBlock(DWORD bytes_per_sec, DWORD samples_per_sec, int BlockAlign) const;
+
+};
+
+#endif // !defined(_DECODESTREAM_H__INCLUDED_)
+

+ 91 - 0
ACM/LameACM.inf

@@ -0,0 +1,91 @@
+; Lame codec
+; enable MP3 compression in Windows
+
+; Usage : right-click on this file and choose "Install" in the pop up menu
+
+[Version]
+Signature = "$CHICAGO$"
+Class = MEDIA
+
+[SourceDisksNames]
+1="Lame MP3 Install Disk",, 0001
+
+[SourceDisksFiles]
+LameACM.inf=1
+LameACM.acm=1
+lame_acm.xml=1
+
+[Installable.Drivers]
+lameacm  = 1:LameACM.acm, "msacm.lameacm", %DisplayNameWin% , , ,
+
+[DefaultInstall]
+CopyFiles  = LameACM.Copy,LameACM.Copy.Inf
+Updateinis = LameACM.Updateini
+;addreg     = LameACM.AddReg,LameACM.AddReg9x,LameACM.DoReg
+addreg     = LameACM.AddReg,LameACM.AddReg9x
+MediaType  = SOFTWARE
+
+[DefaultInstall.ntx86]
+CopyFiles  = LameACM.Copy,LameACM.Copy.Inf
+;addreg     = LameACM.AddReg,LameACM.AddRegNT,LameACM.DoReg
+addreg     = LameACM.AddReg,LameACM.AddRegNT
+MediaType  = SOFTWARE
+
+[Remove_LameMP3]
+;AddReg     = LameACM.Unregister
+DelReg     = LameACM.DelReg
+DelFiles   = LameACM.Copy,LameACM.Copy.Inf
+UpdateInis = LameACM.UpdateIni
+
+[LameACM.Copy]
+LameACM.acm
+lame_acm.xml
+
+[LameACM.Copy.Inf]
+LameACM.inf
+
+[LameACM.UpdateIni]
+system.ini, drivers32,,"msacm.lameacm=LameACM.acm"
+
+[LameACM.AddReg]
+HKLM, "Software\Microsoft\Windows NT\CurrentVersion\Drivers32","msacm.lameacm",,"LameACM.acm"
+HKLM, "Software\Microsoft\Windows NT\CurrentVersion\Drivers.desc","LameACM.acm",,%DisplayNameWin%
+
+
+[LameACM.AddReg9x]
+HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm,Description,,%DisplayNameWin%
+HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm,Driver,,LameACM.acm
+HKLM,SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm,FriendlyName,,%DisplayNameWin%
+HKLM,%UnInstallPath%,DisplayName,,%DisplayNameWin%
+HKLM,%UnInstallPath%,UninstallString,,"%10%\rundll.exe setupx.dll,InstallHinfSection Remove_LameMP3 132 %17%\%InfFile%"
+
+[LameACM.AddRegNT]
+HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers32","msacm.lameacm",,"LameACM.acm"
+HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc","LameACM.acm",,%DisplayNameWin%
+HKLM,%UnInstallPath%,DisplayName,,%DisplayNameWin%
+HKLM,%UnInstallPath%,UninstallString,,"%11%\rundll32.exe setupapi,InstallHinfSection Remove_LameMP3 132 %17%\%InfFile%"
+
+;[LameACM.DoReg]
+;HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,"Lame ACM MP3 Codec",,"%11%\regsvr32.exe /s %11%\LameCom.acm"
+
+[LameACM.DelReg]
+HKLM,"SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.lameacm"
+HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc","LameACM.acm",,""
+HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers32","msacm.lameacm",,""
+HKLM,%UnInstallPath%
+
+;[LameACM.Unregister]
+;HKLM,"Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup","Lame ACM MP3 Codec",,"%11%\regsvr32.exe /s /u %11%\LameCom.acm"
+
+[DestinationDirs]
+DefaultDestDir   = 11	; LDID_SYS
+LameACM.Copy     = 11
+LameACM.Copy.Inf = 17
+
+[Strings]
+InfFile="LameACM.inf"
+DisplayNameWin="Lame ACM MP3 Codec"
+UnInstallPath="Software\Microsoft\Windows\CurrentVersion\Uninstall\LameACM"
+MediaClassName="Media Devices"
+mfgname="Steve Lhomme"
+

+ 26 - 0
ACM/Makefile.am

@@ -0,0 +1,26 @@
+## $Id$
+
+include $(top_srcdir)/Makefile.am.global
+
+SUBDIRS = ADbg ddk tinyxml
+
+EXTRA_DIST = \
+	ACM.cpp \
+	ACM.h \
+	ACMStream.cpp \
+	ACMStream.h \
+	AEncodeProperties.cpp \
+	AEncodeProperties.h \
+	DecodeStream.cpp \
+	DecodeStream.h \
+	LameACM.inf \
+	TODO \
+	acm.rc \
+	adebug.h \
+	lame.ico \
+	lameACM.def \
+	lame_acm.xml \
+	main.cpp \
+	readme.txt \
+	resource.h
+

+ 671 - 0
ACM/Makefile.in

@@ -0,0 +1,671 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# global section for every Makefile.am
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = ACM
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/Makefile.am.global TODO
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_DEFS = @CONFIG_DEFS@
+CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPUCCODE = @CPUCCODE@
+CPUTYPE = @CPUTYPE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
+FRONTEND_LDADD = @FRONTEND_LDADD@
+FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_CONFIG = @GTK_CONFIG@
+GTK_LIBS = @GTK_LIBS@
+INCLUDES = @INCLUDES@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDADD = @LDADD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
+LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEDEP = @MAKEDEP@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NASM = @NASM@
+NASM_FORMAT = @NASM_FORMAT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RM_F = @RM_F@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WITH_FRONTEND = @WITH_FRONTEND@
+WITH_MP3RTP = @WITH_MP3RTP@
+WITH_MP3X = @WITH_MP3X@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = 1.15 foreign
+SUBDIRS = ADbg ddk tinyxml
+EXTRA_DIST = \
+	ACM.cpp \
+	ACM.h \
+	ACMStream.cpp \
+	ACMStream.h \
+	AEncodeProperties.cpp \
+	AEncodeProperties.h \
+	DecodeStream.cpp \
+	DecodeStream.h \
+	LameACM.inf \
+	TODO \
+	acm.rc \
+	adebug.h \
+	lame.ico \
+	lameACM.def \
+	lame_acm.xml \
+	main.cpp \
+	readme.txt \
+	resource.h
+
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ACM/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign ACM/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+$(top_srcdir)/Makefile.am.global $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# end global section
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

+ 9 - 0
ACM/TODO

@@ -0,0 +1,9 @@
+- known bug : when recording, converting, and recording a lame_close() call fail
+- allow decompression the same way as in the command-line
+- allow VBR mode
+- allow channel resampling (mono to stereo / stereo to mono)
+- allow internal resampling (difference in the format suggestion)
+- use global pointers for string
+- use the bitrate/freq tables from LAME
+
+/ add the decoding engine

+ 219 - 0
ACM/acm.rc

@@ -0,0 +1,219 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// Französisch (Frankreich) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""afxres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 0,9,1,0
+ PRODUCTVERSION 0,9,1,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x3L
+ FILESUBTYPE 0x8L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "Comments", "This is an ACM driver for Win32 using Lame to encode\0"
+            VALUE "CompanyName", "http://www.mp3dev.org/\0"
+            VALUE "FileDescription", "Lame MP3 codec engine\0"
+            VALUE "FileVersion", "0.9.2\0"
+            VALUE "InternalName", "lameACM\0"
+            VALUE "LegalCopyright", "Copyright © 2002 Steve Lhomme, Copyright © 2002-2007 The LAME Project\0"
+            VALUE "LegalTrademarks", "LGPL (see gnu.org)\0"
+            VALUE "OriginalFilename", "lameACM.acm\0"
+            VALUE "PrivateBuild", "\0"
+            VALUE "ProductName", "Lame MP3 codec\0"
+            VALUE "ProductVersion", "0.9.2\0"
+            VALUE "SpecialBuild", "\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
+
+#endif    // !_MAC
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ICON                ICON    DISCARDABLE     "lame.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_CONFIG DIALOGEX 0, 0, 231, 204
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Lame MP3 codec : About"
+FONT 8, "MS Sans Serif", 0, 0, 0x1
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,65,183,50,14
+    PUSHBUTTON      "Cancel",IDCANCEL,125,183,50,14
+    GROUPBOX        "Encoding",IDC_STATIC,7,7,142,166
+    GROUPBOX        "Decoding",IDC_STATIC_DECODING,154,7,70,113,WS_DISABLED
+    GROUPBOX        "Bits",IDC_STATIC,16,121,124,42
+    CONTROL         "Copyright",IDC_CHECK_COPYRIGHT,"Button",BS_AUTOCHECKBOX | 
+                    BS_FLAT | WS_GROUP | WS_TABSTOP,23,132,45,10
+    CONTROL         "Checksum",IDC_CHECK_CHECKSUM,"Button",BS_AUTOCHECKBOX | 
+                    BS_FLAT | WS_GROUP | WS_TABSTOP,84,132,49,10
+    CONTROL         "Original",IDC_CHECK_ORIGINAL,"Button",BS_AUTOCHECKBOX | 
+                    BS_FLAT | WS_GROUP | WS_TABSTOP,23,148,39,10
+    CONTROL         "Private",IDC_CHECK_PRIVATE,"Button",BS_AUTOCHECKBOX | 
+                    BS_FLAT | WS_GROUP | WS_TABSTOP,84,148,38,10
+    COMBOBOX        IDC_COMBO_ENC_STEREO,70,21,60,53,CBS_DROPDOWNLIST | 
+                    WS_VSCROLL | WS_GROUP | WS_TABSTOP
+    LTEXT           "Stereo mode",IDC_STATIC,23,24,41,8
+    CONTROL         "Smart Encode",IDC_CHECK_ENC_SMART,"Button",
+                    BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,49,39,
+                    61,10
+    ICON            IDI_ICON,IDC_STATIC_ENC_ICON,179,129,20,20
+    CTEXT           "v0.0.0 - 0.00",IDC_STATIC_CONFIG_VERSION,168,155,43,17
+    CONTROL         "Average BitRate",IDC_CHECK_ENC_ABR,"Button",
+                    BS_AUTOCHECKBOX | BS_FLAT | WS_GROUP | WS_TABSTOP,49,53,
+                    68,10
+    LTEXT           "Min",IDC_STATIC_AVERAGE_MIN,19,67,12,8
+    LTEXT           "Max",IDC_STATIC_AVERAGE_MAX,17,79,14,8
+    LTEXT           "Step",IDC_STATIC_AVERAGE_STEP,15,91,16,8
+    LTEXT           "test",IDC_STATIC_AVERAGE_SAMPLE,19,105,12,8
+    CONTROL         "Slider2",IDC_SLIDER_AVERAGE_MIN,"msctls_trackbar32",
+                    TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_GROUP | 
+                    WS_TABSTOP,33,67,92,11
+    CONTROL         "Slider3",IDC_SLIDER_AVERAGE_MAX,"msctls_trackbar32",
+                    TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_GROUP | 
+                    WS_TABSTOP,33,79,92,11
+    CONTROL         "Slider1",IDC_SLIDER_AVERAGE_STEP,"msctls_trackbar32",
+                    TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_GROUP | 
+                    WS_TABSTOP,33,91,92,11
+    CONTROL         "Slider4",IDC_SLIDER_AVERAGE_SAMPLE,"msctls_trackbar32",
+                    WS_TABSTOP,33,104,92,12
+    CTEXT           "000",IDC_STATIC_AVERAGE_SAMPLE_VALUE,125,105,15,9,0,
+                    WS_EX_STATICEDGE
+    CTEXT           "000",IDC_STATIC_AVERAGE_STEP_VALUE,125,92,15,9,0,
+                    WS_EX_STATICEDGE
+    CTEXT           "000",IDC_STATIC_AVERAGE_MAX_VALUE,125,80,15,9,0,
+                    WS_EX_STATICEDGE
+    CTEXT           "000",IDC_STATIC_AVERAGE_MIN_VALUE,125,67,15,9,0,
+                    WS_EX_STATICEDGE
+END
+
+IDD_ABOUT DIALOG DISCARDABLE  0, 0, 187, 77
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Lame MP3 codec : About"
+FONT 8, "MS Sans Serif"
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,130,56,50,14
+    LTEXT           "Steve Lhomme + LAME developers",IDC_STATIC,7,33,112,8
+    LTEXT           "LGPL license",IDC_STATIC,7,20,43,8
+    ICON            IDI_ICON,IDC_STATIC,145,16,20,20
+    LTEXT           "Static",IDC_STATIC_ABOUT_TITLE,7,7,173,8
+    LTEXT           "http://www.mp3dev.org/",IDC_STATIC_ABOUT_URL,7,47,80,8
+    LTEXT           "icon : Lucas Granito",IDC_STATIC,7,61,64,8
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE 
+BEGIN
+    IDD_CONFIG, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 224
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 197
+    END
+
+    IDD_ABOUT, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 180
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 70
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+#endif    // Französisch (Frankreich) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+

+ 39 - 0
ACM/adebug.h

@@ -0,0 +1,39 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(_DEBUG_H__INCLUDED_)
+#define _DEBUG_H__INCLUDED_
+
+#define DEBUG_LEVEL_CREATION 0
+
+#define DEBUG_LEVEL_MSG 0
+#define DEBUG_LEVEL_FUNC_START 1
+#define DEBUG_LEVEL_FUNC_DEBUG 2
+#define DEBUG_LEVEL_FUNC_CODE 3
+
+#endif /* !defined(_DEBUG_H__INCLUDED_) */
+

+ 6 - 0
ACM/ddk/Makefile.am

@@ -0,0 +1,6 @@
+## $Id$
+
+include $(top_srcdir)/Makefile.am.global
+
+EXTRA_DIST = \
+	msacmdrv.h

+ 473 - 0
ACM/ddk/Makefile.in

@@ -0,0 +1,473 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# global section for every Makefile.am
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = ACM/ddk
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/Makefile.am.global
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_DEFS = @CONFIG_DEFS@
+CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPUCCODE = @CPUCCODE@
+CPUTYPE = @CPUTYPE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
+FRONTEND_LDADD = @FRONTEND_LDADD@
+FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_CONFIG = @GTK_CONFIG@
+GTK_LIBS = @GTK_LIBS@
+INCLUDES = @INCLUDES@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDADD = @LDADD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
+LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEDEP = @MAKEDEP@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NASM = @NASM@
+NASM_FORMAT = @NASM_FORMAT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RM_F = @RM_F@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WITH_FRONTEND = @WITH_FRONTEND@
+WITH_MP3RTP = @WITH_MP3RTP@
+WITH_MP3X = @WITH_MP3X@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = 1.15 foreign
+EXTRA_DIST = \
+	msacmdrv.h
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ACM/ddk/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign ACM/ddk/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+$(top_srcdir)/Makefile.am.global $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# end global section
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

+ 185 - 0
ACM/ddk/msacmdrv.h

@@ -0,0 +1,185 @@
+/**
+ *
+ * Alternative msacmdrv.h file, for use in the Lame project.
+ * File from the FFDshow project, released under LGPL by permission
+ * from Milan Cutka.
+ * Modified by Gabriel Bouvigne to allow compilation of Lame.
+ *
+ *  Copyright (c) 2003 Milan Cutka
+ *  Copyright (c) 2003 Gabriel Bouvigne
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#ifndef _MSACMDRV_H_
+#define _MSACMDRV_H_
+
+
+#include <mmreg.h>
+#include <msacm.h>
+
+
+
+typedef  unsigned long ULONG_PTR, *PULONG_PTR;
+
+
+
+typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
+
+
+#undef ACMDRIVERDETAILS
+#undef PACMDRIVERDETAILS
+#undef LPACMDRIVERDETAILS
+
+#define ACMDRIVERDETAILS        ACMDRIVERDETAILSW
+#define PACMDRIVERDETAILS       PACMDRIVERDETAILSW
+#define LPACMDRIVERDETAILS      LPACMDRIVERDETAILSW
+
+#undef ACMFORMATTAGDETAILS
+#undef PACMFORMATTAGDETAILS
+#undef LPACMFORMATTAGDETAILS
+
+#define ACMFORMATTAGDETAILS     ACMFORMATTAGDETAILSW
+#define PACMFORMATTAGDETAILS    PACMFORMATTAGDETAILSW
+#define LPACMFORMATTAGDETAILS   LPACMFORMATTAGDETAILSW
+
+#undef ACMFORMATDETAILS
+#undef PACMFORMATDETAILS
+#undef LPACMFORMATDETAILS
+
+#define ACMFORMATDETAILS	ACMFORMATDETAILSW
+#define PACMFORMATDETAILS	PACMFORMATDETAILSW
+#define LPACMFORMATDETAILS	LPACMFORMATDETAILSW
+
+
+#define MAKE_ACM_VERSION(mjr, mnr, bld) (((long)(mjr)<<24)| \
+                                         ((long)(mnr)<<16)| \
+                                         ((long)bld))
+
+#define VERSION_MSACM       MAKE_ACM_VERSION(3, 50, 0)
+#define VERSION_ACM_DRIVER  MAKE_ACM_VERSION(4,  0, 0)
+
+
+#define ACMDM_DRIVER_NOTIFY             (ACMDM_BASE + 1)
+#define ACMDM_DRIVER_DETAILS            (ACMDM_BASE + 10)
+
+#define ACMDM_HARDWARE_WAVE_CAPS_INPUT  (ACMDM_BASE + 20)
+#define ACMDM_HARDWARE_WAVE_CAPS_OUTPUT (ACMDM_BASE + 21)
+
+#define ACMDM_FORMATTAG_DETAILS         (ACMDM_BASE + 25)
+#define ACMDM_FORMAT_DETAILS            (ACMDM_BASE + 26)
+#define ACMDM_FORMAT_SUGGEST            (ACMDM_BASE + 27)
+
+#define ACMDM_FILTERTAG_DETAILS         (ACMDM_BASE + 50)
+#define ACMDM_FILTER_DETAILS            (ACMDM_BASE + 51)
+
+#define ACMDM_STREAM_OPEN               (ACMDM_BASE + 76)
+#define ACMDM_STREAM_CLOSE              (ACMDM_BASE + 77)
+#define ACMDM_STREAM_SIZE               (ACMDM_BASE + 78)
+#define ACMDM_STREAM_CONVERT            (ACMDM_BASE + 79)
+#define ACMDM_STREAM_RESET              (ACMDM_BASE + 80)
+#define ACMDM_STREAM_PREPARE            (ACMDM_BASE + 81)
+#define ACMDM_STREAM_UNPREPARE          (ACMDM_BASE + 82)
+
+typedef struct tACMDRVFORMATSUGGEST
+{
+    DWORD               cbStruct;           // sizeof(ACMDRVFORMATSUGGEST)
+    DWORD               fdwSuggest;         // Suggest flags
+    LPWAVEFORMATEX      pwfxSrc;            // Source Format
+    DWORD               cbwfxSrc;           // Source Size
+    LPWAVEFORMATEX      pwfxDst;            // Dest format
+    DWORD               cbwfxDst;           // Dest Size
+
+} ACMDRVFORMATSUGGEST, *PACMDRVFORMATSUGGEST, FAR *LPACMDRVFORMATSUGGEST;
+
+
+
+
+typedef struct tACMDRVOPENDESC
+{
+    DWORD           cbStruct;       // sizeof(ACMDRVOPENDESC)
+    FOURCC          fccType;        // 'audc'
+    FOURCC          fccComp;        // sub-type (not used--must be 0)
+    DWORD           dwVersion;      // current version of ACM opening you
+    DWORD           dwFlags;        //
+    DWORD           dwError;        // result from DRV_OPEN request
+    LPCWSTR         pszSectionName; // see DRVCONFIGINFO.lpszDCISectionName
+    LPCWSTR         pszAliasName;   // see DRVCONFIGINFO.lpszDCIAliasName
+    DWORD           dnDevNode;	    // devnode id for pnp drivers.
+
+} ACMDRVOPENDESC, *PACMDRVOPENDESC, FAR *LPACMDRVOPENDESC;
+
+
+typedef struct tACMDRVSTREAMINSTANCE
+{
+    DWORD               cbStruct;
+    LPWAVEFORMATEX      pwfxSrc;
+    LPWAVEFORMATEX      pwfxDst;
+    LPWAVEFILTER        pwfltr;
+    DWORD_PTR           dwCallback;
+    DWORD_PTR           dwInstance;
+    DWORD               fdwOpen;
+    DWORD               fdwDriver;
+    DWORD_PTR           dwDriver;
+    HACMSTREAM          has;
+
+} ACMDRVSTREAMINSTANCE, *PACMDRVSTREAMINSTANCE, FAR *LPACMDRVSTREAMINSTANCE;
+
+typedef struct tACMDRVSTREAMSIZE
+{
+    DWORD               cbStruct;
+    DWORD               fdwSize;
+    DWORD               cbSrcLength;
+    DWORD               cbDstLength;
+
+} ACMDRVSTREAMSIZE, *PACMDRVSTREAMSIZE, FAR *LPACMDRVSTREAMSIZE;
+
+typedef struct tACMDRVSTREAMHEADER FAR *LPACMDRVSTREAMHEADER;
+typedef struct tACMDRVSTREAMHEADER
+{
+    DWORD                   cbStruct;
+    DWORD                   fdwStatus;
+    DWORD_PTR               dwUser;
+    LPBYTE                  pbSrc;
+    DWORD                   cbSrcLength;
+    DWORD                   cbSrcLengthUsed;
+    DWORD_PTR               dwSrcUser;
+    LPBYTE                  pbDst;
+    DWORD                   cbDstLength;
+    DWORD                   cbDstLengthUsed;
+    DWORD_PTR               dwDstUser;
+
+    DWORD                   fdwConvert;     // flags passed from convert func
+    LPACMDRVSTREAMHEADER    padshNext;      // for async driver queueing
+    DWORD                   fdwDriver;      // driver instance flags
+    DWORD_PTR               dwDriver;       // driver instance data
+
+    //
+    //  all remaining fields are used by the ACM for bookkeeping purposes.
+    //  an ACM driver should never use these fields (though than can be
+    //  helpful for debugging)--note that the meaning of these fields
+    //  may change, so do NOT rely on them in shipping code.
+    //
+    DWORD                   fdwPrepared;
+    DWORD_PTR               dwPrepared;
+    LPBYTE                  pbPreparedSrc;
+    DWORD                   cbPreparedSrcLength;
+    LPBYTE                  pbPreparedDst;
+    DWORD                   cbPreparedDstLength;
+
+} ACMDRVSTREAMHEADER, *PACMDRVSTREAMHEADER;
+
+#endif

BIN
ACM/lame.ico


+ 25 - 0
ACM/lameACM.def

@@ -0,0 +1,25 @@
+; Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+;
+;  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+;
+; This library is free software; you can redistribute it and/or
+; modify it under the terms of the GNU Lesser General Public
+; License as published by the Free Software Foundation; either
+; version 2.1 of the License, or (at your option) any later version.
+;
+; This library is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+; Lesser General Public License for more details.
+;
+; You should have received a copy of the GNU Lesser General Public
+; License along with this library; if not, write to the Free Software
+; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+LIBRARY     lameACM
+
+DESCRIPTION 'lameACM.acm: MP3 Lame ACM Codec'
+
+EXPORTS     DriverProc
+
+; EOF

+ 13 - 0
ACM/lame_acm.xml

@@ -0,0 +1,13 @@
+<lame_acm>
+    <encodings default="Current">
+        <config name="Current">
+            <Smart use="true" />
+            <Copyright use="true" />
+            <CRC use="true" />
+            <Original use="false" />
+            <Private use="false" />
+            <Channel mode="Joint-stereo" />
+            <ABR use="true" min="88" max="160" step="6" />
+        </config>
+    </encodings>
+</lame_acm>

+ 216 - 0
ACM/main.cpp

@@ -0,0 +1,216 @@
+/**
+ *
+ * Lame ACM wrapper, encode/decode MP3 based RIFF/AVI files in MS Windows
+ *
+ *  Copyright (c) 2002 Steve Lhomme <steve.lhomme at free.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+ 
+/*!
+	\author Steve Lhomme
+	\version \$Id$
+*/
+
+#if !defined(STRICT)
+#define STRICT
+#endif // STRICT
+
+#include <windows.h>
+
+/// The ACM is considered as a driver and run in Kernel-Mode
+/// So the new/delete operators have to be overriden in order to use memory
+/// readable out of the calling process
+
+void * operator new( unsigned int cb )
+{
+	return LocalAlloc(LPTR, cb); // VirtualAlloc
+}
+
+void operator delete(void *block) {
+	LocalFree(block);
+}
+
+extern "C" {
+
+	void *acm_Calloc( size_t num, size_t size )
+	{
+		return LocalAlloc(LPTR, num * size); // VirtualAlloc
+	}
+
+	void *acm_Malloc( size_t size )
+	{
+		return LocalAlloc(LPTR, size); // VirtualAlloc
+	}
+
+	void acm_Free( void * mem)
+	{
+		LocalFree(mem);
+	}
+};
+
+////// End of memory instrumentation
+
+#include <mmreg.h>
+#include <msacm.h>
+#include <msacmdrv.h>
+
+#include <assert.h>
+
+#include "AEncodeProperties.h"
+#include "ACM.h"
+#include "resource.h"
+#include "adebug.h"
+
+
+ADbg * debug = NULL;
+
+LONG WINAPI DriverProc(DWORD dwDriverId, HDRVR hdrvr, UINT msg, LONG lParam1, LONG lParam2)
+{
+
+	switch (msg)
+	{
+		case DRV_OPEN: // acmDriverOpen
+		{
+			if (debug == NULL) {
+				debug = new ADbg(DEBUG_LEVEL_CREATION);
+				debug->setPrefix("LAMEdrv");
+			}
+
+			if (debug != NULL)
+			{
+				// Sent when the driver is opened.
+				if (lParam2 != NULL)
+					debug->OutPut(DEBUG_LEVEL_MSG, "DRV_OPEN (ID 0x%08X), pDesc = 0x%08X",dwDriverId,lParam2);
+				else
+					debug->OutPut(DEBUG_LEVEL_MSG, "DRV_OPEN (ID 0x%08X), pDesc = NULL",dwDriverId);
+			}
+
+			if (lParam2 != NULL) {
+				LPACMDRVOPENDESC pDesc = (LPACMDRVOPENDESC)lParam2;
+
+				if (pDesc->fccType != ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC) {
+					if (debug != NULL)
+					{
+						debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "wrong pDesc->fccType (0x%08X)",pDesc->fccType);
+					}
+					return NULL;
+				}
+			} else {
+				if (debug != NULL)
+				{
+					debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "pDesc == NULL");
+				}
+			}
+
+			ACM * ThisACM = new ACM(GetDriverModuleHandle(hdrvr));
+
+			if (debug != NULL)
+			{
+				debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "OPENED instance 0x%08X",ThisACM);
+			}
+
+			return (LONG)ThisACM;// returns 0L to fail
+								// value subsequently used
+								// for dwDriverId.
+		}
+		break;
+
+		case DRV_CLOSE: // acmDriverClose
+		{
+			if (debug != NULL)
+			{
+				// Sent when the driver is closed. Drivers are
+				// unloaded when the open count reaches zero.
+				debug->OutPut(DEBUG_LEVEL_MSG, "DRV_CLOSE");
+			}
+
+			ACM * ThisACM = (ACM *)dwDriverId;
+			delete ThisACM;
+			if (debug != NULL)
+			{
+				debug->OutPut(DEBUG_LEVEL_FUNC_CODE, "CLOSED instance 0x%08X",ThisACM);
+				delete debug;
+				debug = NULL;
+			}
+			return 1L;  // returns 0L to fail
+		}
+		break;
+
+		case DRV_LOAD:
+		{
+			// nothing to do
+			if (debug != NULL)
+			{
+//				debug->OutPut(DEBUG_LEVEL_MSG, "DRV_LOAD, version %s %s %s", ACM_VERSION, __DATE__, __TIME__);
+				debug->OutPut(DEBUG_LEVEL_MSG, "DRV_LOAD, %s %s",  __DATE__, __TIME__);
+			}
+			return 1L;
+		}
+		break;
+
+		case DRV_ENABLE:
+		{
+			// nothing to do
+			if (debug != NULL)
+			{
+				debug->OutPut(DEBUG_LEVEL_MSG, "DRV_ENABLE");
+			}
+			return 1L;
+		}
+		break;
+
+		case DRV_DISABLE:
+		{
+			// nothing to do
+			if (debug != NULL)
+			{
+				debug->OutPut(DEBUG_LEVEL_MSG, "DRV_DISABLE");
+			}
+			return 1L;
+		}
+		break;
+
+		case DRV_FREE:
+		{
+			if (debug != NULL)
+			{
+				debug->OutPut(DEBUG_LEVEL_MSG, "DRV_FREE");
+			}
+			return 1L;
+		}
+		break;
+
+		default:
+		{
+			ACM * ThisACM = (ACM *)dwDriverId;
+
+			if (ThisACM != NULL)
+				return ThisACM->DriverProcedure(hdrvr, msg, lParam1, lParam2);
+			else
+			{
+				if (debug != NULL)
+				{
+					debug->OutPut(DEBUG_LEVEL_MSG, "Driver not opened, unknown message (0x%08X), lParam1 = 0x%08X, lParam2 = 0x%08X", msg, lParam1, lParam2);
+				}
+
+				return DefDriverProc (dwDriverId, hdrvr, msg, lParam1, lParam2);
+			}
+		}
+		break;
+	}
+}
+ 

+ 29 - 0
ACM/readme.txt

@@ -0,0 +1,29 @@
+In order to build this codec, you need the Windows98 DDK from Microsoft. It can also work
+with the Windows2000/ME/XP/2003 DDK:
+
+http://www.microsoft.com/ddk/
+
+Alternatively, the required headers are also available in CYGWIN+w32api, MINGW32 or Wine :
+
+http://www.cygwin.com/
+http://www.mingw.org/
+http://www.winehq.com/
+
+
+If you do not have a ddk, you should be able to use the alternative msacmdrv.h provided
+with this ACM codec. It is not used by default because it would probably broke any real
+DDK already installed.
+
+
+
+---------------
+
+Define ENABLE_DECODING if you want to use the decoding (alpha state, doesn't decode at the
+ moment, so use it only if you plan to develop)
+
+---------------
+
+To release this codec you will need :
+- lameACM.acm (result of the build process)
+- lameACM.inf
+- lame_acm.xml (where the initial configuration is stored)

+ 42 - 0
ACM/resource.h

@@ -0,0 +1,42 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by acm.rc
+//
+#define IDI_ICON                        101
+#define IDD_CONFIG                      102
+#define IDD_ABOUT                       103
+#define IDC_STATIC_DECODING             1000
+#define IDC_CHECK_COPYRIGHT             1001
+#define IDC_CHECK_CHECKSUM              1002
+#define IDC_CHECK_ORIGINAL              1003
+#define IDC_CHECK_PRIVATE               1004
+#define IDC_COMBO_ENC_STEREO            1005
+#define IDC_CHECK_ENC_SMART             1006
+#define IDC_STATIC_ENC_ICON             1007
+#define IDC_STATIC_ABOUT_TITLE          1008
+#define IDC_STATIC_ABOUT_URL            1009
+#define IDC_STATIC_CONFIG_VERSION       1010
+#define IDC_CHECK_ENC_ABR               1011
+#define IDC_SLIDER_AVERAGE_MIN          1012
+#define IDC_SLIDER_AVERAGE_MAX          1013
+#define IDC_SLIDER_AVERAGE_STEP         1014
+#define IDC_SLIDER_AVERAGE_SAMPLE       1015
+#define IDC_STATIC_AVERAGE_MIN          1016
+#define IDC_STATIC_AVERAGE_MAX          1017
+#define IDC_STATIC_AVERAGE_STEP         1018
+#define IDC_STATIC_AVERAGE_SAMPLE       1019
+#define IDC_STATIC_AVERAGE_MIN_VALUE    1020
+#define IDC_STATIC_AVERAGE_MAX_VALUE    1021
+#define IDC_STATIC_AVERAGE_STEP_VALUE   1022
+#define IDC_STATIC_AVERAGE_SAMPLE_VALUE 1023
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        105
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1024
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif

+ 16 - 0
ACM/tinyxml/Makefile.am

@@ -0,0 +1,16 @@
+## $Id$
+
+include $(top_srcdir)/Makefile.am.global
+
+EXTRA_DIST = \
+	Makefile.tinyxml \
+	changes.txt \
+	dox \
+	makedistlinux \
+	makedistwin.bat \
+	readme.txt \
+	tinyxml.cpp \
+	tinyxml.h \
+	tinyxmlerror.cpp \
+	tinyxmlparser.cpp \
+	xmltest.cpp

+ 483 - 0
ACM/tinyxml/Makefile.in

@@ -0,0 +1,483 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# global section for every Makefile.am
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = ACM/tinyxml
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/Makefile.am.global
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_DEFS = @CONFIG_DEFS@
+CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPUCCODE = @CPUCCODE@
+CPUTYPE = @CPUTYPE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
+FRONTEND_LDADD = @FRONTEND_LDADD@
+FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_CONFIG = @GTK_CONFIG@
+GTK_LIBS = @GTK_LIBS@
+INCLUDES = @INCLUDES@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDADD = @LDADD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
+LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEDEP = @MAKEDEP@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NASM = @NASM@
+NASM_FORMAT = @NASM_FORMAT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RM_F = @RM_F@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WITH_FRONTEND = @WITH_FRONTEND@
+WITH_MP3RTP = @WITH_MP3RTP@
+WITH_MP3X = @WITH_MP3X@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = 1.15 foreign
+EXTRA_DIST = \
+	Makefile.tinyxml \
+	changes.txt \
+	dox \
+	makedistlinux \
+	makedistwin.bat \
+	readme.txt \
+	tinyxml.cpp \
+	tinyxml.h \
+	tinyxmlerror.cpp \
+	tinyxmlparser.cpp \
+	xmltest.cpp
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ACM/tinyxml/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign ACM/tinyxml/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+$(top_srcdir)/Makefile.am.global $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# end global section
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

+ 150 - 0
ACM/tinyxml/Makefile.tinyxml

@@ -0,0 +1,150 @@
+#****************************************************************************
+#
+# Makefil for TinyXml test.
+# Lee Thomason
+# www.grinninglizard.com
+#
+# This is a GNU make (gmake) makefile
+#****************************************************************************
+
+# DEBUG can be set to YES to include debugging info, or NO otherwise
+DEBUG          := YES
+
+# PROFILE can be set to YES to include profiling info, or NO otherwise
+PROFILE        := NO
+
+#****************************************************************************
+
+CC     := gcc
+CXX    := g++
+LD     := g++
+AR     := ar rc
+RANLIB := ranlib
+
+DEBUG_CFLAGS     := -Wall -Wno-unknown-pragmas -Wno-format -g -DDEBUG
+RELEASE_CFLAGS   := -Wall -Wno-unknown-pragmas -Wno-format -O2
+
+LIBS		 :=
+
+DEBUG_CXXFLAGS   := ${DEBUG_CFLAGS} 
+RELEASE_CXXFLAGS := ${RELEASE_CFLAGS}
+
+DEBUG_LDFLAGS    := -g
+RELEASE_LDFLAGS  :=
+
+ifeq (YES, ${DEBUG})
+   CFLAGS       := ${DEBUG_CFLAGS}
+   CXXFLAGS     := ${DEBUG_CXXFLAGS}
+   LDFLAGS      := ${DEBUG_LDFLAGS}
+else
+   CFLAGS       := ${RELEASE_CFLAGS}
+   CXXFLAGS     := ${RELEASE_CXXFLAGS}
+   LDFLAGS      := ${RELEASE_LDFLAGS}
+endif
+
+ifeq (YES, ${PROFILE})
+   CFLAGS   := ${CFLAGS} -pg
+   CXXFLAGS := ${CXXFLAGS} -pg
+   LDFLAGS  := ${LDFLAGS} -pg
+endif
+
+#****************************************************************************
+# Preprocessor directives
+#****************************************************************************
+
+ifeq (YES, ${PROFILE})
+  DEFS :=
+else
+  DEFS :=
+endif
+
+#****************************************************************************
+# Include paths
+#****************************************************************************
+
+#INCS := -I/usr/include/g++-2 -I/usr/local/include
+INCS :=
+
+
+#****************************************************************************
+# Makefile code common to all platforms
+#****************************************************************************
+
+CFLAGS   := ${CFLAGS}   ${DEFS}
+CXXFLAGS := ${CXXFLAGS} ${DEFS}
+
+#****************************************************************************
+# Targets of the build
+#****************************************************************************
+
+OUTPUT := xmltest
+
+all: ${OUTPUT}
+
+
+#****************************************************************************
+# Source files
+#****************************************************************************
+
+SRCS := tinyxml.cpp tinyxmlparser.cpp xmltest.cpp tinyxmlerror.cpp
+
+# Add on the sources for libraries
+SRCS := ${SRCS}
+
+OBJS := $(addsuffix .o,$(basename ${SRCS}))
+
+#****************************************************************************
+# Output
+#****************************************************************************
+
+${OUTPUT}: ${OBJS}
+	${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}
+
+#****************************************************************************
+# common rules
+#****************************************************************************
+
+# Rules for compiling source files to object files
+%.o : %.cpp
+	${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@
+
+%.o : %.c
+	${CC} -c ${CFLAGS} ${INCS} $< -o $@
+
+clean:
+	-rm -f core ${OBJS} ${OUTPUT}
+
+depend:
+	makedepend ${INCS} ${SRCS}
+# DO NOT DELETE
+
+tinyxml.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h
+tinyxml.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
+tinyxml.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h
+tinyxml.o: /usr/include/bits/sched.h /usr/include/libio.h
+tinyxml.o: /usr/include/_G_config.h /usr/include/wchar.h
+tinyxml.o: /usr/include/bits/wchar.h /usr/include/gconv.h
+tinyxml.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h
+tinyxmlparser.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h
+tinyxmlparser.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
+tinyxmlparser.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h
+tinyxmlparser.o: /usr/include/bits/sched.h /usr/include/libio.h
+tinyxmlparser.o: /usr/include/_G_config.h /usr/include/wchar.h
+tinyxmlparser.o: /usr/include/bits/wchar.h /usr/include/gconv.h
+tinyxmlparser.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h
+tinyxmlparser.o: /usr/include/ctype.h /usr/include/endian.h
+tinyxmlparser.o: /usr/include/bits/endian.h
+xmltest.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h
+xmltest.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
+xmltest.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h
+xmltest.o: /usr/include/bits/sched.h /usr/include/libio.h
+xmltest.o: /usr/include/_G_config.h /usr/include/wchar.h
+xmltest.o: /usr/include/bits/wchar.h /usr/include/gconv.h
+xmltest.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h
+tinyxmlerror.o: tinyxml.h /usr/include/stdio.h /usr/include/features.h
+tinyxmlerror.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
+tinyxmlerror.o: /usr/include/bits/types.h /usr/include/bits/pthreadtypes.h
+tinyxmlerror.o: /usr/include/bits/sched.h /usr/include/libio.h
+tinyxmlerror.o: /usr/include/_G_config.h /usr/include/wchar.h
+tinyxmlerror.o: /usr/include/bits/wchar.h /usr/include/gconv.h
+tinyxmlerror.o: /usr/include/bits/stdio_lim.h /usr/include/assert.h

+ 81 - 0
ACM/tinyxml/changes.txt

@@ -0,0 +1,81 @@
+Changes in version 1.0.1:
+- Fixed comment tags which were outputing as '<?--' instead of 
+  the correct '<!--'.
+- Implemented the Next and Prev methods of the TiXmlAttribute class.
+- Renamed 'LastAttribtute' to 'LastAttribute'
+- Fixed bad pointer to 'isspace' that could occur while parsing text.
+- Errors finding beginning and end of tags no longer throw it into an
+  infinite loop. (Hopefully.)
+
+Changes in version 1.0.2
+- Minor documentation fixes.
+
+Changes in version 1.0.3
+- After nodes are added to a document, they return a pointer
+  to the new node instead of a bool for success.
+- Elements can be constructed with a value, which is the
+  element name. Every element must have a value or it will be
+  invalid, but the code changes to enforce this are not fully
+  in place.
+
+Changes in version 1.1.0
+- Added the	TiXmlAttributeSet class to pull the attributes into
+  a seperate container.
+- Moved the doubly liked list out of XmlBase. Now XmlBase only
+  requires the Print() function and defines some utility functions.
+- Moved errors into a seperate file. (With the idea of internationalization
+  to the other latin-1 languages.)
+- Added the "NodeType"
+- Fixed white space parsing in text to conform with the standard. 
+  Basically, all white space becomes just one space.
+- Added the TiXmlDeclaration class to read xml declarations.
+
+Changes in version 1.2.0
+- Removed the factory. The factory was not really in the spirit 
+  of small and simple, confused the code, and was of limited value.
+- Added FirstChildElement and NextSiblingElement, because they
+  are such common functions.
+- Re-wrote the example to test and demonstrate more functionality.
+
+Changes in version 1.2.1
+- Fixed a bug where comments couldn't be inside elements.
+- Loading now clears out existing XML rather than appending.
+- Added the "Clear" method on a node to delete all its children.
+
+Changes in version 1.2.2
+- Fixed TiXmlAttribute::Previous actually returning "next." Thanks
+  to Rickard Troedsson for the bug fix.
+
+Changes in version 1.2.3
+- Added the TIXML prefix to the error strings to resolve conflicts
+  with #defines in OS headers. Thanks to Steve Lhomme.
+- Fixed a delete buf that should be a delete [] buf. 
+  Thanks to Ephi Sinowitz.
+
+Changes in version 1.2.4
+- ReplaceChild() was almost guarenteed to fail. Should be fixed,
+  thanks to Joe Smith. Joe also pointed out that the Print() functions
+  should take stream references: I agree, and would like to overload
+  the Print() method to take either format, but I don't want to do 
+  this in a dot release.
+- Some compilers seem to need an extra <ctype.h> include. Thanks
+  to Steve Lhomme for that.
+
+Changes in version 2.0.0
+- Made the ToXXX() casts safe if 'this' is null. 
+  When "LoadFile" is called with a filename, the value will correctly get set.
+  Thanks to Brian Yoder.
+- Fixed bug where isalpha() and isalnum() would get called with a negative value for 
+  high ascii numbers. Thanks to Alesky Aksenov.
+- Fixed some errors codes that were not getting set.
+- Made methods "const" that were not.
+- Added a switch to enable or disable the ignoring of white space. ( TiXmlDocument::SetIgnoreWhiteSpace() )
+- Greater standardization and code re-use in the parser.
+- Added a stream out operator.
+- Added a stream in operator.
+- Entity support.
+
+TODO
+CDATA.
+Support for "generic entity" #xxx thing.
+

+ 708 - 0
ACM/tinyxml/dox

@@ -0,0 +1,708 @@
+# Doxyfile 1.2.2
+
+# This file describes the settings to be used by doxygen for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project. 
+
+PROJECT_NAME           = TinyXml
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = 
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = ./docs
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, 
+# Korean, Hungarian, Spanish, Romanian, Russian, Croatian, Polish, and 
+# Portuguese.
+
+OUTPUT_LANGUAGE        = English
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES 
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation. 
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation. 
+
+EXTRACT_STATIC         = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled. 
+
+HIDE_UNDOC_MEMBERS     = YES
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these class will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled. 
+
+HIDE_UNDOC_CLASSES     = YES
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this. 
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed. 
+
+REPEAT_BRIEF           = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description. 
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used. 
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH        = 
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation. 
+
+INTERNAL_DOCS          = NO
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a class diagram (in Html and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off. 
+
+CLASS_DIAGRAMS         = YES
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation. 
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible. 
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower case letters. If set to YES upper case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden. 
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this. 
+
+VERBATIM_HEADERS       = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put list of the files that are included by a file in the documentation 
+# of that file. 
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the Javadoc-style will 
+# behave just like the Qt-style comments. 
+
+JAVADOC_AUTOBRIEF      = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# reimplements. 
+
+INHERIT_DOCS           = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members. 
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order. 
+
+SORT_MEMBER_DOCS       = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments. 
+
+TAB_SIZE               = 4
+
+# The ENABLE_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif. 
+
+ENABLED_SECTIONS       = 
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines. 
+
+ALIASES                = 
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used. 
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used. 
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled. 
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text. 
+
+WARN_FORMAT            = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces. 
+
+INPUT                  = . "readme.txt"
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included. 
+
+FILE_PATTERNS          = *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used. 
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag. 
+
+EXCLUDE                = 
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories. 
+
+EXCLUDE_PATTERNS       = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command). 
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included. 
+
+EXAMPLE_PATTERNS       = 
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command). 
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output. 
+
+INPUT_FILTER           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces. 
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20]) 
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers. 
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output. 
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path. 
+
+HTML_OUTPUT            = .
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet 
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used. 
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation. 
+
+GENERATE_HTMLHELP      = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it. 
+
+DISABLE_INDEX          = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output. 
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path. 
+
+LATEX_OUTPUT           = latex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general. 
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used. 
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output. 
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing! 
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer. 
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation. 
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML. 
+
+LATEX_BATCHMODE        = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimised for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path. 
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general. 
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using a WORD or other. 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links. 
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assigments. You only have to provide 
+# replacements, missing definitions are set to their default value. 
+
+RTF_STYLESHEET_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages 
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path. 
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3) 
+
+MAN_EXTENSION          = .3
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation. Warning: This feature 
+# is still experimental and very incomplete.
+
+GENERATE_XML           = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files. 
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES. 
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags. 
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found. 
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor. 
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used. 
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. 
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition. 
+
+EXPAND_AS_DEFINED      = 
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles. 
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads. 
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed. 
+
+ALLEXTERNALS           = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl'). 
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default) 
+
+HAVE_DOT               = NO
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes. 
+
+COLLABORATION_GRAPH    = YES
+
+# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to 
+# YES then doxygen will generate a graph for each documented file showing 
+# the direct and indirect include dependencies of the file with other 
+# documented files. 
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to 
+# YES then doxygen will generate a graph for each documented header file showing 
+# the documented files that directly or indirectly include this file 
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one. 
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path. 
+
+DOT_PATH               = 
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images. 
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images. 
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored. 
+
+SEARCHENGINE           = NO
+
+# The CGI_NAME tag should be the name of the CGI script that 
+# starts the search engine (doxysearch) with the correct parameters. 
+# A script with this name will be generated by doxygen. 
+
+CGI_NAME               = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the 
+# cgi binaries are located. See the documentation of your http daemon for 
+# details. 
+
+CGI_URL                = 
+
+# The DOC_URL tag should be the absolute URL to the directory where the 
+# documentation is located. If left blank the absolute path to the 
+# documentation, with file:// prepended to it, will be used. 
+
+DOC_URL                = 
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the 
+# documentation is located. If left blank the directory on the local machine 
+# will be used. 
+
+DOC_ABSPATH            = 
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
+# is installed. 
+
+BIN_ABSPATH            = /usr/local/bin/
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
+# documentation generated for other projects. This allows doxysearch to search 
+# the documentation for these projects as well. 
+
+EXT_DOC_PATHS          = 

+ 34 - 0
ACM/tinyxml/makedistlinux

@@ -0,0 +1,34 @@
+echo "Making version: "
+echo $1 
+echo $2 
+echo $3
+
+rm ./docs/*
+
+doxygen dox
+rm -rf ./tinyxml/*
+
+rm tinyxml_$1_$2_$3.zip
+rm tinyxml_$1_$2_$3.tar.gz
+
+rmdir tinyxml
+mkdir tinyxml
+
+cp readme.txt ./tinyxml
+cp changes.txt ./tinyxml
+cp Makefile ./tinyxml
+
+cp tinyxml.cpp tinyxml
+cp tinyxmlerror.cpp tinyxml
+cp tinyxmlparser.cpp tinyxml
+cp xmltest.cpp tinyxml
+
+cp tinyxml.h tinyxml
+cp tinyxml.dsp tinyxml
+
+mkdir ./tinyxml/docs
+cp ./docs/* ./tinyxml/docs
+
+tar -zcf tinyxml_$1_$2_$3.tar.gz tinyxml
+zip -r -q -9 tinyxml_$1_$2_$3.zip   tinyxml
+

+ 19 - 0
ACM/tinyxml/makedistwin.bat

@@ -0,0 +1,19 @@
+del .\tinyxml_win\*.*
+del .\docs\*.*
+
+doxygen dox
+mkdir tinyxml_win
+
+copy readme.txt tinyxml_win
+copy changes.txt tinyxml_win
+
+copy *.cpp tinyxml_win
+copy *.h tinyxml_win
+copy *.dsp tinyxml_win
+copy test0.xml tinyxml_win
+copy test1.xml tinyxml_win
+copy test2.xml tinyxml_win
+
+mkdir .\tinyxml_win\docs
+copy docs .\tinyxml_win\docs
+

+ 309 - 0
ACM/tinyxml/readme.txt

@@ -0,0 +1,309 @@
+/** @mainpage
+
+<h1> TinyXml </h1>
+
+TinyXml is a simple, small, C++ XML parser that can be easily 
+integrating into other programs.
+
+
+<h2> What it does. </h2>
+	
+In brief, TinyXml parses an XML document, and builds from that a 
+Document Object Model that can be read, modified, and saved.
+
+XML stands for "eXtensible Markup Language." It allows you to create 
+your own document markups. Where HTML does a very good job of marking 
+documents for browsers, XML allows you to define any kind of document 
+markup, for example a document that describes a "to do" list for an 
+organizer application. XML is a very structured and convenient format.
+All those random file formats created to store application data can 
+all be replaced with XML. One parser for everything.
+
+There are different ways to access and interact with XML data.
+TinyXml uses a Document Object Model, meaning the XML data is parsed
+into a tree objects that can be browsed and manipulated, and then 
+written back to disk. You can also construct an XML document from 
+scratch with C++ objects and write this to disk.
+
+TinyXml is designed to be easy and fast. It is one header and three cpp 
+files. Simply add these to your project and off you go. There is an 
+example to get you started. It is released under the ZLib license, 
+so you can use it in open source or commercial code.
+
+It attempts to be a flexible parser, but with truly correct and 
+compliant XML output (with the exception of the character set,
+below.) TinyXml should compile on any reasonably C++ 
+system. It does not rely on exceptions or RTTI, and only uses the STL
+string class.
+
+
+<h2> What it doesn't do. </h2>
+
+It doesn’t parse or use DTDs (Document Type Definitions) or XSL’s 
+(eXtensible Stylesheet Language.) It is limited to the ASCII 
+character set. There are other parsers out there (check out 
+www.sourceforge.org, search for XML) that are much more fully 
+featured. But they are also much bigger, take longer to set up in 
+your project, have a higher learning curve, and often have a more 
+restrictive license. If you are working with browsers or have more 
+complete XML needs, TinyXml is not the parser for you. 
+
+
+<h2> Code Status.  </h2>
+
+Currently in use, TinyXml is looking pretty stable. If you find
+bugs, send them in and we'll get them straightened out as soon as possible.
+
+There are some areas of improvement; please check sourceforge if you are 
+interested in working on TinxXml.
+
+
+<h2> Changes between version 1 and 2 </h2>
+
+
+<h3> Entities </h3>
+TinyXml recognizes the pre-defined "entity references", meaning special 
+characters. Namely:
+
+@verbatim
+	&amp;	&
+	&lt;	<
+	&gt;	>
+	&quot;	"
+	&apos;	‘
+@endverbatim
+
+These are recognized when the XML document is read, and translated to there
+ASCII equivalents. For instance, text with the XML of:
+
+@verbatim
+	Far &amp; Away
+@endverbatim
+
+will have the Value() of "Far & Away" when queried from the TiXmlText object, 
+but will be written back to the XML stream/file as an entitity.
+
+TiXml will ignore unknown entities and the 
+@verbatim
+"&#x"
+@endverbatim
+entities, and leave them unprocessed.
+
+
+<h3> Streams </h3>
+TiXml has been modified to support both C (FILE) and C++ (operator <<,>>) 
+streams. There are some differences that you may need to be aware of.
+
+C style output:
+	- based on FILE*
+	- the Print() and SaveFile() methods
+
+	Generates formatted output, with plenty of white space, intended to be as 
+	human-readable as possible. They are very fast, and tolerant of ill formed 
+	XML documents. For example, an XML document that contains 2 root elements 
+	and 2 declarations, will print.
+
+C style input:
+	- based on FILE*
+	- the Parse() and LoadFile() methods
+
+	A fast, tolerant read. Use whenever you don't need the C++ streams.
+
+C++ style ouput:
+	- based on std::ostream
+	- operator<<
+
+	Generates condensed output, intended for network transmission rather than
+	readability. Depending on your system's implementation of the ostream class,
+	these may be somewhat slower. (Or may not.) Not tolerant of ill formed XML:
+	a document should contain the correct one root element. Additional root level
+	elements will not be streamed out.
+
+C++ style input:
+	- based on std::istream
+	- operator>>
+
+	Reads XML from a stream, making it useful for network transmission. The tricky
+	part is knowing when the XML document is complete, since there will almost
+	certainly be other data in the stream. TinyXml will assume the XML data is
+	complete after it reads the root element. Also not that operator>> is somewhat
+	slower than Parse, due to both implementation of the STL and limitations of
+	TinyXml.
+
+<h3> White space </h3>
+The world simply does not agree on whether white space should be kept, or condensed.
+For example, pretend the '_' is a space, and look at "Hello____world". HTML, and 
+at least some XML parsers, will interpret this as "Hello_world". They condense white
+space. Some XML parsers do not, and will leave it as "Hello____world". (Remember
+to keep pretending the _ is a space.)
+
+It's an issue that hasn't been resolved to my satisfaction. TinyXml supports both
+motifs. Call TiXmlBase::SetCondenseWhiteSpace( bool ) to set the desired behavior.
+The default is to condense white space.
+
+If you change the default, you should call TiXmlBase::SetCondenseWhiteSpace( bool )
+before making any calls to Parse XML data, and I don't recommend changing it after
+it has been set.
+
+
+<h2> Using and Installing </h2>
+
+To Compile and Run xmltest:
+
+A Linux Makefile and a Windows Visual C++ .dsp file is provided. 
+Simply compile and run. It will write the file demotest.xml to your 
+disk and generate output on the screen. It also tests walking the
+DOM by printing out the number of nodes found using different 
+techniques.
+
+The Linux makefile is very generic and will
+probably run on other systems, but is only tested on Linux. You no
+longer need to run 'make depend'. The dependecies have been
+hard coded.
+
+
+To Use in an Application:
+
+Add tinyxml.cpp, tinyxml.h, tinyxmlerror.cpp, and tinyxmlparser.cpp to your 
+project or make file. That's it! It should compile on any reasonably
+compliant C++ system. You do not need to enable exceptions or
+RTTI for TinyXml.
+
+
+<h2> Where it may go.  </h2>
+
+At this point, I'm focusing on tightening up remaining issues.
+Bug fixes (though comfortably rare) and minor interface 
+corrections. 
+
+There are some "it would be nice if..." items. I'll keep those
+posted as tasks on SourceForge. (www.sourceforge.net/projects/tinyxml)
+
+
+<h2> How TinyXml works.  </h2>
+
+An example is probably the best way to go. Take:
+@verbatim
+	<?xml version="1.0" standalone=‘no’>
+	<?-- Our to do list data -->
+	<ToDo>
+		<Item priority="1"> Go to the <bold>Toy store!</bold></Item>
+		<Item priority="2"> Do bills</Item>
+	</ToDo>
+@endverbatim
+
+It’s not much of a To Do list, but it will do. To read this file 
+(say "demo.xml") you would create a document, and parse it in:
+@verbatim
+	TiXmlDocument doc( "demo.xml" );
+	doc.LoadFile();
+@endverbatim
+
+And it’s ready to go. Now let’s look at some lines and how they 
+relate to the DOM.
+
+<?xml version="1.0" standalone=‘no’>
+
+	The first line is a declaration, and gets turned into the
+	TiXmlDeclaration class. It will be the first child of the
+	document node.
+	
+	This is the only directive/special tag parsed by by TinyXml.
+	Generally directive targs are stored in TiXmlUnknown so the 
+	commands won’t be lost when it is saved back to disk.
+
+<?-- Our to do list data -->
+
+	A comment. Will become a TiXmlComment object.
+
+<ToDo>
+
+	The ToDo tag defines a TiXmlElement object. This one does not have 
+	any attributes, but will contain 2 other elements, both of which 
+	are items.
+
+<Item priority="1"> 
+
+	Creates another TiXmlElement which is a child of the "ToDo" element. 
+	This element has 1 attribute, with the name ‘priority’ and the value 
+	‘1’.
+
+Go to the 
+
+	A TiXmlText. This is a leaf node and cannot contain other nodes. 
+	It is a child of the ‘Item" Element.
+
+<bold>
+	
+	Another TiXmlElement, this one a child of the "Item" element.
+
+Etc.
+
+Looking at the entire object tree, you end up with:
+@verbatim
+TiXmlDocument				"demo.xml"
+	TiXmlDeclaration		"version='1.0'" "standalone=‘no’"
+	TiXmlComment			" Our to do list data"
+	TiXmlElement			"ToDo"
+		TiXmlElement		"Item"		Attribtutes: priority = 1
+			TiXmlText		"Go to the "
+			TiXmlElement    "bold"
+				TiXmlText	"Toy store!"
+	TiXmlElement			"Item"		Attributes: priority=2
+		TiXmlText			"bills"
+@endverbatim
+
+<h2> Contributors </h2>
+
+Thanks very much to everyone who sends suggestions, bugs, ideas, and 
+encouragement. It all helps, and makes this project fun. A special thanks
+to the contributors on the web pages that keep it lively.
+
+So many people have sent in bugs and ideas, that rather than list here I
+try to give credit due in the "changes.txt" file.
+
+<h2> Documentation </h2>
+
+The documentation is build with Doxygen, using the 'dox' 
+configuration file.
+
+<h2> License </h2>
+
+TinyXml is released under the zlib license:
+
+This software is provided 'as-is', without any express or implied 
+warranty. In no event will the authors be held liable for any 
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any 
+purpose, including commercial applications, and to alter it and 
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must 
+not claim that you wrote the original software. If you use this 
+software in a product, an acknowledgment in the product documentation 
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and 
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source 
+distribution.
+
+<h2> References  </h2>
+
+The World Wide Web Consortium is the definitive standard body for 
+XML, and there web pages contain huge amounts of information. I also 
+recommend "XML Pocket Reference" by Robert Eckstein and published by 
+O’Reilly.
+
+<h2> Contact Me: </h2>
+
+I’d appreciates your suggestions, and would love to know if you 
+use TinyXml. I hope you enjoy it and find it useful. Please post
+questions, comments, file bugs, or contact me at:
+
+www.sourceforge.net/projects/tinyxml
+
+Lee Thomason
+*/

+ 1007 - 0
ACM/tinyxml/tinyxml.cpp

@@ -0,0 +1,1007 @@
+/*
+Copyright (c) 2000 Lee Thomason (www.grinninglizard.com)
+
+This software is provided 'as-is', without any express or implied 
+warranty. In no event will the authors be held liable for any 
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any 
+purpose, including commercial applications, and to alter it and 
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+*/
+
+#include <iostream>
+#include <sstream>
+#include <fstream>
+#include "tinyxml.h"
+using namespace std;
+
+
+bool TiXmlBase::condenseWhiteSpace = true;
+
+
+void TiXmlBase::PutString( const std::string& str, std::ostream* stream )
+{
+	// Scan for the all important '&'
+	unsigned int i=0, j=0;
+
+	while ( i < str.length() )
+	{
+		unsigned next = str.find( '&', i );
+
+		if ( next == string::npos )
+		{
+			stream->write( &str.at( i ), str.length() - i );
+			return;
+   		}
+
+		// We found an entity.
+		if ( next - i > 0 )
+			stream->write( &str.at( i ), next - i );
+		i = next;
+
+		// Check for the special "&#x" entitity
+		if (    i < str.length() - 2
+		     && str[i] == '&'
+			 && str[i+1] == '#'
+			 && str[i+2] == 'x' )
+		{
+			stream->put( str[i] );
+		}
+		else
+		{
+			for ( j=0; j<NUM_ENTITY; ++j )
+			{
+				if ( str[i] == entity[j].chr )
+				{
+					stream->write( entity[j].str, entity[j].strLength );
+					break;
+				}
+			}
+			if ( j == NUM_ENTITY )
+			{
+				stream->put( str[i] );
+			}
+		}
+		++i;
+	}
+}
+
+
+TiXmlNode::TiXmlNode( NodeType _type )
+{
+	parent = 0;
+	type = _type;
+	firstChild = 0;
+	lastChild = 0;
+	prev = 0;
+	next = 0;
+}
+
+
+TiXmlNode::~TiXmlNode()
+{
+	TiXmlNode* node = firstChild;
+	TiXmlNode* temp = 0;
+
+	while ( node )
+	{
+		temp = node;
+		node = node->next;
+		delete temp;
+	}	
+}
+
+
+void TiXmlNode::Clear()
+{
+	TiXmlNode* node = firstChild;
+	TiXmlNode* temp = 0;
+
+	while ( node )
+	{
+		temp = node;
+		node = node->next;
+		delete temp;
+	}	
+
+	firstChild = 0;
+	lastChild = 0;
+}
+
+
+TiXmlNode* TiXmlNode::LinkEndChild( TiXmlNode* node )
+{
+	node->parent = this;
+	
+	node->prev = lastChild;
+	node->next = 0;
+
+	if ( lastChild )
+		lastChild->next = node;
+	else
+		firstChild = node;			// it was an empty list.
+
+	lastChild = node;
+	return node;
+}
+	
+
+TiXmlNode* TiXmlNode::InsertEndChild( const TiXmlNode& addThis )
+{
+	TiXmlNode* node = addThis.Clone();
+	if ( !node )
+		return 0;
+
+	return LinkEndChild( node );
+}
+
+
+TiXmlNode* TiXmlNode::InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis )
+{
+	if ( beforeThis->parent != this )
+		return 0;
+	
+	TiXmlNode* node = addThis.Clone();
+	if ( !node )
+		return 0;
+	node->parent = this;
+	
+	node->next = beforeThis;
+	node->prev = beforeThis->prev;
+	beforeThis->prev->next = node;
+	beforeThis->prev = node;
+	return node;
+}
+
+
+TiXmlNode* TiXmlNode::InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis )
+{
+	if ( afterThis->parent != this )
+		return 0;
+	
+	TiXmlNode* node = addThis.Clone();
+	if ( !node )
+		return 0;
+	node->parent = this;
+	
+	node->prev = afterThis;
+	node->next = afterThis->next;
+	afterThis->next->prev = node;
+	afterThis->next = node;
+	return node;
+}
+
+
+TiXmlNode* TiXmlNode::ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis )
+{
+	if ( replaceThis->parent != this )
+		return 0;
+	
+	TiXmlNode* node = withThis.Clone();
+	if ( !node )
+		return 0;
+
+	node->next = replaceThis->next;
+	node->prev = replaceThis->prev;
+
+	if ( replaceThis->next )
+		replaceThis->next->prev = node;
+	else
+		lastChild = node;
+
+	if ( replaceThis->prev )
+		replaceThis->prev->next = node;
+	else
+		firstChild = node;
+
+	delete replaceThis;
+	node->parent = this;
+	return node;
+}
+
+
+bool TiXmlNode::RemoveChild( TiXmlNode* removeThis )
+{
+	if ( removeThis->parent != this )
+	{	
+		assert( 0 );
+		return false;
+	}
+	
+	if ( removeThis->next )
+		removeThis->next->prev = removeThis->prev;
+	else
+		lastChild = removeThis->prev;
+
+	if ( removeThis->prev )
+		removeThis->prev->next = removeThis->next;
+	else
+		firstChild = removeThis->next;
+
+	delete removeThis;
+	return true;
+}
+
+
+TiXmlNode* TiXmlNode::FirstChild( const std::string& value ) const
+{
+	TiXmlNode* node;
+	for ( node = firstChild; node; node = node->next )
+	{
+		if ( node->Value() == value )
+			return node;
+	}
+	return 0;
+}
+
+
+TiXmlNode* TiXmlNode::LastChild( const std::string& value ) const
+{
+	TiXmlNode* node;
+	for ( node = lastChild; node; node = node->prev )
+	{
+		if ( node->Value() == value )
+			return node;
+	}
+	return 0;
+}
+
+
+TiXmlNode* TiXmlNode::IterateChildren( TiXmlNode* previous ) const
+{
+	if ( !previous )
+	{
+		return FirstChild();
+	}
+	else
+	{
+		assert( previous->parent == this );
+		return previous->NextSibling();
+	}
+}
+
+
+TiXmlNode* TiXmlNode::IterateChildren( const std::string& val, TiXmlNode* previous ) const
+{
+	if ( !previous )
+	{
+		return FirstChild( val );
+	}
+	else
+	{
+		assert( previous->parent == this );
+		return previous->NextSibling( val );
+	}
+}
+
+
+TiXmlNode* TiXmlNode::NextSibling( const std::string& value ) const
+{
+	TiXmlNode* node;
+	for ( node = next; node; node = node->next )
+	{
+		if ( node->Value() == value )
+			return node;
+	}
+	return 0;
+}
+
+
+TiXmlNode* TiXmlNode::PreviousSibling( const std::string& value ) const
+{
+	TiXmlNode* node;
+	for ( node = prev; node; node = node->prev )
+	{
+		if ( node->Value() == value )
+			return node;
+	}
+	return 0;
+}
+
+
+void TiXmlElement::RemoveAttribute( const std::string& name )
+{
+	TiXmlAttribute* node = attributeSet.Find( name );
+	if ( node )
+	{
+		attributeSet.Remove( node );
+		delete node;
+	}
+}
+
+
+TiXmlElement* TiXmlNode::FirstChildElement() const
+{
+	TiXmlNode* node;
+
+	for (	node = FirstChild();
+			node;
+			node = node->NextSibling() )
+	{
+		if ( node->ToElement() )
+			return node->ToElement();
+	}
+	return 0;
+}
+
+
+TiXmlElement* TiXmlNode::FirstChildElement( const std::string& value ) const
+{
+	TiXmlNode* node;
+
+	for (	node = FirstChild( value );
+			node;
+			node = node->NextSibling( value ) )
+	{
+		if ( node->ToElement() )
+			return node->ToElement();
+	}
+	return 0;
+}
+
+
+TiXmlElement* TiXmlNode::NextSiblingElement() const
+{
+	TiXmlNode* node;
+
+	for (	node = NextSibling();
+			node;
+			node = node->NextSibling() )
+	{
+		if ( node->ToElement() )
+			return node->ToElement();
+	}
+	return 0;
+}
+
+
+TiXmlElement* TiXmlNode::NextSiblingElement( const std::string& value ) const
+{
+	TiXmlNode* node;
+
+	for (	node = NextSibling( value );
+			node;
+			node = node->NextSibling( value ) )
+	{
+		if ( node->ToElement() )
+			return node->ToElement();
+	}
+	return 0;
+}
+
+
+
+TiXmlDocument* TiXmlNode::GetDocument() const
+{
+	const TiXmlNode* node;
+
+	for( node = this; node; node = node->parent )
+	{
+		if ( node->ToDocument() )
+			return node->ToDocument();
+	}
+	return 0;
+}
+
+
+// TiXmlElement::TiXmlElement() 
+// 	: TiXmlNode( TiXmlNode::ELEMENT )
+// {
+// }
+
+TiXmlElement::TiXmlElement( const std::string& _value ) 
+	: TiXmlNode( TiXmlNode::ELEMENT )
+{
+	firstChild = lastChild = 0;
+	value = _value;
+}
+
+TiXmlElement::~TiXmlElement()
+{
+	while( attributeSet.First() )
+	{
+		TiXmlAttribute* node = attributeSet.First();
+		attributeSet.Remove( node );
+		delete node;
+	}
+}
+
+const std::string* TiXmlElement::Attribute( const std::string& name ) const
+{
+	TiXmlAttribute* node = attributeSet.Find( name );
+
+	if ( node )
+		return &(node->Value() );
+
+	return 0;
+}
+
+
+const std::string* TiXmlElement::Attribute( const std::string& name, int* i ) const
+{
+	const std::string* s = Attribute( name );
+	if ( s )
+		*i = atoi( s->c_str() );
+	else
+		*i = 0;
+	return s;
+}
+
+
+void TiXmlElement::SetAttribute( const std::string& name, int val )
+{	
+	char buf[64];
+	sprintf( buf, "%d", val );
+
+	std::string v = buf;
+
+	SetAttribute( name, v );
+}
+
+
+void TiXmlElement::SetAttribute( const std::string& name, const std::string& value )
+{
+	TiXmlAttribute* node = attributeSet.Find( name );
+	if ( node )
+	{
+		node->SetValue( value );
+		return;
+	}
+
+	TiXmlAttribute* attrib = new TiXmlAttribute( name, value );
+	if ( attrib )
+	{
+		attributeSet.Add( attrib );
+	}
+	else
+	{
+		TiXmlDocument* document = GetDocument();
+		if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY );
+	}
+}
+
+
+void TiXmlElement::Print( FILE* cfile, int depth ) const
+{
+	int i;
+	for ( i=0; i<depth; i++ )
+	{
+		fprintf( cfile, "    " );
+	}
+
+	fprintf( cfile, "<%s", value.c_str() );
+
+	TiXmlAttribute* attrib;
+	for ( attrib = attributeSet.First(); attrib; attrib = attrib->Next() )
+	{
+		fprintf( cfile, " " );
+		attrib->Print( cfile, depth );
+	}
+
+	// There are 3 different formatting approaches:
+	// 1) An element without children is printed as a <foo /> node
+	// 2) An element with only a text child is printed as <foo> text </foo>
+	// 3) An element with children is printed on multiple lines.
+	TiXmlNode* node;
+	if ( !firstChild )
+	{
+		fprintf( cfile, " />" );
+  	}
+	else if ( firstChild == lastChild && firstChild->ToText() )
+	{
+		fprintf( cfile, ">" );
+		firstChild->Print( cfile, depth + 1 );
+		fprintf( cfile, "</%s>", value.c_str() );
+  	}
+	else
+	{
+		fprintf( cfile, ">" );
+
+		for ( node = firstChild; node; node=node->NextSibling() )
+		{
+	 		if ( !node->ToText() )
+			{
+				fprintf( cfile, "\n" );
+			}
+			node->Print( cfile, depth+1 );
+		}
+		fprintf( cfile, "\n" );
+		for( i=0; i<depth; ++i )
+			fprintf( cfile, "    " );
+		fprintf( cfile, "</%s>", value.c_str() );
+	}
+}
+
+
+void TiXmlElement::StreamOut( std::ostream* stream ) const
+{
+	(*stream) << "<" << value;
+
+	TiXmlAttribute* attrib;
+	for ( attrib = attributeSet.First(); attrib; attrib = attrib->Next() )
+	{	
+		(*stream) << " ";
+		attrib->StreamOut( stream );
+	}
+
+	// If this node has children, give it a closing tag. Else
+	// make it an empty tag.
+	TiXmlNode* node;
+	if ( firstChild )
+	{ 		
+		(*stream) << ">";
+
+		for ( node = firstChild; node; node=node->NextSibling() )
+		{
+			node->StreamOut( stream );
+		}
+		(*stream) << "</" << value << ">";
+	}
+	else
+	{
+		(*stream) << " />";
+	}
+}
+
+
+TiXmlNode* TiXmlElement::Clone() const
+{
+	TiXmlElement* clone = new TiXmlElement( Value() );
+
+	if ( !clone )
+		return 0;
+	
+	CopyToClone( clone );
+
+	// Clone the attributes, then clone the children.
+	TiXmlAttribute* attribute = 0;
+	for(	attribute = attributeSet.First(); 
+			attribute; 
+			attribute = attribute->Next() )
+	{
+		clone->SetAttribute( attribute->Name(), attribute->Value() );
+	}
+	
+	TiXmlNode* node = 0;
+	for ( node = firstChild; node; node = node->NextSibling() )
+	{
+		clone->LinkEndChild( node->Clone() );
+	}
+	return clone;
+}
+
+
+TiXmlDocument::TiXmlDocument() : TiXmlNode( TiXmlNode::DOCUMENT )
+{
+	error = false;
+//	ignoreWhiteSpace = true;
+}
+
+
+TiXmlDocument::TiXmlDocument( const std::string& documentName ) : TiXmlNode( TiXmlNode::DOCUMENT )
+{
+//	ignoreWhiteSpace = true;
+	value = documentName;
+	error = false;
+}
+
+
+bool TiXmlDocument::LoadFile()
+{
+	return LoadFile( value );
+}
+
+
+bool TiXmlDocument::SaveFile() const
+{
+ 	return SaveFile( value );
+}
+
+
+bool TiXmlDocument::LoadFile( const std::string& filename )
+{	
+	// Delete the existing data:
+	Clear();
+	value = filename;
+	
+	FILE* file = fopen( filename.c_str(), "r" );
+
+	if ( file )
+	{
+		// Get the file size, so we can pre-allocate the string. HUGE speed impact.
+		long length = 0;
+		fseek( file, 0, SEEK_END );
+		length = ftell( file );
+		fseek( file, 0, SEEK_SET );
+
+		// If we have a file, assume it is all one big XML file, and read it in.
+		// The document parser may decide the document ends sooner than the entire file, however.
+		std::string data;
+		data.reserve( length );
+
+		const int BUF_SIZE = 2048;
+		char buf[BUF_SIZE];
+
+		while( fgets( buf, BUF_SIZE, file ) )
+		{
+			data += buf;
+		}
+		fclose( file );
+
+		Parse( data.c_str() );
+		if (  !Error() )
+		{
+			return true;
+		}
+	}
+	SetError( TIXML_ERROR_OPENING_FILE );
+	return false;
+}
+
+
+bool TiXmlDocument::SaveFile( const std::string& filename ) const
+{
+	// The old c stuff lives on...
+	FILE* fp = fopen( filename.c_str(), "w" );
+	if ( fp )
+	{
+		Print( fp, 0 );
+		fclose( fp );
+		return true;
+	}
+	return false;
+}
+
+
+TiXmlNode* TiXmlDocument::Clone() const
+{
+	TiXmlDocument* clone = new TiXmlDocument();
+	if ( !clone )
+		return 0;
+
+	CopyToClone( clone );
+	clone->error = error;
+	clone->errorDesc = errorDesc;
+
+	TiXmlNode* node = 0;
+	for ( node = firstChild; node; node = node->NextSibling() )
+	{
+		clone->LinkEndChild( node->Clone() );
+	}
+	return clone;
+}
+
+
+void TiXmlDocument::Print( FILE* cfile, int depth ) const
+{
+	TiXmlNode* node;
+	for ( node=FirstChild(); node; node=node->NextSibling() )
+	{
+		node->Print( cfile, depth );
+		fprintf( cfile, "\n" );
+	}
+}
+
+
+void TiXmlDocument::StreamOut( std::ostream* out ) const
+{
+	TiXmlNode* node;
+	for ( node=FirstChild(); node; node=node->NextSibling() )
+	{
+		node->StreamOut( out );
+
+		// Special rule for streams: stop after the root element.
+		// The stream in code will only read one element, so don't 
+		// write more than one.
+		if ( node->ToElement() )
+			break;
+	}
+}
+
+
+TiXmlAttribute* TiXmlAttribute::Next() const
+{
+	// We are using knowledge of the sentinel. The sentinel
+	// have a value or name.
+	if ( next->value.empty() && next->name.empty() )
+		return 0;
+	return next;
+}
+
+
+TiXmlAttribute* TiXmlAttribute::Previous() const
+{
+	// We are using knowledge of the sentinel. The sentinel
+	// have a value or name.
+	if ( prev->value.empty() && prev->name.empty() )
+		return 0;
+	return prev;
+}
+
+
+void TiXmlAttribute::Print( FILE* cfile, int /*depth*/ ) const
+{
+	ostringstream stream( ostringstream::out );
+	stream.str().reserve( 500 );
+	
+	StreamOut( &stream );
+	fprintf( cfile, "%s", stream.str().c_str() );
+}
+
+
+void TiXmlAttribute::StreamOut( std::ostream* stream ) const
+{
+	if ( value.find( '\"' ) != std::string::npos )
+	{
+		PutString( name, stream );
+		(*stream) << "=" << "'";
+		PutString( value, stream );
+		(*stream) << "'";
+	}
+	else
+	{
+		PutString( name, stream );
+		(*stream) << "=" << "\"";
+		PutString( value, stream );
+		(*stream) << "\"";
+	}
+}
+
+
+void TiXmlAttribute::SetIntValue( int value )
+{
+	std::string s;
+	std::ostringstream stream( s );
+	stream << value;
+	SetValue( stream.str() );
+}
+
+
+void TiXmlAttribute::SetDoubleValue( double value )
+{
+	std::string s;
+	std::ostringstream stream( s );
+	stream << value;
+	SetValue( stream.str() );
+}
+
+
+const int TiXmlAttribute::IntValue() const
+{
+	int v;
+	std::istringstream string( value );
+	string >> v;
+	return v;
+}
+
+
+const double  TiXmlAttribute::DoubleValue() const
+{
+	double v;
+	std::istringstream string( value );
+	string >> v;
+	return v;
+}
+
+
+void TiXmlComment::Print( FILE* cfile, int depth ) const
+{
+	ostringstream stream( ostringstream::out );
+	stream.str().reserve( 1000 );
+	
+	for ( int i=0; i<depth; i++ )
+	{
+		fprintf( cfile, "    " );
+	}
+	StreamOut( &stream );
+	fprintf( cfile, "%s", stream.str().c_str() );
+}
+
+
+void TiXmlComment::StreamOut( std::ostream* stream ) const
+{
+	(*stream) << "<!--";
+	PutString( value, stream );
+	(*stream) << "-->";
+}
+
+
+TiXmlNode* TiXmlComment::Clone() const
+{
+	TiXmlComment* clone = new TiXmlComment();
+
+	if ( !clone )
+		return 0;
+
+	CopyToClone( clone );
+	return clone;
+}
+
+
+void TiXmlText::Print( FILE* cfile, int depth ) const
+{
+	ostringstream stream( ostringstream::out );
+	stream.str().reserve( 1000 );
+	StreamOut( &stream );
+	fprintf( cfile, "%s", stream.str().c_str() );
+}
+
+
+void TiXmlText::StreamOut( std::ostream* stream ) const
+{
+	PutString( value, stream );
+}
+
+
+TiXmlNode* TiXmlText::Clone() const
+{	
+	TiXmlText* clone = 0;
+	clone = new TiXmlText( "" );
+	
+	if ( !clone )
+		return 0;
+
+	CopyToClone( clone );
+	return clone;
+}
+
+
+TiXmlDeclaration::TiXmlDeclaration( const std::string& _version, 
+									const std::string& _encoding,
+									const std::string& _standalone )
+	: TiXmlNode( TiXmlNode::DECLARATION ) 
+{
+	version = _version;
+	encoding = _encoding;
+	standalone = _standalone;
+}
+
+
+void TiXmlDeclaration::Print( FILE* cfile, int depth ) const
+{
+	ostringstream stream( ostringstream::out );
+	stream.str().reserve( 200 );
+	StreamOut( &stream );
+	fprintf( cfile, "%s", stream.str().c_str() );
+}
+
+
+void TiXmlDeclaration::StreamOut( std::ostream* stream ) const
+{
+	(*stream) << "<?xml ";
+
+	if ( !version.empty() )
+	{
+		(*stream) << "version=\"";
+		PutString( version, stream );
+		(*stream) << "\" ";
+	}
+	if ( !encoding.empty() )
+	{
+		(*stream) << "encoding=\"";
+		PutString( encoding, stream );
+		(*stream ) << "\" ";
+	}
+	if ( !standalone.empty() )
+	{
+		(*stream) << "standalone=\"";
+		PutString( standalone, stream );
+		(*stream) << "\" ";
+	}
+	(*stream) << "?>";
+}
+
+
+TiXmlNode* TiXmlDeclaration::Clone() const
+{	
+	TiXmlDeclaration* clone = new TiXmlDeclaration();
+
+	if ( !clone )
+		return 0;
+
+	CopyToClone( clone );
+	clone->version = version;
+	clone->encoding = encoding;
+	clone->standalone = standalone;
+	return clone;
+}
+
+
+void TiXmlUnknown::Print( FILE* cfile, int depth ) const
+{
+	ostringstream stream( ostringstream::out );
+	stream.str().reserve( 200 );
+	StreamOut( &stream );
+
+	for ( int i=0; i<depth; i++ )
+		fprintf( cfile, "    " );
+	fprintf( cfile, "%s", stream.str().c_str() );
+}
+
+
+void TiXmlUnknown::StreamOut( std::ostream* stream ) const
+{
+	(*stream) << "<" << value << ">";		// Don't use entities hear! It is unknown.
+}
+
+
+TiXmlNode* TiXmlUnknown::Clone() const
+{
+	TiXmlUnknown* clone = new TiXmlUnknown();
+
+	if ( !clone )
+		return 0;
+
+	CopyToClone( clone );
+	return clone;
+}
+
+
+TiXmlAttributeSet::TiXmlAttributeSet()
+{
+	sentinel.next = &sentinel;
+	sentinel.prev = &sentinel;
+}
+
+
+TiXmlAttributeSet::~TiXmlAttributeSet()
+{
+	assert( sentinel.next == &sentinel );
+	assert( sentinel.prev == &sentinel );
+}
+
+
+void TiXmlAttributeSet::Add( TiXmlAttribute* addMe )
+{
+	assert( !Find( addMe->Name() ) );	// Shouldn't be multiply adding to the set.
+	
+	addMe->next = &sentinel;
+	addMe->prev = sentinel.prev;
+
+	sentinel.prev->next = addMe;
+	sentinel.prev      = addMe;
+}
+
+void TiXmlAttributeSet::Remove( TiXmlAttribute* removeMe )
+{
+	TiXmlAttribute* node;
+
+	for( node = sentinel.next; node != &sentinel; node = node->next )
+	{
+		if ( node == removeMe )
+		{
+			node->prev->next = node->next;
+			node->next->prev = node->prev;
+			node->next = 0;
+			node->prev = 0;
+			return;
+		}
+	}
+	assert( 0 );		// we tried to remove a non-linked attribute.
+}
+
+
+TiXmlAttribute*	TiXmlAttributeSet::Find( const std::string& name ) const
+{
+	TiXmlAttribute* node;
+
+	for( node = sentinel.next; node != &sentinel; node = node->next )
+	{
+		if ( node->Name() == name )
+			return node;
+	}
+	return 0;
+}
+

+ 804 - 0
ACM/tinyxml/tinyxml.h

@@ -0,0 +1,804 @@
+/*
+Copyright (c) 2000 Lee Thomason (www.grinninglizard.com)
+
+This software is provided 'as-is', without any express or implied 
+warranty. In no event will the authors be held liable for any 
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any 
+purpose, including commercial applications, and to alter it and 
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must 
+not claim that you wrote the original software. If you use this 
+software in a product, an acknowledgment in the product documentation 
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source 
+distribution.
+*/
+
+
+#ifndef TINYXML_INCLUDED
+#define TINYXML_INCLUDED
+
+#pragma warning( disable : 4530 )
+#pragma warning( disable : 4786 )
+
+#include <string>
+#include <stdio.h>
+#include <assert.h>
+
+class TiXmlDocument;
+class TiXmlElement;
+class TiXmlComment;
+class TiXmlUnknown;
+class TiXmlAttribute;
+class TiXmlText;
+class TiXmlDeclaration;
+
+
+// Help out windows:
+#if defined( _DEBUG ) && !defined( DEBUG )
+	#define DEBUG
+#endif
+
+#if defined( DEBUG ) && defined( _MSC_VER )
+	#include <windows.h>
+	#define TIXML_LOG OutputDebugString
+#else
+	#define TIXML_LOG printf
+#endif 
+
+
+/** TiXmlBase is a base class for every class in TinyXml.
+	It does little except to establish that TinyXml classes
+	can be printed and provide some utility functions.
+
+	In XML, the document and elements can contain
+	other elements and other types of nodes.
+
+	@verbatim
+	A Document can contain:	Element	(container or leaf)
+							Comment (leaf)
+							Unknown (leaf)
+							Declaration( leaf )
+
+	An Element can contain:	Element (container or leaf)
+							Text	(leaf)
+							Attributes (not on tree)
+							Comment (leaf)
+							Unknown (leaf)
+
+	A Decleration contains: Attributes (not on tree)
+	@endverbatim
+*/
+class TiXmlBase
+{
+	friend class TiXmlNode;
+	friend class TiXmlElement;
+	friend class TiXmlDocument;
+ 
+  public:
+	TiXmlBase()								{}	
+	virtual ~TiXmlBase()					{}
+	
+	/**	All TinyXml classes can print themselves to a filestream.
+		This is a formatted print, and will insert tabs and newlines.
+		
+		(For an unformatted stream, use the << operator.)
+	*/
+ 	virtual void Print( FILE* cfile, int depth ) const = 0;
+
+	// [internal] Underlying implementation of the operator <<
+	virtual void StreamOut ( std::ostream* out ) const = 0;
+
+	/**	The world does not agree on whether white space should be kept or
+		not. In order to make everyone happy, these global, static functions
+		are provided to set whether or not TinyXml will condense all white space
+		into a single space or not. The default is to condense. Note changing these
+		values is not thread safe.
+	*/
+	static void SetCondenseWhiteSpace( bool condense )		{ condenseWhiteSpace = condense; }
+
+	/// Return the current white space setting.
+	static bool IsWhiteSpaceCondensed()						{ return condenseWhiteSpace; }
+
+  protected:
+	static const char* SkipWhiteSpace( const char* );
+	static bool StreamWhiteSpace( std::istream* in, std::string* tag );
+	static bool IsWhiteSpace( int c )		{ return ( isspace( c ) || c == '\n' || c == '\r' ); }
+
+	/*	Read to the specified character.
+		Returns true if the character found and no error.
+	*/
+	static bool StreamTo( std::istream* in, int character, std::string* tag );
+
+	/*	Reads an XML name into the string provided. Returns
+		a pointer just past the last character of the name, 
+		or 0 if the function has an error.
+	*/
+	static const char* ReadName( const char*, std::string* name );
+
+	/*	Reads text. Returns a pointer past the given end tag.
+		Wickedly complex options, but it keeps the (sensitive) code in one place.
+	*/
+	static const char* ReadText(	const char* in,				// where to start
+									std::string* text,			// the string read
+									bool ignoreWhiteSpace,		// whether to keep the white space
+									const char* endTag,			// what ends this text
+									bool ignoreCase );			// whether to ignore case in the end tag
+
+	virtual const char* Parse( const char* p ) = 0;
+
+	// If an entity has been found, transform it into a character.
+	static const char* GetEntity( const char* in, char* value );
+
+	// Get a character, while interpreting entities.
+	inline static const char* GetChar( const char* p, char* value )		
+											{		
+												assert( p );
+												if ( *p == '&' ) 
+												{
+													return GetEntity( p, value );
+												}
+												else 
+												{
+													*value = *p;
+													return p+1;
+												}
+											}
+
+	// Puts a string to a stream, expanding entities as it goes.
+	// Note this should not contian the '<', '>', etc, or they will be transformed into entities!
+	static void PutString( const std::string& str, std::ostream* stream );
+
+	// Return true if the next characters in the stream are any of the endTag sequences.
+	bool static StringEqual(	const char* p, 
+								const char* endTag, 
+								bool ignoreCase );
+													
+
+	enum
+	{
+		TIXML_NO_ERROR = 0,
+		TIXML_ERROR,
+		TIXML_ERROR_OPENING_FILE,
+		TIXML_ERROR_OUT_OF_MEMORY,
+		TIXML_ERROR_PARSING_ELEMENT,
+		TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,
+		TIXML_ERROR_READING_ELEMENT_VALUE,
+		TIXML_ERROR_READING_ATTRIBUTES,
+		TIXML_ERROR_PARSING_EMPTY,
+		TIXML_ERROR_READING_END_TAG,
+		TIXML_ERROR_PARSING_UNKNOWN,
+		TIXML_ERROR_PARSING_COMMENT,
+		TIXML_ERROR_PARSING_DECLARATION,
+		TIXML_ERROR_DOCUMENT_EMPTY,
+
+		TIXML_ERROR_STRING_COUNT
+	};
+	static const char* errorString[ TIXML_ERROR_STRING_COUNT ];
+
+  private:
+	struct Entity
+	{
+		const char*     str;
+		unsigned int	strLength;
+		int			    chr;
+	};
+	enum
+	{
+		NUM_ENTITY = 5,
+		MAX_ENTITY_LENGTH = 6
+
+	};
+	static Entity entity[ NUM_ENTITY ];
+	static bool condenseWhiteSpace;
+};
+
+
+/** The parent class for everything in the Document Object Model.
+	(Except for attributes, which are contained in elements.)
+	Nodes have siblings, a parent, and children. A node can be
+	in a document, or stand on its own. The type of a TiXmlNode
+	can be queried, and it can be cast to its more defined type.
+*/
+class TiXmlNode : public TiXmlBase
+{
+  public:
+
+	/** An output stream operator, for every class. Note that this outputs
+		without any newlines or formatting, as opposed to Print(), which
+		includes tabs and new lines.
+
+		The operator<< and operator>> are not completely symmetric. Writing
+		a node to a stream is very well defined. You'll get a nice stream
+		of output, without any extra whitespace or newlines. 
+		
+		But reading is not as well defined. (As it always is.) If you create
+		a TiXmlElement (for example) and read that from an input stream,
+		the text needs to define an element or junk will result. This is
+		true of all input streams, but it's worth keeping in mind.
+
+		A TiXmlDocument will read nodes until it reads a root element.
+	*/
+	friend std::ostream& operator<< ( std::ostream& out, const TiXmlNode& base )
+	{
+		base.StreamOut( &out );
+		return out;
+	}
+
+	/** An input stream operator, for every class. Tolerant of newlines and
+		formatting, but doesn't expect them.
+	*/
+	friend std::istream& operator>> ( std::istream& in, TiXmlNode& base )
+	{
+		std::string tag;
+		tag.reserve( 8 * 1000 );
+		base.StreamIn( &in, &tag );
+		
+		base.Parse( tag.c_str() );
+		return in;
+	}
+
+	/** The types of XML nodes supported by TinyXml. (All the
+		unsupported types are picked up by UNKNOWN.)
+	*/
+	enum NodeType 
+	{
+		DOCUMENT, 
+		ELEMENT, 
+		COMMENT, 
+		UNKNOWN, 
+		TEXT, 
+		DECLARATION, 
+		TYPECOUNT
+	};
+
+	virtual ~TiXmlNode();
+
+	/** The meaning of 'value' changes for the specific type of
+		TiXmlNode.
+		@verbatim
+		Document:	filename of the xml file
+		Element:	name of the element
+		Comment:	the comment text
+		Unknown:	the tag contents
+		Text:		the text string
+		@endverbatim
+
+		The subclasses will wrap this function.
+	*/
+	const std::string& Value()	const			{ return value; }
+
+	/** Changes the value of the node. Defined as:
+		@verbatim
+		Document:	filename of the xml file
+		Element:	name of the element
+		Comment:	the comment text
+		Unknown:	the tag contents
+		Text:		the text string
+		@endverbatim
+	*/
+	void SetValue( const std::string& _value )		{ value = _value; }
+
+	/// Delete all the children of this node. Does not affect 'this'.
+	void Clear();
+
+	/// One step up the DOM.
+	TiXmlNode* Parent() const					{ return parent; }
+
+	TiXmlNode* FirstChild()	const	{ return firstChild; }		///< The first child of this node. Will be null if there are no children.
+	TiXmlNode* FirstChild( const std::string& value ) const;	///< The first child of this node with the matching 'value'. Will be null if none found.
+	
+	TiXmlNode* LastChild() const	{ return lastChild; }		/// The last child of this node. Will be null if there are no children.
+	TiXmlNode* LastChild( const std::string& value ) const;		/// The last child of this node matching 'value'. Will be null if there are no children.
+
+	/** An alternate way to walk the children of a node.
+		One way to iterate over nodes is:
+		@verbatim
+			for( child = parent->FirstChild(); child; child = child->NextSibling() )
+		@endverbatim
+
+		IterateChildren does the same thing with the syntax:
+		@verbatim
+			child = 0;
+			while( child = parent->IterateChildren( child ) )
+		@endverbatim
+
+		IterateChildren takes the previous child as input and finds
+		the next one. If the previous child is null, it returns the
+		first. IterateChildren will return null when done.
+	*/
+	TiXmlNode* IterateChildren( TiXmlNode* previous ) const;
+
+	/// This flavor of IterateChildren searches for children with a particular 'value'
+	TiXmlNode* IterateChildren( const std::string& value, TiXmlNode* previous ) const;
+		
+	/** Add a new node related to this. Adds a child past the LastChild.
+		Returns a pointer to the new object or NULL if an error occured.
+	*/
+	TiXmlNode* InsertEndChild( const TiXmlNode& addThis );					
+
+	/** Add a new node related to this. Adds a child before the specified child.
+		Returns a pointer to the new object or NULL if an error occured.
+	*/
+	TiXmlNode* InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis );
+
+	/** Add a new node related to this. Adds a child after the specified child.
+		Returns a pointer to the new object or NULL if an error occured.
+	*/
+	TiXmlNode* InsertAfterChild(  TiXmlNode* afterThis, const TiXmlNode& addThis );
+	
+	/** Replace a child of this node.
+		Returns a pointer to the new object or NULL if an error occured.
+	*/
+	TiXmlNode* ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis );
+	
+	/// Delete a child of this node.
+	bool RemoveChild( TiXmlNode* removeThis );
+
+	/// Navigate to a sibling node.
+	TiXmlNode* PreviousSibling() const			{ return prev; }
+
+	/// Navigate to a sibling node.
+	TiXmlNode* PreviousSibling( const std::string& ) const;
+	
+	/// Navigate to a sibling node.
+	TiXmlNode* NextSibling() const				{ return next; }
+
+	/// Navigate to a sibling node with the given 'value'.
+	TiXmlNode* NextSibling( const std::string& ) const;
+
+	/** Convenience function to get through elements. 
+		Calls NextSibling and ToElement. Will skip all non-Element
+		nodes. Returns 0 if there is not another element.
+	*/
+	TiXmlElement* NextSiblingElement() const;
+
+	/** Convenience function to get through elements. 
+		Calls NextSibling and ToElement. Will skip all non-Element
+		nodes. Returns 0 if there is not another element.
+	*/
+	TiXmlElement* NextSiblingElement( const std::string& ) const;
+
+	/// Convenience function to get through elements.
+	TiXmlElement* FirstChildElement()	const;
+	
+	/// Convenience function to get through elements.
+	TiXmlElement* FirstChildElement( const std::string& value ) const;
+
+	/// Query the type (as an enumerated value, above) of this node.
+	virtual int Type() const	{ return type; }
+
+	/** Return a pointer to the Document this node lives in. 
+		Returns null if not in a document.
+	*/
+	TiXmlDocument* GetDocument() const;
+
+	/// Returns true if this node has no children.
+	bool NoChildren() const						{ return !firstChild; }
+
+	TiXmlDocument* ToDocument()	const		{ return ( this && type == DOCUMENT ) ? (TiXmlDocument*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
+	TiXmlElement*  ToElement() const		{ return ( this && type == ELEMENT  ) ? (TiXmlElement*)  this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
+	TiXmlComment*  ToComment() const		{ return ( this && type == COMMENT  ) ? (TiXmlComment*)  this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
+	TiXmlUnknown*  ToUnknown() const		{ return ( this && type == UNKNOWN  ) ? (TiXmlUnknown*)  this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
+	TiXmlText*	   ToText()    const		{ return ( this && type == TEXT     ) ? (TiXmlText*)     this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
+	TiXmlDeclaration* ToDeclaration() const	{ return ( this && type == DECLARATION ) ? (TiXmlDeclaration*) this : 0; } ///< Cast to a more defined type. Will return null not of the requested type.
+
+	virtual TiXmlNode* Clone() const = 0;
+
+	// The real work of the input operator.
+	virtual void StreamIn( std::istream* in, std::string* tag ) = 0;
+
+  protected:
+	TiXmlNode( NodeType type );
+
+	// The node is passed in by ownership. This object will delete it.
+	TiXmlNode* LinkEndChild( TiXmlNode* addThis );
+
+	// Figure out what is at *p, and parse it. Returns null if it is not an xml node.
+	TiXmlNode* Identify( const char* start );
+
+	void CopyToClone( TiXmlNode* target ) const	{ target->value = value; }
+
+	TiXmlNode*		parent;		
+	NodeType		type;
+	
+	TiXmlNode*		firstChild;
+	TiXmlNode*		lastChild;
+
+	std::string		value;
+	
+	TiXmlNode*		prev;
+	TiXmlNode*		next;
+};
+
+
+/** An attribute is a name-value pair. Elements have an arbitrary
+	number of attributes, each with a unique name.
+
+	@note The attributes are not TiXmlNodes, since they are not
+		  part of the tinyXML document object model. There are other
+		  suggested ways to look at this problem.
+
+	@note Attributes have a parent
+*/
+class TiXmlAttribute : public TiXmlBase
+{
+	friend class TiXmlAttributeSet;
+
+  public:
+	/// Construct an empty attribute.
+	TiXmlAttribute() : prev( 0 ), next( 0 )	{}
+
+	/// Construct an attribute with a name and value.
+	TiXmlAttribute( const std::string& _name, const std::string& _value )	: name( _name ), value( _value ), prev( 0 ), next( 0 ) {}
+
+	const std::string& Name()  const { return name; }		///< Return the name of this attribute.
+
+	const std::string& Value() const { return value; }		///< Return the value of this attribute.
+	const int          IntValue() const;					///< Return the value of this attribute, converted to an integer.
+	const double	   DoubleValue() const;					///< Return the value of this attribute, converted to a double.
+
+	void SetName( const std::string& _name )	{ name = _name; }		///< Set the name of this attribute.
+	void SetValue( const std::string& _value )	{ value = _value; }		///< Set the value.
+	void SetIntValue( int value );										///< Set the value from an integer.
+	void SetDoubleValue( double value );								///< Set the value from a double.
+
+	/// Get the next sibling attribute in the DOM. Returns null at end.
+	TiXmlAttribute* Next() const;
+	/// Get the previous sibling attribute in the DOM. Returns null at beginning.
+	TiXmlAttribute* Previous() const;
+
+	bool operator==( const TiXmlAttribute& rhs ) const { return rhs.name == name; }
+	bool operator<( const TiXmlAttribute& rhs )	 const { return name < rhs.name; }
+	bool operator>( const TiXmlAttribute& rhs )  const { return name > rhs.name; }
+
+	/*	[internal use] 
+		Attribtue parsing starts: first letter of the name
+						 returns: the next char after the value end quote
+	*/	
+	virtual const char* Parse( const char* p );
+
+	// [internal use] 
+ 	virtual void Print( FILE* cfile, int depth ) const;
+
+	// [internal use] 
+	virtual void StreamOut( std::ostream* out ) const;
+
+	// [internal use]
+	// Set the document pointer so the attribute can report errors.
+	void SetDocument( TiXmlDocument* doc )	{ document = doc; }
+
+  private:
+	TiXmlDocument*	document;	// A pointer back to a document, for error reporting.
+	std::string		name;
+	std::string		value;
+
+	TiXmlAttribute*	prev;
+	TiXmlAttribute*	next;
+};
+
+
+/*	A class used to manage a group of attributes.
+	It is only used internally, both by the ELEMENT and the DECLARATION.
+	
+	The set can be changed transparent to the Element and Declaration
+	classes that use it, but NOT transparent to the Attribute 
+	which has to implement a next() and previous() method. Which makes
+	it a bit problematic and prevents the use of STL.
+
+	This version is implemented with circular lists because:
+		- I like circular lists
+		- it demonstrates some independence from the (typical) doubly linked list.
+*/
+class TiXmlAttributeSet
+{
+  public:
+	TiXmlAttributeSet();
+	~TiXmlAttributeSet();
+
+	void Add( TiXmlAttribute* attribute );
+	void Remove( TiXmlAttribute* attribute );
+
+	TiXmlAttribute* First() const	{ return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
+	TiXmlAttribute* Last()  const	{ return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
+	
+	TiXmlAttribute*	Find( const std::string& name ) const;
+
+  private:
+	TiXmlAttribute sentinel;
+};
+
+
+/** The element is a container class. It has a value, the element name,
+	and can contain other elements, text, comments, and unknowns.
+	Elements also contain an arbitrary number of attributes.
+*/
+class TiXmlElement : public TiXmlNode
+{
+  public:
+	/// Construct an element.
+	TiXmlElement( const std::string& value );
+
+	virtual ~TiXmlElement();
+
+	/** Given an attribute name, attribute returns the value
+		for the attribute of that name, or null if none exists.
+	*/
+	const std::string* Attribute( const std::string& name ) const;
+
+	/** Given an attribute name, attribute returns the value
+		for the attribute of that name, or null if none exists.
+	*/
+	const std::string* Attribute( const std::string& name, int* i ) const;
+
+	/** Sets an attribute of name to a given value. The attribute
+		will be created if it does not exist, or changed if it does.
+	*/
+	void SetAttribute( const std::string& name, 
+					   const std::string& value );
+
+	/** Sets an attribute of name to a given value. The attribute
+		will be created if it does not exist, or changed if it does.
+	*/
+	void SetAttribute( const std::string& name, 
+					   int value );
+
+	/** Deletes an attribute with the given name.
+	*/
+	void RemoveAttribute( const std::string& name );
+
+	TiXmlAttribute* FirstAttribute() const	{ return attributeSet.First(); }		///< Access the first attribute in this element.
+	TiXmlAttribute* LastAttribute()	const 	{ return attributeSet.Last(); }		///< Access the last attribute in this element.
+
+	// [internal use] Creates a new Element and returs it.
+	virtual TiXmlNode* Clone() const;
+	// [internal use] 
+ 	virtual void Print( FILE* cfile, int depth ) const;
+	// [internal use] 
+	virtual void StreamOut ( std::ostream* out ) const;
+	// [internal use] 
+	virtual void StreamIn( std::istream* in, std::string* tag );
+
+  protected:
+	/*	[internal use] 
+		Attribtue parsing starts: next char past '<'
+						 returns: next char past '>'
+	*/	
+	virtual const char* Parse( const char* p );
+
+	/*	[internal use]
+		Reads the "value" of the element -- another element, or text.
+		This should terminate with the current end tag.
+	*/
+	const char* ReadValue( const char* in );
+	bool ReadValue( std::istream* in );
+
+  private:
+	TiXmlAttributeSet attributeSet;
+};
+
+
+/**	An XML comment.
+*/
+class TiXmlComment : public TiXmlNode
+{
+  public:
+	/// Constructs an empty comment.
+	TiXmlComment() : TiXmlNode( TiXmlNode::COMMENT ) {}
+	virtual ~TiXmlComment()	{}
+
+	// [internal use] Creates a new Element and returs it.
+	virtual TiXmlNode* Clone() const;
+	// [internal use] 
+ 	virtual void Print( FILE* cfile, int depth ) const;
+	// [internal use] 
+	virtual void StreamOut ( std::ostream* out ) const;
+	// [internal use] 
+	virtual void StreamIn( std::istream* in, std::string* tag );
+
+  protected:
+	/*	[internal use] 
+		Attribtue parsing starts: at the ! of the !--
+						 returns: next char past '>'
+	*/	
+	virtual const char* Parse( const char* p );
+};
+
+
+/** XML text. Contained in an element.
+*/
+class TiXmlText : public TiXmlNode
+{
+  public:
+	TiXmlText( const std::string& initValue )  : TiXmlNode( TiXmlNode::TEXT ) { SetValue( initValue ); }
+	virtual ~TiXmlText() {}
+
+
+	// [internal use] Creates a new Element and returns it.
+	virtual TiXmlNode* Clone() const;
+	// [internal use] 
+ 	virtual void Print( FILE* cfile, int depth ) const;
+	// [internal use] 
+	virtual void StreamOut ( std::ostream* out ) const;
+	// [internal use] 	
+	bool Blank() const;	// returns true if all white space and new lines
+	/*	[internal use] 
+		Attribtue parsing starts: First char of the text
+						 returns: next char past '>'
+	*/	
+	virtual const char* Parse( const char* p );
+	// [internal use]
+	virtual void StreamIn( std::istream* in, std::string* tag );
+};
+
+
+/** In correct XML the declaration is the first entry in the file.
+	@verbatim
+		<?xml version="1.0" standalone="yes"?>
+	@endverbatim
+
+	TinyXml will happily read or write files without a declaration,
+	however. There are 3 possible attributes to the declaration: 
+	version, encoding, and standalone.
+
+	Note: In this version of the code, the attributes are
+	handled as special cases, not generic attributes, simply
+	because there can only be at most 3 and they are always the same.
+*/
+class TiXmlDeclaration : public TiXmlNode
+{
+  public:
+	/// Construct an empty declaration.
+	TiXmlDeclaration()   : TiXmlNode( TiXmlNode::DECLARATION ) {}
+
+	/// Construct.
+	TiXmlDeclaration( const std::string& version, 
+					  const std::string& encoding,
+					  const std::string& standalone );
+
+	virtual ~TiXmlDeclaration()	{}
+
+	/// Version. Will return empty if none was found.
+	const std::string& Version() const		{ return version; }
+	/// Encoding. Will return empty if none was found.
+	const std::string& Encoding() const		{ return encoding; }
+	/// Is this a standalone document? 
+	const std::string& Standalone() const		{ return standalone; }
+
+	// [internal use] Creates a new Element and returs it.
+	virtual TiXmlNode* Clone() const;
+	// [internal use] 
+ 	virtual void Print( FILE* cfile, int depth ) const;
+	// [internal use] 
+	virtual void StreamOut ( std::ostream* out ) const;
+	// [internal use] 
+	virtual void StreamIn( std::istream* in, std::string* tag );
+
+  protected:
+	//	[internal use] 
+	//	Attribtue parsing starts: next char past '<'
+	//					 returns: next char past '>'
+	
+	virtual const char* Parse( const char* p );
+
+  private:
+	std::string version;
+	std::string encoding;
+	std::string standalone;
+};
+
+
+/** Any tag that tinyXml doesn't recognize is save as an 
+	unknown. It is a tag of text, but should not be modified.
+	It will be written back to the XML, unchanged, when the file 
+	is saved.
+*/
+class TiXmlUnknown : public TiXmlNode
+{
+  public:
+	TiXmlUnknown() : TiXmlNode( TiXmlNode::UNKNOWN ) {}
+	virtual ~TiXmlUnknown() {}
+
+	// [internal use] 	
+	virtual TiXmlNode* Clone() const;
+	// [internal use] 
+ 	virtual void Print( FILE* cfile, int depth ) const;
+	// [internal use] 
+	virtual void StreamOut ( std::ostream* out ) const;
+	// [internal use] 
+	virtual void StreamIn( std::istream* in, std::string* tag );
+
+  protected:
+	/*	[internal use] 
+		Attribute parsing starts: First char of the text
+						 returns: next char past '>'
+	*/	
+	virtual const char* Parse( const char* p );
+};
+
+
+/** Always the top level node. A document binds together all the
+	XML pieces. It can be saved, loaded, and printed to the screen.
+	The 'value' of a document node is the xml file name.
+*/
+class TiXmlDocument : public TiXmlNode
+{
+  public:
+	/// Create an empty document, that has no name.
+	TiXmlDocument();
+	/// Create a document with a name. The name of the document is also the filename of the xml.
+	TiXmlDocument( const std::string& documentName );
+	
+	virtual ~TiXmlDocument() {}
+
+	/** Load a file using the current document value. 
+		Returns true if successful. Will delete any existing
+		document data before loading.
+	*/
+	bool LoadFile();
+	/// Save a file using the current document value. Returns true if successful.
+	bool SaveFile() const;
+	/// Load a file using the given filename. Returns true if successful.
+	bool LoadFile( const std::string& filename );
+	/// Save a file using the given filename. Returns true if successful.
+	bool SaveFile( const std::string& filename ) const;
+
+	/// Parse the given null terminated block of xml data.
+	virtual const char* Parse( const char* p );
+
+	/** Get the root element -- the only top level element -- of the document.
+		In well formed XML, there should only be one. TinyXml is tolerant of
+		multiple elements at the document level.
+	*/
+	TiXmlElement* RootElement() const		{ return FirstChildElement(); }
+	
+	/// If, during parsing, a error occurs, Error will be set to true.
+	bool Error() const						{ return error; }
+
+	/// Contains a textual (english) description of the error if one occurs.
+	const std::string& ErrorDesc() const	{ return errorDesc; }
+
+	/** Generally, you probably want the error string ( ErrorDesc() ). But if you
+		prefer the ErrorId, this function will fetch it.
+	*/
+	const int ErrorId()	const				{ return errorId; }
+
+	/// If you have handled the error, it can be reset with this call.
+	void ClearError()						{ error = false; errorId = 0; errorDesc = ""; }
+  
+	/** Dump the document to standard out. */
+	void Print() const								{ Print( stdout, 0 ); }
+
+	// [internal use] 
+ 	virtual void Print( FILE* cfile, int depth = 0 ) const;
+	// [internal use] 
+	virtual void StreamOut ( std::ostream* out ) const;
+	// [internal use] 	
+	virtual TiXmlNode* Clone() const;
+	// [internal use] 	
+	void SetError( int err ) {		assert( err > 0 && err < TIXML_ERROR_STRING_COUNT );
+									error   = true; 
+									errorId = err;
+									errorDesc = errorString[ errorId ]; }
+	// [internal use] 
+	virtual void StreamIn( std::istream* in, std::string* tag );
+
+  protected:
+
+  private:
+	bool error;
+	int  errorId;	
+	std::string errorDesc;
+};
+
+
+
+#endif
+

+ 26 - 0
ACM/tinyxml/tinyxmlerror.cpp

@@ -0,0 +1,26 @@
+#include "tinyxml.h"
+
+// The goal of the seperate error file is to make the first
+// step towards localization. tinyxml (currently) only supports
+// latin-1, but at least the error messages could now be translated.
+//
+// It also cleans up the code a bit.
+//
+
+const char* TiXmlBase::errorString[ TIXML_ERROR_STRING_COUNT ] =
+{
+	"No error",
+	"Error",
+	"Failed to open file",
+	"Memory allocation failed.",
+	"Error parsing Element.",
+	"Failed to read Element name",
+	"Error reading Element value.",
+	"Error reading Attributes.",
+	"Error: empty tag.",
+	"Error reading end tag.",
+	"Error parsing Unknown.",
+	"Error parsing Comment.",
+	"Error parsing Declaration.",
+	"Error document empty."
+};

+ 928 - 0
ACM/tinyxml/tinyxmlparser.cpp

@@ -0,0 +1,928 @@
+/*
+Copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com)
+
+This software is provided 'as-is', without any express or implied 
+warranty. In no event will the authors be held liable for any 
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any 
+purpose, including commercial applications, and to alter it and 
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must 
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation 
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and 
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source 
+distribution.
+*/
+
+#include "tinyxml.h"
+#include <ctype.h>
+#include <strstream>
+using namespace std;
+
+//#define DEBUG_PARSER
+
+TiXmlBase::Entity TiXmlBase::entity[ NUM_ENTITY ] = 
+{
+	{ "&amp;",  5, '&' },
+	{ "&lt;",   4, '<' },
+	{ "&gt;",   4, '>' },
+	{ "&quot;", 6, '\"' },
+	{ "&apos;", 6, '\'' }
+};
+
+
+const char* TiXmlBase::SkipWhiteSpace( const char* p )
+{
+	if ( !p || !*p )
+	{
+		return 0;
+	}
+	while ( p && *p )
+	{
+		if ( isspace( *p ) || *p == '\n' || *p =='\r' )		// Still using old rules for white space.
+			++p;
+		else
+			break;
+	}
+
+	return p;
+}
+
+
+/*static*/ bool TiXmlBase::StreamWhiteSpace( std::istream* in, std::string* tag )
+{
+	for( ;; )
+	{
+		if ( !in->good() ) return false;
+
+		int c = in->peek();
+		if ( !IsWhiteSpace( c ) )
+			return true;
+		*tag += in->get();
+	}
+}
+
+
+/*static*/ bool TiXmlBase::StreamTo( std::istream* in, int character, std::string* tag )
+{
+	while ( in->good() )
+	{
+		int c = in->peek();
+		if ( c == character )
+			return true;
+
+		in->get();
+		*tag += c;
+	}
+	return false;
+}
+
+
+const char* TiXmlBase::ReadName( const char* p, string* name )
+{
+	*name = "";
+	assert( p );
+
+	// Names start with letters or underscores.
+	// After that, they can be letters, underscores, numbers,
+	// hyphens, or colons. (Colons are valid ony for namespaces,
+	// but tinyxml can't tell namespaces from names.)
+	if (    p && *p 
+		 && ( isalpha( (unsigned char) *p ) || *p == '_' ) )
+	{
+		while(		p && *p
+				&&	(		isalnum( (unsigned char ) *p ) 
+						 || *p == '_'
+						 || *p == '-'
+						 || *p == ':' ) )
+		{
+			(*name) += *p;
+			++p;
+		}
+		return p;
+	}
+	return 0;
+}
+
+
+const char* TiXmlBase::GetEntity( const char* p, char* value )
+{
+	// Presume an entity, and pull it out.
+	string ent;
+	int i;
+
+	// Ignore the &#x entities.
+	if ( strncmp( "&#x", p, 3 ) == 0 )
+	{
+		*value = *p;
+		return p+1;
+	}
+
+	// Now try to match it.
+	for( i=0; i<NUM_ENTITY; ++i )
+	{
+		if ( strncmp( entity[i].str, p, entity[i].strLength ) == 0 )
+		{
+			assert( strlen( entity[i].str ) == entity[i].strLength );
+			*value = entity[i].chr;
+			return ( p + entity[i].strLength );
+		}
+	}
+
+	// So it wasn't an entity, its unrecognized, or something like that.
+	*value = *p;	// Don't put back the last one, since we return it!
+	return p+1;
+}
+
+
+bool TiXmlBase::StringEqual( const char* p,
+							 const char* tag,
+							 bool ignoreCase )
+{
+	assert( p );
+	if ( !p || !*p )
+	{
+		assert( 0 );
+		return false;
+	}
+
+    if ( tolower( *p ) == tolower( *tag ) )
+	{
+		const char* q = p;
+
+		if (ignoreCase)
+		{
+			while ( *q && *tag && *q == *tag )
+			{
+				++q;
+				++tag;
+			}
+
+			if ( *tag == 0 )		// Have we found the end of the tag, and everything equal?
+			{
+				return true;
+			}
+		}
+		else
+		{
+			while ( *q && *tag && tolower( *q ) == tolower( *tag ) )
+			{
+				++q;
+				++tag;
+			}
+
+			if ( *tag == 0 )
+			{
+				return true;
+			}
+		}
+	}
+	return false;
+}
+
+
+const char* TiXmlBase::ReadText(	const char* p, 
+									string* text, 
+									bool trimWhiteSpace, 
+									const char* endTag, 
+									bool caseInsensitive )
+{
+	*text = "";
+
+	if (    !trimWhiteSpace			// certain tags always keep whitespace
+		 || !condenseWhiteSpace )	// if true, whitespace is always kept
+	{
+		// Keep all the white space.
+		while (	   p && *p
+				&& !StringEqual( p, endTag, caseInsensitive )
+			  )
+		{
+			char c;
+			p = GetChar( p, &c );
+			text->append( &c, 1 );
+		}
+	}
+	else
+	{
+		bool whitespace = false;
+
+		// Remove leading white space:
+		p = SkipWhiteSpace( p );
+		while (	   p && *p
+				&& !StringEqual( p, endTag, caseInsensitive ) )
+		{
+			if ( *p == '\r' || *p == '\n' )
+			{
+				whitespace = true;
+				++p;
+			}
+			else if ( isspace( *p ) )
+			{
+				whitespace = true;
+				++p;
+			}
+			else
+			{
+				// If we've found whitespace, add it before the
+				// new character. Any whitespace just becomes a space.
+				if ( whitespace )
+				{
+					text->append( " ", 1 );
+					whitespace = false;
+				}
+				char c;
+				p = GetChar( p, &c );
+				text->append( &c, 1 );
+			}
+		}
+	}
+	return p + strlen( endTag );
+}
+
+
+void TiXmlDocument::StreamIn( std::istream* in, std::string* tag )
+{
+	// The basic issue with a document is that we don't know what we're
+	// streaming. Read something presumed to be a tag (and hope), then
+	// identify it, and call the appropriate stream method on the tag.
+	//
+	// This "pre-streaming" will never read the closing ">" so the
+	// sub-tag can orient itself.
+
+	if ( !StreamTo( in, '<', tag ) ) 
+	{
+		SetError( TIXML_ERROR_PARSING_EMPTY );
+		return;
+	}
+
+	while ( in->good() )
+	{
+		int tagIndex = tag->length();
+		while ( in->good() && in->peek() != '>' )
+		{
+			int c = in->get();
+			(*tag) += (char) c;
+		}
+
+		if ( in->good() )
+		{
+			// We now have something we presume to be a node of 
+			// some sort. Identify it, and call the node to
+			// continue streaming.
+			TiXmlNode* node = Identify( tag->c_str() + tagIndex );
+
+			if ( node )
+			{
+				node->StreamIn( in, tag );
+				bool isElement = node->ToElement() != 0;
+				delete node;
+				node = 0;
+
+				// If this is the root element, we're done. Parsing will be
+				// done by the >> operator.
+				if ( isElement )
+				{
+					return;
+				}
+			}
+			else
+			{
+				SetError( TIXML_ERROR );
+				return;
+			}
+		}
+	}
+	// We should have returned sooner. 
+	SetError( TIXML_ERROR );
+}
+
+
+const char* TiXmlDocument::Parse( const char* p )
+{
+	// Parse away, at the document level. Since a document
+	// contains nothing but other tags, most of what happens
+	// here is skipping white space.
+	//
+	// In this variant (as opposed to stream and Parse) we
+	// read everything we can.
+
+
+	if ( !p || !*p  || !( p = SkipWhiteSpace( p ) ) )
+	{
+		SetError( TIXML_ERROR_DOCUMENT_EMPTY );
+		return false;
+	}
+	
+	while ( p && *p )
+	{
+		TiXmlNode* node = Identify( p );
+		if ( node )
+		{				
+			p = node->Parse( p );
+			LinkEndChild( node );
+		}		
+		else
+		{
+			break;
+		}		
+		p = SkipWhiteSpace( p );
+	}
+	// All is well.
+	return p;
+}
+
+
+TiXmlNode* TiXmlNode::Identify( const char* p )
+{
+	TiXmlNode* returnNode = 0;
+
+	p = SkipWhiteSpace( p );
+	if( !p || !*p || *p != '<' )
+	{
+		return 0;
+	}
+
+	TiXmlDocument* doc = GetDocument();
+	p = SkipWhiteSpace( p );
+
+	if ( !p || !*p )
+	{
+		return 0;
+	}
+
+	// What is this thing? 
+	// - Elements start with a letter or underscore, but xml is reserved.
+	// - Comments: <!--
+	// - Decleration: <?xml
+	// - Everthing else is unknown to tinyxml.
+	//
+
+	const char* xmlHeader = { "<?xml" };
+	const char* commentHeader = { "<!--" };
+
+	if ( StringEqual( p, xmlHeader, true ) )
+	{
+		#ifdef DEBUG_PARSER
+			TIXML_LOG( "XML parsing Declaration\n" );
+		#endif
+		returnNode = new TiXmlDeclaration();
+	}
+	else if (    isalpha( *(p+1) )
+			  || *(p+1) == '_' )
+	{
+		#ifdef DEBUG_PARSER
+			TIXML_LOG( "XML parsing Element\n" );
+		#endif
+		returnNode = new TiXmlElement( "" );
+	}
+	else if ( StringEqual( p, commentHeader, false ) )
+	{
+		#ifdef DEBUG_PARSER
+			TIXML_LOG( "XML parsing Comment\n" );
+		#endif
+		returnNode = new TiXmlComment();
+	}
+	else
+	{
+		#ifdef DEBUG_PARSER
+			TIXML_LOG( "XML parsing Unknown\n" );
+		#endif
+		returnNode = new TiXmlUnknown();
+	}
+
+	if ( returnNode )
+	{
+		// Set the parent, so it can report errors
+		returnNode->parent = this;
+		//p = returnNode->Parse( p );
+	}
+	else
+	{
+		if ( doc )
+			doc->SetError( TIXML_ERROR_OUT_OF_MEMORY );
+	}
+	return returnNode;
+}
+
+
+void TiXmlElement::StreamIn( std::istream* in, std::string* tag )
+{
+	// We're called with some amount of pre-parsing. That is, some of "this"
+	// element is in "tag". Go ahead and stream to the closing ">"
+	while( in->good() )
+	{
+		int c = in->get();
+		(*tag) += (char) c ;
+		
+		if ( c == '>' )
+			break;
+	}
+
+	if ( tag->length() < 3 ) return;
+
+	// Okay...if we are a "/>" tag, then we're done. We've read a complete tag.
+	// If not, identify and stream.
+
+	if (    tag->at( tag->length() - 1 ) == '>' 
+		 && tag->at( tag->length() - 2 ) == '/' )
+	{
+		// All good!
+		return;
+	}
+	else if ( tag->at( tag->length() - 1 ) == '>' )
+	{
+		// There is more. Could be:
+		//		text
+		//		closing tag
+		//		another node.
+		for ( ;; )
+		{
+			StreamWhiteSpace( in, tag );
+
+			// Do we have text?
+			if ( in->peek() != '<' )
+			{
+				// Yep, text.
+				TiXmlText text( "" );
+				text.StreamIn( in, tag );
+
+				// What follows text is a closing tag or another node.
+				// Go around again and figure it out.
+				continue;
+			}
+
+			// We now have either a closing tag...or another node.
+			// We should be at a "<", regardless.
+			if ( !in->good() ) return;
+			assert( in->peek() == '<' );
+			int tagIndex = tag->length();
+
+			bool closingTag = false;
+			bool firstCharFound = false;
+
+			for( ;; )
+			{
+				if ( !in->good() )
+					return;
+
+				int c = in->peek();
+				
+				if ( c == '>' )
+					break;
+
+				*tag += c;
+				in->get();
+
+				if ( !firstCharFound && c != '<' && !IsWhiteSpace( c ) )
+				{
+					firstCharFound = true;
+					if ( c == '/' )
+						closingTag = true;
+				}
+			}
+			// If it was a closing tag, then read in the closing '>' to clean up the input stream.
+			// If it was not, the streaming will be done by the tag.
+			if ( closingTag )
+			{
+				int c = in->get();
+				assert( c == '>' );
+				*tag += c;
+
+				// We are done, once we've found our closing tag.
+				return;
+			}
+			else
+			{
+				// If not a closing tag, id it, and stream.
+				const char* tagloc = tag->c_str() + tagIndex;
+				TiXmlNode* node = Identify( tagloc );
+				if ( !node )
+					return;
+				node->StreamIn( in, tag );
+				delete node;
+				node = 0;
+
+				// No return: go around from the beginning: text, closing tag, or node.
+			}
+		}
+	}
+}
+
+
+const char* TiXmlElement::Parse( const char* p )
+{
+	p = SkipWhiteSpace( p );
+	TiXmlDocument* document = GetDocument();
+
+	if ( !p || !*p || *p != '<' )
+	{
+		if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT );
+		return false;
+	}
+
+	p = SkipWhiteSpace( p+1 );
+
+	// Read the name.
+	p = ReadName( p, &value );
+	if ( !p || !*p )
+	{
+		if ( document )	document->SetError( TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME );
+		return false;
+	}
+
+	string endTag = "</";
+	endTag += value;
+	endTag += ">";
+
+	// Check for and read attributes. Also look for an empty
+	// tag or an end tag.
+	while ( p && *p )
+	{
+		p = SkipWhiteSpace( p );
+		if ( !p || !*p )
+		{
+			if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES );
+			return 0;
+		}
+		if ( *p == '/' )
+		{
+			++p;
+			// Empty tag.
+			if ( *p  != '>' )
+			{
+				if ( document ) document->SetError( TIXML_ERROR_PARSING_EMPTY );		
+				return 0;
+			}
+			return (p+1);
+		}
+		else if ( *p == '>' )
+		{
+			// Done with attributes (if there were any.)
+			// Read the value -- which can include other
+			// elements -- read the end tag, and return.
+			++p;
+			p = ReadValue( p );		// Note this is an Element method, and will set the error if one happens.
+			if ( !p || !*p )
+				return 0;
+
+			// We should find the end tag now
+			if ( StringEqual( p, endTag.c_str(), false ) )
+			{
+				p += endTag.length();
+				return p;
+			}
+			else
+			{
+				if ( document ) document->SetError( TIXML_ERROR_READING_END_TAG );
+				return 0;
+			}
+		}
+		else
+		{
+			// Try to read an element:
+			TiXmlAttribute attrib;
+			attrib.SetDocument( document );
+			p = attrib.Parse( p );
+
+			if ( !p || !*p )
+			{
+				if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT );
+				return 0;
+			}
+			SetAttribute( attrib.Name(), attrib.Value() );
+		}
+	}
+	return p;
+}
+
+
+const char* TiXmlElement::ReadValue( const char* p )
+{
+	TiXmlDocument* document = GetDocument();
+
+	// Read in text and elements in any order.
+	p = SkipWhiteSpace( p );
+	while ( p && *p )
+	{
+//		string text;
+//		while ( p && *p && *p != '<' )
+//		{
+//			text += (*p);
+//			++p;
+//		}
+//
+//		p = SkipWhiteSpace( p );
+
+		if ( *p != '<' )
+		{
+			// Take what we have, make a text element.
+			TiXmlText* textNode = new TiXmlText( "" );
+
+			if ( !textNode )
+			{
+				if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY );
+				return 0;
+			}
+
+			p = textNode->Parse( p );
+
+			if ( !textNode->Blank() )
+				LinkEndChild( textNode );
+			else
+				delete textNode;
+		} 
+		else 
+		{
+			// We hit a '<'
+			// Have we hit a new element or an end tag?
+			if ( StringEqual( p, "</", false ) )
+			{
+				return p;
+			}
+			else
+			{
+				TiXmlNode* node = Identify( p );
+				if ( node )
+				{
+					p = node->Parse( p );
+					LinkEndChild( node );
+				}				
+				else
+				{
+					return 0;
+				}
+			}
+		}
+		p = SkipWhiteSpace( p );
+	}
+
+	if ( !p )
+	{
+		if ( document ) document->SetError( TIXML_ERROR_READING_ELEMENT_VALUE );
+	}	
+	return p;
+}
+
+
+void TiXmlUnknown::StreamIn( std::istream* in, std::string* tag )
+{
+	while ( in->good() )
+	{
+		int c = in->get();	
+		(*tag) += c;
+
+		if ( c == '>' )
+		{
+			// All is well.
+			return;		
+		}
+	}
+}
+
+
+const char* TiXmlUnknown::Parse( const char* p )
+{
+	TiXmlDocument* document = GetDocument();
+	p = SkipWhiteSpace( p );
+	if ( !p || !*p || *p != '<' )
+	{
+		if ( document ) document->SetError( TIXML_ERROR_PARSING_UNKNOWN );
+		return 0;
+	}
+	++p;
+	value = "";
+
+	while ( p && *p && *p != '>' )
+	{
+		value += *p;
+		++p;
+	}
+
+	if ( !p )
+	{
+		if ( document )	document->SetError( TIXML_ERROR_PARSING_UNKNOWN );
+	}
+	if ( *p == '>' )
+		return p+1;
+	return p;
+}
+
+
+void TiXmlComment::StreamIn( std::istream* in, std::string* tag )
+{
+	while ( in->good() )
+	{
+		int c = in->get();	
+		(*tag) += c;
+
+		if ( c == '>' 
+			 && tag->at( tag->length() - 2 ) == '-'
+			 && tag->at( tag->length() - 3 ) == '-' )
+		{
+			// All is well.
+			return;		
+		}
+	}
+}
+
+
+const char* TiXmlComment::Parse( const char* p )
+{
+	TiXmlDocument* document = GetDocument();
+	value = "";
+
+	p = SkipWhiteSpace( p );
+	const char* startTag = "<!--";
+	const char* endTag   = "-->";
+
+	if ( !StringEqual( p, startTag, false ) )
+	{
+		document->SetError( TIXML_ERROR_PARSING_COMMENT );
+		return 0;
+	}
+	p += strlen( startTag );
+	p = ReadText( p, &value, false, endTag, false );
+	return p;
+}
+
+
+const char* TiXmlAttribute::Parse( const char* p )
+{
+	p = SkipWhiteSpace( p );
+	if ( !p || !*p ) return 0;
+
+	// Read the name, the '=' and the value.
+	p = ReadName( p, &name );
+	if ( !p || !*p )
+	{
+		if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES );
+		return 0;
+	}
+	p = SkipWhiteSpace( p );
+	if ( !p || !*p || *p != '=' )
+	{
+		if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES );
+		return 0;
+	}
+
+	++p;	// skip '='
+	p = SkipWhiteSpace( p );
+	if ( !p || !*p )
+	{
+		if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES );
+		return 0;
+	}
+	
+	const char* end;
+
+	if ( *p == '\'' )
+	{
+		++p;
+		end = "\'";
+		p = ReadText( p, &value, false, end, false );
+	}
+	else if ( *p == '"' )
+	{
+		++p;
+		end = "\"";
+		p = ReadText( p, &value, false, end, false );
+	}
+	else
+	{
+		// All attribute values should be in single or double quotes.
+		// But this is such a common error that the parser will try
+		// its best, even without them.
+		value = "";
+		while (    p && *p										// existence
+				&& !isspace( *p ) && *p != '\n' && *p != '\r'	// whitespace
+				&& *p != '/' && *p != '>' )						// tag end
+		{
+			value += *p;
+			++p;
+		}
+	}
+	return p;
+}
+
+
+void TiXmlText::StreamIn( std::istream* in, std::string* tag )
+{
+	while ( in->good() )
+	{
+		int c = in->peek();	
+		if ( c == '<' )
+			return;
+
+		(*tag) += c;
+		in->get();
+	}
+}
+
+
+
+const char* TiXmlText::Parse( const char* p )
+{
+	value = "";
+
+	//TiXmlDocument* doc = GetDocument();
+	bool ignoreWhite = true;
+//	if ( doc && !doc->IgnoreWhiteSpace() ) ignoreWhite = false;
+
+	const char* end = "<";
+	p = ReadText( p, &value, ignoreWhite, end, false );
+	if ( p )
+		return p-1;	// don't truncate the '<'
+	return 0;
+}
+
+
+void TiXmlDeclaration::StreamIn( std::istream* in, std::string* tag )
+{
+	while ( in->good() )
+	{
+		int c = in->get();
+		(*tag) += c;
+
+		if ( c == '>' )
+		{
+			// All is well.
+			return;
+		}
+	}
+}
+
+const char* TiXmlDeclaration::Parse( const char* p )
+{
+	p = SkipWhiteSpace( p );
+	// Find the beginning, find the end, and look for
+	// the stuff in-between.
+	TiXmlDocument* document = GetDocument();
+	if ( !p || !*p || !StringEqual( p, "<?xml", true ) )
+	{
+		if ( document ) document->SetError( TIXML_ERROR_PARSING_DECLARATION );
+		return 0;
+	}
+
+	p += 5;
+//	const char* start = p+5;
+//	const char* end  = strstr( start, "?>" );
+
+	version = "";
+	encoding = "";
+	standalone = "";
+
+	while ( p && *p )
+	{
+		if ( *p == '>' )
+		{
+			++p;
+			return p;
+		}
+
+		p = SkipWhiteSpace( p );
+		if ( StringEqual( p, "version", true ) )
+		{
+//			p += 7;
+			TiXmlAttribute attrib;
+			p = attrib.Parse( p );		
+			version = attrib.Value();
+		}
+		else if ( StringEqual( p, "encoding", true ) )
+		{
+//			p += 8;
+			TiXmlAttribute attrib;
+			p = attrib.Parse( p );		
+			encoding = attrib.Value();
+		}
+		else if ( StringEqual( p, "standalone", true ) )
+		{
+//			p += 10;
+			TiXmlAttribute attrib;
+			p = attrib.Parse( p );		
+			standalone = attrib.Value();
+		}
+		else
+		{
+			// Read over whatever it is.
+			while( p && *p && *p != '>' && !isspace( *p ) )
+				++p;
+		}
+	}
+	return 0;
+}
+
+bool TiXmlText::Blank() const
+{
+	for ( unsigned i=0; i<value.size(); i++ )
+		if ( !isspace( value[i] ) )
+			return false;
+	return true;
+}
+

+ 326 - 0
ACM/tinyxml/xmltest.cpp

@@ -0,0 +1,326 @@
+#include "tinyxml.h"
+#include <iostream>
+#include <sstream>
+#include <strstream>
+using namespace std;
+
+int gPass = 0;
+int gFail = 0;
+
+// Utility functions:
+template< class T >
+bool XmlTest( const char* testString, T expected, T found, bool noEcho = false )
+{
+	if ( expected == found ) 
+		cout << "[pass]";
+	else
+		cout << "[fail]";
+
+	if ( noEcho )
+		cout << " " << testString;
+	else
+		cout << " " << testString << " [" << expected << "][" <<  found << "]";
+	cout << "\n";
+
+	bool pass = ( expected == found );
+	if ( pass )
+		++gPass;
+	else
+		++gFail;
+	return pass;
+}
+
+
+//
+// This file demonstrates some basic functionality of TinyXml.
+// Note that the example is very contrived. It presumes you know
+// what is in the XML file. But it does test the basic operations,
+// and show how to add and remove nodes.
+//
+
+int main()
+{
+	//
+	// We start with the 'demoStart' todo list. Process it. And
+	// should hopefully end up with the todo list as illustrated.
+	//
+	const char* demoStart = 
+		"<?xml version=\"1.0\"  standalone='no' >\n"
+		"<!-- Our to do list data -->"
+		"<ToDo>\n"
+			"<!-- Do I need a secure PDA? -->\n"
+			"<Item priority=\"1\" distance='close'> Go to the <bold>Toy store!</bold></Item>"
+			"<Item priority=\"2\" distance='none'> Do bills   </Item>"
+			"<Item priority=\"2\" distance='far &amp; back'> Look for Evil Dinosaurs! </Item>"
+		"</ToDo>";
+
+	/*	What the todo list should look like after processing.
+		In stream (no formatting) representation. */
+	const char* demoEnd = 
+		"<?xml version=\"1.0\" standalone=\"no\" ?>"
+		"<!-- Our to do list data -->"
+		"<ToDo>"
+			"<!-- Do I need a secure PDA? -->"
+		    "<Item priority=\"2\" distance=\"close\">Go to the"
+		        "<bold>Toy store!"
+		        "</bold>"
+		    "</Item>"
+		    "<Item priority=\"1\" distance=\"far\">Talk to:"
+		        "<Meeting where=\"School\">"
+		            "<Attendee name=\"Marple\" position=\"teacher\" />"
+		            "<Attendee name=\"Vo&#x82;\" position=\"counselor\" />"
+		        "</Meeting>"
+		        "<Meeting where=\"Lunch\" />"
+		    "</Item>"
+		    "<Item priority=\"2\" distance=\"here\">Do bills"
+		    "</Item>"
+		"</ToDo>";
+
+	// The example parses from the character string (above):
+
+	{
+		// Write to a file and read it back, to check file I/O.
+
+		TiXmlDocument doc( "demotest.xml" );
+		doc.Parse( demoStart );
+
+		if ( doc.Error() )
+		{
+			printf( "Error in %s: %s\n", doc.Value().c_str(), doc.ErrorDesc().c_str() );
+			exit( 1 );
+		}
+		doc.SaveFile();
+	}
+
+	TiXmlDocument doc( "demotest.xml" );
+	bool loadOkay = doc.LoadFile();
+
+	if ( !loadOkay )
+	{
+		printf( "Could not load test file 'demotest.xml'. Error='%s'. Exiting.\n", doc.ErrorDesc().c_str() );
+		exit( 1 );
+	}
+
+	printf( "** Demo doc read from disk: ** \n\n" );
+	doc.Print( stdout );
+
+	TiXmlNode* node = 0;
+	TiXmlElement* todoElement = 0;
+	TiXmlElement* itemElement = 0;
+
+
+	// --------------------------------------------------------
+	// An example of changing existing attributes, and removing
+	// an element from the document.
+	// --------------------------------------------------------
+
+	// Get the "ToDo" element.
+	// It is a child of the document, and can be selected by name.
+	node = doc.FirstChild( "ToDo" );
+	assert( node );
+	todoElement = node->ToElement();
+	assert( todoElement  );
+
+	// Going to the toy store is now our second priority...
+	// So set the "priority" attribute of the first item in the list.
+	node = todoElement->FirstChildElement();	// This skips the "PDA" comment.
+	assert( node );
+	itemElement = node->ToElement();
+	assert( itemElement  );
+	itemElement->SetAttribute( "priority", 2 );
+
+	// Change the distance to "doing bills" from
+	// "none" to "here". It's the next sibling element.
+	itemElement = itemElement->NextSiblingElement();
+	assert( itemElement );
+	itemElement->SetAttribute( "distance", "here" );
+
+	// Remove the "Look for Evil Dinosours!" item.
+	// It is 1 more sibling away. We ask the parent to remove
+	// a particular child.
+	itemElement = itemElement->NextSiblingElement();
+	todoElement->RemoveChild( itemElement );
+
+	itemElement = 0;
+
+	// --------------------------------------------------------
+	// What follows is an example of created elements and text
+	// nodes and adding them to the document.
+	// --------------------------------------------------------
+
+	// Add some meetings.
+	TiXmlElement item( "Item" );
+	item.SetAttribute( "priority", "1" );
+	item.SetAttribute( "distance", "far" );
+
+	TiXmlText text( "Talk to:" );
+
+	TiXmlElement meeting1( "Meeting" );
+	meeting1.SetAttribute( "where", "School" );
+
+	TiXmlElement meeting2( "Meeting" );
+	meeting2.SetAttribute( "where", "Lunch" );
+
+	TiXmlElement attendee1( "Attendee" );
+	attendee1.SetAttribute( "name", "Marple" );
+	attendee1.SetAttribute( "position", "teacher" );
+
+	TiXmlElement attendee2( "Attendee" );
+	attendee2.SetAttribute( "name", "Vo&#x82;" );
+	attendee2.SetAttribute( "position", "counselor" );
+
+	// Assemble the nodes we've created:
+	meeting1.InsertEndChild( attendee1 );
+	meeting1.InsertEndChild( attendee2 );
+
+	item.InsertEndChild( text );
+	item.InsertEndChild( meeting1 );
+	item.InsertEndChild( meeting2 );
+
+	// And add the node to the existing list after the first child.
+	node = todoElement->FirstChild( "Item" );
+	assert( node );
+	itemElement = node->ToElement();
+	assert( itemElement );
+
+	todoElement->InsertAfterChild( itemElement, item );
+
+	printf( "\n** Demo doc processed: ** \n\n" );
+	doc.Print( stdout );
+
+	printf( "** Demo doc processed to stream: ** \n\n" );
+	cout << doc << endl << endl;
+
+	// --------------------------------------------------------
+	// Different tests...do we have what we expect?
+	// --------------------------------------------------------
+
+	int count = 0;
+	TiXmlElement*	element;
+
+	//////////////////////////////////////////////////////
+	cout << "** Basic structure. **\n";
+	ostringstream outputStream( ostringstream::out );
+	outputStream << doc;
+
+	XmlTest( "Output stream correct.", string( demoEnd ), outputStream.str(), true );
+
+	node = doc.RootElement();
+	XmlTest( "Root element exists.", true, ( node != 0 && node->ToElement() ) );	
+	XmlTest( "Root element value is 'ToDo'.", string( "ToDo" ), node->Value() );
+	node = node->FirstChild();
+	XmlTest( "First child exists & is a comment.", true, ( node != 0 && node->ToComment() ) );
+	node = node->NextSibling();
+	XmlTest( "Sibling element exists & is an element.", true, ( node != 0 && node->ToElement() ) );
+	XmlTest( "Value is 'Item'.", string( "Item" ), node->Value() );
+	node = node->FirstChild();
+	XmlTest( "First child exists.", true, ( node != 0 && node->ToText() ) );
+	XmlTest( "Value is 'Go to the'.", string( "Go to the" ), node->Value() );
+
+
+	//////////////////////////////////////////////////////
+	cout << "\n** Iterators. **" << "\n";
+	// Walk all the top level nodes of the document.
+	count = 0;
+	for( node = doc.FirstChild();
+		 node;
+		 node = node->NextSibling() )
+	{
+		count++;
+	}
+	XmlTest( "Top level nodes, using First / Next.", 3, count );
+
+	count = 0;
+	for( node = doc.LastChild();
+		 node;
+		 node = node->PreviousSibling() )
+	{
+		count++;
+	}
+	XmlTest( "Top level nodes, using Last / Previous.", 3, count );
+
+	// Walk all the top level nodes of the document,
+	// using a different sytax.
+	count = 0;
+	for( node = doc.IterateChildren( 0 );
+		 node;
+		 node = doc.IterateChildren( node ) )
+	{
+		count++;
+	}
+	XmlTest( "Top level nodes, using IterateChildren.", 3, count );
+
+	// Walk all the elements in a node.
+	count = 0;
+	for( element = todoElement->FirstChildElement();
+		 element;
+		 element = element->NextSiblingElement() )
+	{
+		count++;
+	}
+	XmlTest( "Children of the 'ToDo' element, using First / Next.",
+			 3, count );
+
+	// Walk all the elements in a node by value.
+	count = 0;
+	for( node = todoElement->FirstChild( "Item" );
+		 node;
+		 node = node->NextSibling( "Item" ) )
+	{
+		count++;
+	}
+	XmlTest( "'Item' children of the 'ToDo' element, using First/Next.", 3, count );
+
+	count = 0;
+	for( node = todoElement->LastChild( "Item" );
+		 node;
+		 node = node->PreviousSibling( "Item" ) )
+	{
+		count++;
+	}
+	XmlTest( "'Item' children of the 'ToDo' element, using Last/Previous.", 3, count );
+
+
+	//////////////////////////////////////////////////////
+	cout << "\n** Parsing. **\n";
+	istringstream parse0( "<Element0 attribute0='foo0' attribute1= noquotes attribute2 = '&gt;' />" );
+	TiXmlElement element0( "default" );
+	parse0 >> element0;
+
+	XmlTest( "Element parsed, value is 'Element0'.", string( "Element0" ), element0.Value() );
+	XmlTest( "Reads attribute 'attribute0=\"foo0\"'.", string( "foo0" ), *( element0.Attribute( "attribute0" ) ) );
+	XmlTest( "Reads incorrectly formatted 'attribute1=noquotes'.", string( "noquotes" ), *( element0.Attribute( "attribute1" ) ) );
+	XmlTest( "Read attribute with entity value '>'.", string( ">" ), *( element0.Attribute( "attribute2" ) ) );
+
+	//////////////////////////////////////////////////////
+	cout << "\n** Streaming. **\n";
+
+	// Round trip check: stream in, then stream back out to verify. The stream
+	// out has already been checked, above. We use the output
+
+	istringstream inputStringStream( outputStream.str() );
+	TiXmlDocument document0;
+
+	inputStringStream >> document0;
+
+	ostringstream outputStream0( ostringstream::out );
+	outputStream0 << document0;
+
+	XmlTest( "Stream round trip correct.", string( demoEnd ), outputStream0.str(), true );
+
+	//////////////////////////////////////////////////////
+	cout << "\n** Parsing, no Condense Whitespace **\n";
+	TiXmlBase::SetCondenseWhiteSpace( false );
+
+	istringstream parse1( "<start>This  is    \ntext</start>" );
+	TiXmlElement text1( "text" );
+	parse1 >> text1;
+
+	XmlTest( "Condense white space OFF.", string( "This  is    \ntext" ),
+										  text1.FirstChild()->Value(),
+										  true );
+							
+	cout << endl << "Pass " << gPass << ", Fail " << gFail << endl;	
+	return 0;
+}
+

+ 107 - 0
API

@@ -0,0 +1,107 @@
+The LAME API
+
+This is the simple interface to the encoding part of libmp3lame.so.
+The library also contains routines for adding id3 tags and 
+mp3 decoding.  These routines are not fully documented,
+but you can figure them out by looking at "include/lame.h" and the
+example frontend encoder/decoder source code in frontend/main.c
+
+All of these steps should be done for every MP3 to be encoded.
+
+
+=========================================================================
+
+1. (optional) Get the version number of the encoder, if you are interested.  
+   void get_lame_version(char *strbuf, size_t buflen, const char *prefix);
+
+
+2. Error messages.  By default, LAME will write error messages to
+stderr using vfprintf().  For GUI applications, this is often a problem
+and you need to set your own error message handlers:
+
+   lame_set_errorf(gfp,error_handler_function);
+   lame_set_debugf(gfp,error_handler_function);
+   lame_set_msgf(gfp,error_handler_function);
+  
+See lame.h for details.
+
+
+3. Initialize the encoder.  sets default for all encoder parameters.
+
+   #include "lame.h"
+   lame_global_flags *gfp;
+   gfp = lame_init();
+
+The default (if you set nothing) is a  J-Stereo, 44.1khz
+128kbps CBR mp3 file at quality 5.  Override various default settings 
+as necessary, for example:
+
+   lame_set_num_channels(gfp,2);
+   lame_set_in_samplerate(gfp,44100);
+   lame_set_brate(gfp,128);
+   lame_set_mode(gfp,1);
+   lame_set_quality(gfp,2);   /* 2=high  5 = medium  7=low */ 
+
+
+See lame.h for the complete list of options.  Note that there are
+some lame_set_*() calls not documented in lame.h.  These functions
+are experimental and for testing only.  They may be removed in
+the future.
+
+
+
+4. Set more internal configuration based on data provided above,
+   as well as checking for problems.  Check that ret_code >= 0.
+
+   ret_code = lame_init_params(gfp);
+
+
+
+5. Encode some data.  input pcm data, output (maybe) mp3 frames.
+This routine handles all buffering, resampling and filtering for you.
+The required mp3buffer_size can be computed from num_samples, 
+samplerate and encoding rate, but here is a worst case estimate:
+mp3buffer_size (in bytes) = 1.25*num_samples + 7200.
+num_samples = the number of PCM samples in each channel.  It is
+not the sum of the number of samples in the L and R channels.
+
+The return code = number of bytes output in mp3buffer.  This can be 0.
+If it is <0, an error occured.  
+
+   int lame_encode_buffer(lame_global_flags *gfp,
+         short int leftpcm[], short int rightpcm[],
+         int num_samples,char *mp3buffer,int  mp3buffer_size);
+
+
+There are also routines for various types of input  
+(float, long, interleaved, etc).  See lame.h for details.
+
+
+6. lame_encode_flush will flush the buffers and may return a 
+final few mp3 frames.  mp3buffer should be at least 7200 bytes.
+return code = number of bytes output to mp3buffer.  This can be 0.
+
+int lame_encode_flush(lame_global_flags *,char *mp3buffer, int mp3buffer_size);
+
+
+7.  Write the Xing VBR/INFO tag to mp3 file.  
+
+void lame_mp3_tags_fid(lame_global_flags *,FILE* fid);
+
+This adds a valid mp3 frame which contains information about the
+bitstream some players may find usefull.  It is used for CBR,ABR and
+VBR.  The routine will attempt to rewind the output stream to the
+beginning.  If this is not possible, (for example, you are encoding to
+stdout) you should specifically disable the tag by calling
+lame_set_bWriteVbrTag(gfp,0) in step 3 above, and call
+lame_mp3_tags_fid() with fid=NULL.  If the rewind fails and
+the tag was not disabled, the first mp3 frame in the bitstream
+will be all 0's.
+
+
+
+8. free the internal data structures.
+
+void lame_close(lame_global_flags *); 
+
+

+ 481 - 0
COPYING

@@ -0,0 +1,481 @@
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+    		    59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL.  It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it.  You can use it for
+your libraries, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library.  If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software.  To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+  Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs.  This
+license, the GNU Library General Public License, applies to certain
+designated libraries.  This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+  The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it.  Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program.  However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+  Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries.  We
+concluded that weaker conditions might promote sharing better.
+
+  However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves.  This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them.  (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.)  The hope is that this
+will lead to faster development of free libraries.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+  Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License").  Each licensee is
+addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    c) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    d) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!

+ 40599 - 0
ChangeLog

@@ -0,0 +1,40599 @@
+
+ ChangeLog for LAME
+-==================-
+
+ - All dates/times are in GMT.
+ - This file contains the complete changelog, even commit logs of
+   non official branches. An entry of the form "filename (branchname):"
+   may not apply to the source you get with this package.
+ - Generated from cvs log entries
+   (cvs2cl --gmt -S --branches --no-wrap --header ChangeLog.header)
+
+-- 
+
+2017-10-13 20:22  aleidinger
+
+	* vc_solution/Makefile.in:
+
+	update
+
+2017-10-13 20:21  aleidinger
+
+	* vc_solution/Makefile.am:
+
+	list each file explicitely, make dist does not like globs.
+
+2017-10-13 20:16  aleidinger
+
+	* testcase.mp3:
+
+	Update testcase for 3.100 release.
+	Build on FreeBSD 64bit, clang 5.0.0, no advanced compiler flags/optimisations.
+
+2017-10-10 19:31  aleidinger
+
+	* ChangeLog:
+
+	update
+
+2017-09-26 12:25  robert
+
+	* frontend/parse.c:
+
+	forcing MS for j-stereo mode only
+
+2017-09-26 12:14  robert
+
+	* Dll/BladeMP3EncDLL.c, frontend/parse.c, libmp3lame/lame.c:
+
+	forcing MS for j-stereo mode only
+
+2017-09-26 10:31  robert
+
+	* libmp3lame/lame.c:
+
+	set 'use of safe joint' for joint-stereo only, (only effects a bit in vbr tag, sometimes)
+
+2017-09-21 11:00  robert
+
+	* libmp3lame/: gain_analysis.c, machine.h:
+
+	+ fix multiple_of macro
+
+2017-09-19 16:58  robert
+
+	* libmp3lame/version.h:
+
+	release candidate
+
+2017-09-19 16:57  robert
+
+	* frontend/parse.c:
+
+	patch for bug #484: Lame doesn't recognize user locale correctly
+
+2017-09-06 19:40  aleidinger
+
+	* ChangeLog:
+
+	update
+
+2017-09-06 19:38  aleidinger
+
+	* libmp3lame/psymodel.c:
+
+	Add missing (at least in FreeBSD) include for FLT_EPSILON.
+
+2017-09-06 15:07  robert
+
+	* frontend/get_audio.c, libmp3lame/fft.c,
+	  libmp3lame/gain_analysis.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/set_get.c,
+	  libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h,
+	  mpglib/interface.c, mpglib/tabinit.c:
+
+	small fixes
+
+2017-08-31 14:14  robert
+
+	* frontend/lame_main.c, include/lame.def, include/lame.h,
+	  include/libmp3lame.sym, libmp3lame/bitstream.c,
+	  libmp3lame/lame.c, libmp3lame/set_get.c:
+
+	another go to fix bug #474: Buffer Overflow possible when input sample rate very low
+
+	- do_copy_buffer did not check buffer size, when size was zero!
+	  0 was a bad choice for the purpose of not checking, because
+	  it was possible to get there, even when checking was demeanded!
+
+2017-08-30 20:48  robert
+
+	* libmp3lame/lame.c:
+
+	fix for bug #474: Buffer Overflow possible when input sample rate very low
+
+	When the input sample rate is very low, like 1 Hz, resampling to 8 kHz can result in a buffer overflow.
+	Found by Gustavo Grieco.
+
+2017-08-30 14:11  robert
+
+	* frontend/: lame_main.c, parse.c, parse.h:
+
+	fix for bug #473: Buffer Overflow possible in lame_main.c
+	- replaced parse_nogap_filename by generateOutPath
+	  (now there is only one function building the output file names)
+	- all nogap file names are now build before any encoding starts
+	- decode and nogap are no valid combination of arguments anymore, wouldn't work as expected
+
+2017-08-28 15:39  robert
+
+	* libmp3lame/id3tag.c:
+
+	fix for bug #472: NULL Pointer Dereference in id3v2AddAudioDuration
+	- plus some more pointer checks
+
+2017-08-28 12:48  robert
+
+	* frontend/gtkanal.c:
+
+	fixing resource leak, hip deocder wasn't closed on quit
+
+2017-08-26 13:20  robert
+
+	* libmp3lame/: lame.c, set_get.c:
+
+	lame_init_params:
+	- removed some impossible returns
+
+2017-08-26 10:54  robert
+
+	* libmp3lame/encoder.c:
+
+	more of psy downgrade
+
+2017-08-24 20:43  robert
+
+	* frontend/mp3rtp.c:
+
+	- free was called twice for some argument c-string
+
+2017-08-23 13:22  robert
+
+	* mpglib/: interface.c, layer1.c:
+
+	hip layer 1 decode: testing for illegal bit allocation value
+
+2017-08-22 23:31  robert
+
+	* mpglib/layer2.c:
+
+	fix for bug #470: global-buffer-overflow mpglib/layer2.c:144 II_step_one
+
+2017-08-22 19:44  robert
+
+	* libmp3lame/: id3tag.c, id3tag.h, util.c:
+
+	id3v2: set 'language'property to a valid language code (COMM field)
+
+2017-08-22 16:02  robert
+
+	* doc/html/history.html, frontend/get_audio.c,
+	  frontend/lame_main.c:
+
+	fixing bug i#434: --clipdetect scale suggestion unaware of --scale input value
+
+2017-08-21 17:10  robert
+
+	* frontend/get_audio.c:
+
+	fix for bug #469 Unable to build without mpglib
+
+2017-08-20 20:06  robert
+
+	* mpglib/layer3.c:
+
+	It looks like 'intensity stereo' decoding is broken. This change prevents a buffer overflow (read) and instead prints an indication, that there is something wrong.
+
+2017-08-20 13:56  robert
+
+	* mpglib/layer3.c:
+
+	fixing map for mixed-block band infos
+
+2017-08-19 20:17  robert
+
+	* mpglib/layer3.c:
+
+	fix for #467: stack-buffer-overflow mpglib/layer3.c:945 III_dequantize_sample
+
+	fix for #468 global-buffer-overflow mpglib/layer3.c:1244 III_i_stereo
+
+2017-08-19 14:20  robert
+
+	* mpglib/common.c:
+
+	fix for bug #465: global-buffer-overflow layer2.c:144 II_step_one
+	- mpeg-2.5 is only supported by Layer3
+
+2017-08-19 12:51  aleidinger
+
+	* ChangeLog:
+
+	update
+
+2017-08-18 22:06  robert
+
+	* mpglib/layer3.c:
+
+	fix for bug #466: "stack-buffer-overflow in ./mpglib/layer3.c:1264 III_i_stereo"
+
+2017-08-18 21:56  robert
+
+	* frontend/: get_audio.c, lame_main.c:
+
+	fix for bug #464: attempting double-free
+
+2017-08-15 19:51  robert
+
+	* libmp3lame/set_get.c:
+
+	estimation of total number of frames changed
+
+2017-08-15 15:40  aleidinger
+
+	* make_changelog.sh:
+
+	add comment how to generate the input file
+
+2017-08-15 15:35  aleidinger
+
+	* ChangeLog:
+
+	update ChangeLog
+
+2017-08-15 15:20  aleidinger
+
+	* Makefile.in, ACM/Makefile.in, ACM/ADbg/Makefile.in,
+	  ACM/ddk/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  libmp3lame/vector/Makefile.in, mac/Makefile.in,
+	  macosx/Makefile.in, macosx/English.lproj/Makefile.in,
+	  macosx/LAME.xcodeproj/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in, vc_solution/Makefile.in:
+
+	regenerate
+
+2017-08-15 15:16  aleidinger
+
+	* aclocal.m4, configure:
+
+	regenerate
+
+2017-08-15 15:16  aleidinger
+
+	* configure.in:
+
+	Improve compiler version detection  (clang changed version string).
+	Add some future GCC versions in the optimisation part.
+
+2017-08-15 15:15  aleidinger
+
+	* include/lame.def:
+
+	Add lame_encode_buffer_interleaved_int() by Michael Fink.
+	LAME Patch #27.
+
+2017-08-15 14:51  aleidinger
+
+	* include/lame.h, include/libmp3lame.sym, libmp3lame/lame.c:
+
+	patch #27: Add lame_encode_buffer_interleaved_int() by Michael Fink
+
+2017-08-15 14:46  aleidinger
+
+	* compile, config.sub, depcomp, install-sh, missing,
+	  frontend/depcomp, libmp3lame/depcomp, misc/depcomp,
+	  mpglib/depcomp:
+
+	update to a more recent autotools version
+
+2017-08-13 16:18  robert
+
+	* libmp3lame/set_get.c:
+
+	prevent some rare overflow in estimation of total number of frames
+	in case samplerate-out is higher than samplerate-in
+	(it is a visual glitch only)
+
+2017-08-13 13:57  robert
+
+	* doc/html/history.html, frontend/get_audio.c,
+	  libmp3lame/version.h:
+
+	- sanity check when reading pcm data, avoid buffer overflow
+	- version 3.100 beta 0
+
+2017-08-12 18:56  robert
+
+	* frontend/get_audio.c, frontend/lame_main.c, frontend/main.c,
+	  mpglib/common.c, mpglib/interface.c:
+
+	- avoid calling exit in library
+	- free up resources after error condition in frontend
+
+2017-08-12 18:14  robert
+
+	* mpglib/layer3.c:
+
+	- workaround for heap corruption while decoding layer3
+	- some fix for mpeg2.5 decoding with mixed block feature, taken from Takehiro's branch
+
+2017-08-08 17:52  robert
+
+	* doc/man/lame.1:
+
+	fix typo
+
+2017-08-08 13:56  robert
+
+	* doc/html/history.html, libmp3lame/vector/xmm_quantize_sub.c:
+
+	Fix for bug ticket [ #449 ] Make sure functions with SSE instructions maintain their own properly aligned stack. Thanks to Fabian Greffrath
+
+2017-08-08 13:26  robert
+
+	* doc/html/history.html, mpglib/interface.c:
+
+	Fix for bug ticket #445: dereference of a null pointer possible in loop. Thanks to Renu Tyagi
+
+2017-08-08 12:40  robert
+
+	* doc/html/history.html, frontend/lame_main.c:
+
+	Fix for bug ticket #447: Fix dereference NULL and Buffer not NULL terminated issues. Thanks to Surabhi Mishra
+
+2017-08-06 18:15  robert
+
+	* frontend/get_audio.c, libmp3lame/VbrTag.c, libmp3lame/lame.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h:
+
+	in case of illegal sample rate and number of channel, let lame print an error message
+
+2017-08-03 13:07  rjamorim
+
+	* HACKING, INSTALL, LICENSE, README, README.WINGTK, TODO:
+
+	Typos, formatting, grammar...
+
+2017-08-03 13:06  rjamorim
+
+	* ACM/lame.ico:
+
+	Updated icon to the current LAME logo
+
+2017-08-03 12:32  rjamorim
+
+	* USAGE:
+
+	Updated USAGE: fixed typos, formatting, some grammar
+
+2017-08-02 19:56  robert
+
+	* doc/html/history.html:
+
+	- reverting psymodel to that of version 3.99.5
+	 - changing version back to 3.99.5 to ease binary mp3 file comparisons  with version 3.99.5
+
+	Committed on the Free edition of March Hare Software CVSNT Client.
+	Upgrade to CVS Suite for more features and support:
+	http://march-hare.com/cvsnt/
+
+2017-08-02 19:48  robert
+
+	* libmp3lame/: psymodel.c, quantize.c, quantize_pvt.c, util.h,
+	  version.h:
+
+	- reverting psymodel to that of version 3.99.5
+	 - changing version back to 3.99.5 to ease binary mp3 file comparisons  with version 3.99.5
+
+	Committed on the Free edition of March Hare Software CVSNT Client.
+	Upgrade to CVS Suite for more features and support:
+	http://march-hare.com/cvsnt/
+
+2016-01-29 21:36  aleidinger
+
+	* ChangeLog:
+
+	update history
+
+2016-01-29 21:06  aleidinger
+
+	* aclocal.m4, config.h.in, config.sub, Makefile.in, compile,
+	  config.guess, depcomp, install-sh, ltmain.sh, missing,
+	  ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, doc/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in,
+	  frontend/Makefile.in, frontend/depcomp, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/depcomp,
+	  libmp3lame/i386/Makefile.in, libmp3lame/vector/Makefile.in,
+	  mac/Makefile.in, macosx/Makefile.in,
+	  macosx/English.lproj/Makefile.in,
+	  macosx/LAME.xcodeproj/Makefile.in, misc/Makefile.in,
+	  misc/depcomp, mpglib/Makefile.in, mpglib/depcomp,
+	  vc_solution/Makefile.in, configure:
+
+	regen
+
+2016-01-29 21:06  aleidinger
+
+	* HACKING, Makefile.MSVC, Makefile.am.global, Makefile.unix,
+	  configure.in, Dll/Makefile.mingw32, libmp3lame/Makefile.am:
+
+	- better check for SSE intrinsics [1]
+	- don't define NDEBUG in release builds
+	  -> asserts trigger segfaults even in release builds
+	  -> quick and user-unfriendly fix until user-fiendly error checks are
+	     implemented
+	- fix spelling mistakes in HACKING file [2]
+	- enable cross-compiling for mingw [3]
+	- fix linker path for libmpelame for mingw [3]
+	- fix out-of-source-tree builds [4]
+	- update files to automake 1.15, autconf 2.69
+	- update compiler version detection (detect clang and add optimization
+	  for at least 3.7.x)
+
+	Submitted by:	dim@FreeBSD.org [1], FreeBSD PR 206620
+			tridecethtwelve@users.sf.net [2] LAME patch #68
+			bardware@users.sf.net [3] LAME patch #70
+			m-a@users.sf.net [4] LAmE patch #67
+
+2015-05-11 07:01  rbrito
+
+	* libmp3lame/lame.c:
+
+	libmp3lame: Remove redundant check for invalid sample rates.
+
+	Thanks Fabian Greffrath for letting me know that I screwed up. :)
+
+	Signed-off-by: Rogério Brito <rbrito@ime.usp.br>
+
+2015-04-28 22:12  rbrito
+
+	* libmp3lame/lame.c:
+
+	libmp3lame: Add check for negative number of channels.
+
+	Thanks to Maks Naumov and Fabian Greffrath for the contribution.
+
+2015-04-28 22:07  rbrito
+
+	* libmp3lame/util.c:
+
+	libmp3lame: Fix decision if sample rate ratio is an integer value or not.
+
+	From Fabian Greffrath's original description:
+
+	   If the sample rate of the input file is sufficiently close to an integer
+	   multiple of the output sample rate, the value of the intratio variable is
+	   calculated incorrectly. This leads to further values being miscalculated
+	   up to the joff variable which is used as an index to dereference the
+	   esv->blackfilt array. This leads top an overflow and causes a
+	   segmentation fault.
+
+	See https://bugs.debian.org/778529 for a discussion.
+
+2015-04-28 22:03  rbrito
+
+	* frontend/get_audio.c:
+
+	frontend: Avoid division by zero.
+
+	Avoid malformed wav causing floating point exception (integer divide by
+	zero).
+
+	Kindly contributed by Fabian Greffrath <fabian+debian@greffrath.com>. See
+	https://bugs.debian.org/777159 for a discussion.
+
+2015-02-21 23:03  rbrito
+
+	* test/lametest.py:
+
+	test: lametest: Some more PEP-8 love.
+
+	This is mostly regarding not having parentheses around boolean expressions.
+
+2015-02-21 22:57  rbrito
+
+	* test/lametest.py:
+
+	test: lametest: Add some PEP-8 love.
+
+2015-02-21 22:49  rbrito
+
+	* test/lametest.py:
+
+	test: lametest: Fix some trailing whitespace.
+
+2015-02-21 22:35  rbrito
+
+	* libmp3lame/lame.c:
+
+	Add check for invalid input sample rate.
+
+	Patch by Maks Naumov <maksqwe1@ukr.net>, forwared to me by Fabian Greffrath
+	<fabian@greffrath.com> from the Debian packaging.
+
+	Thanks for the contribution!
+
+2014-10-01 17:54  jaz001
+
+	* doc/html/links.html:
+
+	links update.
+
+2014-01-28 14:48  robert
+
+	* frontend/get_audio.c, frontend/main.c, libmp3lame/lame.c,
+	  libmp3lame/machine.h, Makefile.MSVC:
+
+	some minor changes:
+	- do not disable replaygain calc and find peak sample, when not writing LAME info header (patch tracker item #66)
+	- remove deprecated linker option from Makefile.MSVC (bug tracker item #442)
+
+2013-12-17 11:24  robert
+
+	* frontend/get_audio.c, frontend/main.h, frontend/parse.c,
+	  libmp3lame/gain_analysis.c, libmp3lame/id3tag.h,
+	  libmp3lame/machine.h, libmp3lame/psymodel.c:
+
+	applying submitted patches
+	#64: fixes undefined references when compiling with mingw32 (send by Patrick)
+	#59: changes static_assert into a more portable form (send by Doug Cook)
+	#55: fixes issues with wave files >2GB (send by lvqcl)
+
+	plus some minor changes to reduce compiler warnings with GCC v4.7.1
+
+2013-12-08 19:49  jaz001
+
+	* LICENSE, USAGE, doc/html/detailed.html, doc/man/lame.1,
+	  frontend/parse.c:
+
+	Documentation updates:
+	-q setting rewording in all docs
+	general updates in USAGE and man page.
+	Small updates in the --help, --longhelp , and --preset help
+
+2013-06-12 09:16  rbrito
+
+	* aclocal.m4, configure.in, doc/html/Makefile.am,
+	  doc/man/Makefile.am, libmp3lame/i386/Makefile.am:
+
+	Make autotools files compatible with automake >= 1.12
+
+	Newer autotools versions don't seem to support ansi2knr, which is probably
+	not a problem, given the last decades of compilers accepting ANSI C (and the
+	rest of the LAME code being written in ANSI C itself).
+
+	This fixes ticket #60, with a patch of Brennan Shacklett, from the Gentoo
+	community.
+
+2013-06-12 09:06  rbrito
+
+	* aclocal.m4, configure.in, doc/html/Makefile.am:
+
+	Kill spurious trailing whitespace from some files.
+
+2013-06-11 08:41  rbrito
+
+	* frontend/brhist.c:
+
+	frontend: brhist: Fix type of formatting string parameter.
+
+2013-06-11 08:41  rbrito
+
+	* frontend/get_audio.c:
+
+	frontend: get_audio: Add missing formatting string parameter.
+
+2013-06-11 08:19  rbrito
+
+	* Dll/Example.cpp:
+
+	Dll/Example.cpp: Remove (some) spurious whitespace.
+
+2013-06-11 08:19  rbrito
+
+	* Dll/Example.cpp:
+
+	Dll/Example.cpp: Remove resource leaks in example code.
+
+2013-06-11 07:26  rbrito
+
+	* config.guess, config.sub:
+
+	config.{sub,guess}: Update files to pick up newer arches.
+
+	This closes ticket #406. Perhaps a better solution would be to rewrite part
+	of our autotools system, but, then, perhaps not.
+
+2013-06-11 06:46  rbrito
+
+	* include/libmp3lame.sym:
+
+	libmp3lame: Regenerate libmp3lame.sym from header file.
+
+	Part of patch submitted by Reimar Döffinger on ticket #63.
+
+	We should review this to check if there are any symbols that we don't want
+	exported.
+
+2013-06-11 06:45  rbrito
+
+	* libmp3lame/Makefile.am:
+
+	libmp3lame: Consider the symbols in libmp3lame.sym.
+
+	This is part of the patch sent by Reimar Döffinger in ticket #63.
+
+2013-03-20 20:38  robert
+
+	* frontend/timestatus.c, doc/html/history.html:
+
+	fix for tracker item 3608583: input file name displayed with wrong character encoding (windows)
+
+2012-10-25 18:46  robert
+
+	* doc/html/history.html, frontend/lame_main.c, frontend/main.c,
+	  frontend/parse.c:
+
+	fix for tracker item 3580176: environment variable LAMEOPT doesn't work anymore
+
+2012-10-13 14:10  robert
+
+	* doc/html/history.html, frontend/parse.c:
+
+	fix for tracker item 3544957: scale (empty) silent encode without warning
+
+	switches with missing argument values will be ignored.  (Those with integer or floating point values, at least)
+
+2012-10-13 11:50  robert
+
+	* doc/html/history.html, frontend/parse.c:
+
+	fix for tracker item 3565659: no progress indication with pipe input :(
+
+2012-10-13 10:36  robert
+
+	* doc/html/history.html, frontend/parse.c:
+
+	fix for tracker item 3567844: problem with Tag genre
+
+2012-10-13 09:33  robert
+
+	* doc/html/history.html, frontend/parse.c:
+
+	fix for tracker item ID 3558466: Bug in path handling
+
+2012-10-09 21:39  robert
+
+	* libmp3lame/version.h:
+
+	bump version
+
+2012-10-09 21:37  robert
+
+	* libmp3lame/: psymodel.c, util.h:
+
+	trying to improve strong tonal samples (lead-voice.wav)
+
+2012-10-09 21:35  robert
+
+	* frontend/parse.c:
+
+	ignore developer-only switches, but parse them for command line compatibility reasons
+
+2012-10-06 15:54  robert
+
+	* libmp3lame/psymodel.c:
+
+	- code refactorings
+	- changed "mask adding", get the max of 3 different ones
+
+2012-10-06 11:44  robert
+
+	* frontend/parse.c, libmp3lame/presets.c:
+
+	+ new command line option "--gain x",  more convenient to adjust replay gain, just use whatever decibel value LAME reported before.
+	+ out-dir option mentioned in long help text
+
+2012-07-19 20:57  robert
+
+	* doc/html/history.html, frontend/get_audio.c, mpglib/interface.c,
+	  libmp3lame/version.h:
+
+	Improved detection of MPEG audio data in RIFF WAVE files.
+	see tracker item 3545112: Invalid sampling detection
+
+2012-07-11 18:31  jaz001
+
+	* doc/html/: detailed.html, usage.html:
+
+	Updates to reflect recent changes in hydrogenaudio wiki.
+
+2012-06-19 00:15  rbrito
+
+	* doc/html/history.html:
+
+	Update the HTML changelog.
+
+2012-06-19 00:00  rbrito
+
+	* Makefile.am, configure.in:
+
+	Don't use use the debian directory as build target.
+
+	Include debian as extra directory instead of directory part of
+	subdirectories used in build.
+
+	Patch stolen from:
+
+	    http://anonscm.debian.org/gitweb/?p=pkg-multimedia/lame.git;a=tree;f=debian/patches
+
+2012-06-18 20:52  rbrito
+
+	* libmp3lame/i386/Makefile.am:
+
+	libmp3lame: Fix possible race condition causing build failures.
+
+	This was discovered in automated builds by the Debian project and the patch
+	provided is by Andres Mejia <amejia@debian.org>.
+
+	Please, note that only part of the patch (the one touching Makefile.am) was
+	applied, since the changes in Makefile.in should be picked up when
+	regenerating files with autotools.
+
+	Signed-off-by: Rogério Brito <rbrito@ime.usp.br>
+
+2012-06-18 20:51  rbrito
+
+	* acinclude.m4:
+
+	acinclude.m4: Include GTK-1 autoconf directives in build system.
+
+	Resurrect knowledge of how to deal with GTK1. This was transplanted back
+	from aclocal.m4 with a patch provided by Andres Mejia <amejia@debian.org>,
+	from Debian's packaging of lame, even though the original code is attributed
+	to Owen Taylor and dated 97-11-3.
+
+	Anyway, with this part not lost again, we can easily regenerate autotools'
+	files with a simple `autoconf -vfi` invocation.
+
+	Signed-off-by: Rogério Brito <rbrito@ime.usp.br>
+
+2012-06-18 20:48  rbrito
+
+	* configure.in:
+
+	configure.in: Rewrap for (human) legibility.
+
+	This also helps by being diff-friendly if we change only one of the parts of
+	a long line.
+
+	Signed-off-by: Rogério Brito <rbrito@ime.usp.br>
+
+2012-02-28 19:07  robert
+
+	* doc/html/history.html:
+
+	bug-fix release 3.99.5
+
+2012-02-28 18:57  robert
+
+	* ChangeLog, configure, configure.in, testcase.mp3,
+	  doc/html/history.html (lame3_99):
+
+	bug-fix release 3.99.5
+
+2012-02-19 00:02  robert
+
+	* libmp3lame/: gain_analysis.c, machine.h:
+
+	rearranging gain analysis kernel table and calc loops to allow better code vectorization
+
+2012-02-18 13:08  robert
+
+	* frontend/get_audio.c, frontend/lame_main.c, frontend/main.c,
+	  frontend/parse.c, libmp3lame/mpglib_interface.c, mpglib/layer2.c:
+
+	removing VC11 x86-64 compiler warnings
+
+2012-02-14 14:24  robert
+
+	* libmp3lame/: VbrTag.c, bitstream.c, encoder.c, id3tag.c, lame.c,
+	  machine.h, mpglib_interface.c, psymodel.c, util.c, util.h:
+
+	some code refactorings
+
+2012-02-14 11:06  robert
+
+	* ChangeLog, doc/html/history.html (lame3_99), ChangeLog,
+	  doc/html/history.html:
+
+	updating history/changelog
+
+2012-02-11 12:11  robert
+
+	* frontend/get_audio.c:
+
+	Bug fix for tracker item ID: 3486753 Artifacts at the beginning of decoded file
+
+2012-02-11 12:10  robert
+
+	* mpglib/layer3.c:
+
+	some hidden global temporary variable removed, could have been some multi threading issue
+
+2012-02-11 12:00  robert
+
+	* frontend/get_audio.c (lame3_99):
+
+	Bug fix for tracker item ID: 3486753 Artifacts at the beginning of decoded file
+
+2012-02-11 11:03  robert
+
+	* mpglib/layer3.c (lame3_99):
+
+	some hidden global temporary variable removed, could have been some multi threading issue
+
+2012-02-10 18:13  rbrito
+
+	* config.h.in, configure.in:
+
+	autotools: Fix compilation on alpha using proper ifdef guards.
+
+	Thanks to Andres Mejia <amejia004@gmail.com> for the patch (with minor
+	whitespace adjustments).
+
+2012-02-10 18:11  rbrito
+
+	* doc/html/history.html:
+
+	doc: Correctly spell Fabian Greffrath's name to give proper credit.
+
+2012-02-10 18:06  rbrito
+
+	* config.h.in, configure.in (lame3_99):
+
+	autotools: Fix compilation on alpha using proper ifdef guards.
+
+	Thanks to Andres Mejia <amejia004@gmail.com> for the patch (with minor
+	whitespace adjustments).
+
+2012-02-10 18:05  rbrito
+
+	* doc/html/history.html (lame3_99):
+
+	doc: Correctly spell Fabian Greffrath's name to give proper credit.
+
+2012-02-07 13:52  robert
+
+	* configMS.h (lame3_99), configMS.h:
+
+	reduce compiler warnings for SSE2 build with VC 11
+
+2012-02-07 13:40  robert
+
+	* configMS.h, frontend/parse.c, libmp3lame/l3side.h,
+	  libmp3lame/machine.h, libmp3lame/quantize_pvt.c,
+	  libmp3lame/vbrquantize.c, libmp3lame/version.h (lame3_99):
+
+	- workaround for cygwin build problem
+	- fix "fast floating point math" problem (possible bitrate bloat on quiet pieces)
+
+2012-02-07 13:36  robert
+
+	* configMS.h, libmp3lame/l3side.h, libmp3lame/machine.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/vbrquantize.c:
+
+	- workaround for cygwin build problem
+	- fix "fast floating point math" problem (possible bitrate bloat on quiet pieces)
+
+2012-01-25 13:01  robert
+
+	* ChangeLog, doc/html/history.html:
+
+	updating Changelog and History
+
+2012-01-25 12:47  robert
+
+	* configure, configure.in, testcase.mp3 (lame3_99):
+
+	Bug-fix release 3.99.4
+
+2012-01-25 12:33  robert
+
+	* ChangeLog, testcase.mp3, doc/html/history.html (lame3_99):
+
+	updating history and changelog
+
+2012-01-19 14:27  robert
+
+	* frontend/parse.c (lame3_99):
+
+	fix for tracker item ID: 3475581 - lame crashes at .w64 input file
+
+2012-01-19 12:15  robert
+
+	* frontend/parse.c:
+
+	fix for tracker item ID: 3475581 - lame crashes at .w64 input file
+
+2012-01-08 23:49  robert
+
+	* include/lame.h, libmp3lame/id3tag.c, libmp3lame/id3tag.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/util.c, libmp3lame/version.h (lame3_99),
+	  include/lame.h, libmp3lame/id3tag.c, libmp3lame/id3tag.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/util.c:
+
+	Addressing things brought to attention by tracker item ID: 3463197: 3.99.x problem WFED and PCST frames
+
+	+ WFED and PCST frames can now be added, to tag podcasts iTunes recognizes
+	+ USER frames are now supported
+	+ COMM frames can now have a description, when passed via --tv "COMM=<description>=<full text>"
+
+	- possible divide-by-zero exception should be fixed
+	- adding malformed user-defined-frames could result in abnormal program termination, fixed
+
+2011-12-04 12:35  robert
+
+	* libmp3lame/: lame.rc (lame3_99), lame.rc:
+
+	re tracker ID: 3449748 Incomplete resource definition file
+	A translation value seems to be mandatory by convention.
+
+2011-11-26 19:49  robert
+
+	* ChangeLog, configure, configure.in (lame3_99):
+
+	releasing 3.99.3
+
+2011-11-26 18:26  robert
+
+	* doc/html/history.html, libmp3lame/id3tag.c:
+
+	bug fix for tracker item ID: 3441349: --tg does not handle genre number when adding unicode tag
+
+2011-11-26 18:15  robert
+
+	* doc/html/history.html, libmp3lame/id3tag.c, libmp3lame/version.h
+	  (lame3_99):
+
+	bug fix for tracker item ID: 3441349: --tg does not handle genre number when adding unicode tag
+
+2011-11-18 09:51  robert
+
+	* doc/html/history.html, libmp3lame/VbrTag.c, libmp3lame/version.c:
+
+	merge with 3.99 branch modifications
+
+2011-11-18 09:39  robert
+
+	* ChangeLog (lame3_99):
+
+	releasing 3.99.2
+
+2011-11-18 09:30  robert
+
+	* configure, configure.in (lame3_99):
+
+	releasing 3.99.2 stable
+
+2011-11-18 09:18  robert
+
+	* testcase.mp3, doc/html/history.html, libmp3lame/VbrTag.c,
+	  libmp3lame/version.c, libmp3lame/version.h (lame3_99):
+
+	Due to some bugs in 3rd party HW/SW decoders, those were not
+	be able to make use of LAME's extended info tag anymore,
+	resulting in problems with things like gapless playback.
+
+2011-11-18 08:38  robert
+
+	* frontend/: get_audio.c, get_audio.h, lame_main.c (lame3_99):
+
+	copy old id3v2 tag
+
+2011-11-10 21:39  robert
+
+	* libmp3lame/version.c (lame3_99):
+
+	small fix
+
+2011-11-10 18:46  robert
+
+	* libmp3lame/version.c:
+
+	small fix
+
+2011-11-10 13:19  robert
+
+	* frontend/: get_audio.c, get_audio.h, lame_main.c:
+
+	when transcoding, copy old id3v2 tag. feature requests:
+	 ID: 1985551 lame --pass-ID3-tags-unscathed
+	 ID: 977304 ID3 tags lost when transcoding
+
+2011-11-09 00:15  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c:
+
+	aiming for a more balanced bit reservoir usage
+
+2011-11-08 19:36  robert
+
+	* libmp3lame/quantize_pvt.c:
+
+	at lower sample rates, make a cut at last usable scalefactor band
+
+2011-11-08 18:19  robert
+
+	* libmp3lame/quantize.c:
+
+	8kHz mpeg2.5 uses fewer scale factor bands.
+
+2011-11-06 18:34  robert
+
+	* libmp3lame/encoder.c:
+
+	use same meaning of PE in cbr and vbr modes
+
+2011-11-05 17:53  robert
+
+	* configure, configure.in, doc/html/history.html,
+	  libmp3lame/version.h:
+
+	main-branch open for next development cycle
+
+2011-11-05 17:33  robert
+
+	* ChangeLog, configure, configure.in (lame3_99):
+
+	releasing 3.99.1
+
+2011-11-05 17:00  robert
+
+	* doc/html/history.html, libmp3lame/version.h (lame3_99):
+
+	releasing 3.99.1 stable
+
+2011-11-05 16:32  robert
+
+	* misc/: Makefile.am, Makefile.in:
+
+	adding mk_mp3.sh to dist files
+
+2011-11-02 00:20  robert
+
+	* Makefile.MSVC, libmp3lame/machine.h:
+
+	fixing vc6 compile problem, VC6 seems to miss exporting some inline functions from math.h.
+
+2011-11-01 19:50  robert
+
+	* libmp3lame/id3tag.c:
+
+	oops, fixing writing unicode strings in id3tags
+
+2011-11-01 16:59  robert
+
+	* doc/html/history.html, frontend/parse.c, libmp3lame/id3tag.c:
+
+	Fixes for several issues with ID3v2 unicode tags, using Big-Endian text
+	encodings. Because of several other software (like Windows Media Player),
+	LAME writes Little-Endian unicode tags only.
+	Thanks to Taihei Monma, for reporting these issues.
+	Tracker items: [ 3431203, 3431222, 3431241 ]
+
+2011-10-18 21:54  robert
+
+	* Dll/BladeMP3EncDLL.h:
+
+	Fixing typedef HBE_STREAM, has to be a pointer type.
+
+2011-10-18 21:51  robert
+
+	* libmp3lame/: lame.c, util.c:
+
+	Fixing a small display problem for x64 platform
+
+2011-10-17 23:15  robert
+
+	* libmp3lame/id3tag.c:
+
+	bug fix: ID3 tags are always added
+
+2011-10-16 13:09  robert
+
+	* frontend/: Makefile.am, Makefile.in:
+
+	file rtp.h was missing in distribution list
+
+2011-10-15 15:46  robert
+
+	* doc/html/history.html:
+
+	Updating history
+
+2011-10-15 14:37  robert
+
+	* ChangeLog:
+
+	updating Changelog
+
+2011-10-15 14:31  robert
+
+	* testcase.mp3, debian/Makefile.am, debian/Makefile.in,
+	  doc/html/detailed.html, libmp3lame/version.h:
+
+	preparing release
+
+2011-10-15 12:38  robert
+
+	* misc/mk_mp3.sh:
+
+	updating script for building mp3 collection from lossless archive
+
+2011-10-06 23:12  robert
+
+	* ChangeLog:
+
+	updating changelog
+
+2011-10-06 23:07  robert
+
+	* frontend/: get_audio.c, parse.c:
+
+	let iconv use transliteration
+
+2011-10-04 15:37  robert
+
+	* frontend/parse.c:
+
+	fixing compiler warning
+
+2011-10-04 11:42  robert
+
+	* frontend/: get_audio.c, lame_main.c, main.h, parse.c:
+
+	using our input file reading functions when reading from stdin
+	allow -s to overwrite input samplerate for non RAW input files too
+
+2011-10-03 13:28  robert
+
+	* doc/html/history.html, frontend/lame_main.c:
+
+	fix for tracker item ID: 3034259 Fix for confusing fatal error: can't update LAME-tag frame!
+
+2011-10-03 13:22  robert
+
+	* libmp3lame/id3tag.c, frontend/parse.c:
+
+	making sure, the id3v1 tags get filled
+
+2011-10-02 21:45  robert
+
+	* doc/html/history.html, frontend/get_audio.c:
+
+	Bug fix for tracker item ID: 3368977 Wave Parser doesn't pad chunks
+
+2011-10-02 18:39  robert
+
+	* frontend/: portableio.c, portableio.h:
+
+	removing portableio.[ch] files, not needed anymore
+
+2011-10-02 18:24  robert
+
+	* frontend/parse.c, libmp3lame/id3tag.c:
+
+	fixing some compiler warnings
+
+2011-10-02 17:13  robert
+
+	* Makefile.MSVC, frontend/Makefile.am, frontend/Makefile.in,
+	  frontend/get_audio.c, frontend/mp3rtp.c, Makefile.unix,
+	  vc_solution/vc9_lame_lame.vcproj,
+	  vc_solution/vc9_lame_mp3rtp.vcproj,
+	  vc_solution/vc9_lame_mp3x.vcproj:
+
+	replacing "portableio" by own code in get_audio.c
+
+2011-10-02 14:52  robert
+
+	* doc/html/detailed.html, doc/man/lame.1, libmp3lame/id3tag.c,
+	  frontend/main.c, frontend/main.h, frontend/parse.c,
+	  include/lame.def, include/lame.h:
+
+	clearify, unicode tags are utf-16
+
+2011-09-28 19:11  robert
+
+	* doc/html/history.html, libmp3lame/id3tag.c, frontend/parse.c,
+	  vc_solution/vc9_lame.sln, vc_solution/vc9_lame_lame.vcproj,
+	  vc_solution/vc9_lame_mp3rtp.vcproj,
+	  vc_solution/vc9_lame_mp3x.vcproj,
+	  vc_solution/vc9_libmp3lame.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj,
+	  vc_solution/vc9_mpglib.vcproj:
+
+	bug fix for tracker item  3395813: id3tag_set_fieldvalue for URL link frames Broken
+
+	now one can add URL link frames to the ID3v2 tag, like:
+	--tv "WOAR=www.mypage.com" --tv "WXXX=get remixes here=www.dj.org"
+
+2011-09-25 17:08  robert
+
+	* libmp3lame/version.h:
+
+	increasing patch level
+
+2011-07-26 11:48  rbrito
+
+	* frontend/parse.c:
+
+	frontend: Update licensing message.
+
+	Patch supplied by Andres Mejia <mcitadel@gmail.com> according to previous
+	discussions in the mailing lists `lame-dev` and `pkg-multimedia-maintainers`.
+
+	    http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/2011-July/020417.html
+
+2011-06-17 06:22  aleidinger
+
+	* Makefile.am.global:
+
+	Remove ansi2knr part. It will be deprecated and subsequently removed from
+	automake.
+
+	Notified by:	Stefano Lattarini <stefano.lattarini@gmail.com>
+
+2011-05-24 20:45  robert
+
+	* Makefile.unix, libmp3lame/psymodel.c, libmp3lame/quantize_pvt.c:
+
+	small change in addition of simultaneous maskings
+
+2011-05-24 20:40  robert
+
+	* mpglib/layer2.c:
+
+	workaround for tracker item 3301963:"assertion failed in layer 2 decoding"
+
+2011-05-07 16:05  rbrito
+
+	* README, Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.h,
+	  Dll/Example.cpp, debian/copyright, frontend/brhist.c,
+	  frontend/brhist.h, frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/gpkplotting.c, frontend/gpkplotting.h,
+	  frontend/gtkanal.c, frontend/gtkanal.h, frontend/lame_main.c,
+	  frontend/lametime.c, frontend/lametime.h, frontend/main.c,
+	  frontend/main.h, frontend/mp3rtp.c, frontend/parse.c,
+	  frontend/rtp.c, frontend/rtp.h, frontend/timestatus.c,
+	  frontend/timestatus.h, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/VbrTag.h, libmp3lame/bitstream.c,
+	  libmp3lame/bitstream.h, libmp3lame/encoder.c,
+	  libmp3lame/encoder.h, libmp3lame/fft.h, libmp3lame/id3tag.c,
+	  libmp3lame/l3side.h, libmp3lame/lame-analysis.h,
+	  libmp3lame/lame.c, libmp3lame/machine.h,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/newmdct.h, libmp3lame/presets.c,
+	  libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/reservoir.c, libmp3lame/reservoir.h,
+	  libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/tables.c,
+	  libmp3lame/tables.h, libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/util.h, libmp3lame/vbrquantize.c,
+	  libmp3lame/vbrquantize.h, libmp3lame/version.c,
+	  libmp3lame/version.h, libmp3lame/vector/lame_intrin.h,
+	  libmp3lame/vector/xmm_quantize_sub.c, test/lame_test.cpp:
+
+	Make explicit that the licence is the Library GPLv2.
+
+	According to Jonas Smedegaard, there is no Lesser GPLv2, only Lesser GPLv2.1.
+
+	Thanks to Andres.
+
+2011-05-07 15:56  rbrito
+
+	* frontend/parse.c:
+
+	Fix some warnings in 64-bit arches. Changing s/size_t/unsigned int/
+
+	This should not be a problem with the variables in question, as they can't
+	be much larger than what an unsigned int is able to hold.
+
+	Patch from:
+
+	    http://git.debian.org/?p=pkg-multimedia/lame.git;a=blob;f=debian/patches/07-field-width-fix.patch
+
+	Sent by Andres.
+
+2011-05-07 15:44  rbrito
+
+	* configure.in:
+
+	Work round buggy softfloat optimization in ARM EABI compilers.
+
+	A bug present in gcc-4.[123] up to 4.3.3 makes a buggy optimization
+	for single-precision floats when -ffinite-math-only (enabled by -ffast-math)
+	Refer to the following.
+
+	https://sourceforge.net/tracker/index.php?func=detail&aid=2681646&group_id=290&atid=100290
+	https://trac.xiph.org/ticket/1526
+	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39501
+
+	Thanks to Andres Mejia. This fixes SF bug 2681646.
+
+2011-05-07 15:35  rbrito
+
+	* libmp3lame/i386/nasm.h:
+
+	Disable executable patch.
+
+	Patch from Russell Coker to disable executable stack from Christian
+	Marillat's packaging. Sent by Andres Mejia.
+
+2011-05-07 01:23  rbrito
+
+	* README:
+
+	Tweak slightly the disclaimer of patents from the README file.
+
+	This change was proposed by me with suggestions made by Andres Mejia.
+
+2011-05-06 20:14  rbrito
+
+	* libmp3lame/lame.c:
+
+	libmp3lame: lame: Put some parentheses to shut up some static analysis tools.
+
+	The statement
+
+	        frames_left -= ((frame_num != gfc->ov_enc.frame_number) ? 1 : 0);
+
+	could probably be written as
+
+	        frames_left -= (frame_num != gfc->ov_enc.frame_number);
+
+	unless we know of some platform where a boolean evaluation does not result
+	in a 1 in case of it being true.
+
+2011-05-06 19:59  rbrito
+
+	* README:
+
+	Remove problematic restriction to the LGPL, to make it legally OK.
+
+	Also update the copyright years of the LAME team.
+
+2011-04-20 13:03  aleidinger
+
+	* config.rpath:
+
+	looks like this is needed now
+
+2011-04-20 12:52  aleidinger
+
+	* aclocal.m4, Makefile.in, configure, ACM/Makefile.in,
+	  ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  libmp3lame/vector/Makefile.in, mac/Makefile.in,
+	  macosx/Makefile.in, macosx/English.lproj/Makefile.in,
+	  macosx/LAME.xcodeproj/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in, vc_solution/Makefile.in, config.h.in:
+
+	regen
+
+2011-04-20 12:51  aleidinger
+
+	* configure.in:
+
+	- correct the VBR check message to something more correct (curses)
+	- check for libiconv and use it in the frontend
+
+2011-04-19 15:36  robert
+
+	* doc/man/lame.1, frontend/parse.c:
+
+	lame(1) manpage patch - ID: 3161674
+	Typo in --longhelp - ID: 3288886
+	replaced strnicmp, isn't portable
+
+2011-04-15 20:17  robert
+
+	* libmp3lame/lame.c:
+
+	Bug fix: when aborting an encode before any samples were fed into the encoder, an assert was falsely triggered.
+
+2011-04-14 20:48  robert
+
+	* frontend/parse.c:
+
+	Allow -Z switch in none alpha builds (for now)
+
+2011-04-14 19:36  robert
+
+	* doc/html/history.html, frontend/parse.c, libmp3lame/presets.c,
+	  libmp3lame/version.h:
+
+	3.99 beta phase
+
+2011-04-08 23:50  robert
+
+	* misc/mk_mp3.sh:
+
+	mk_mp3.sh - script to encode and tag CDs
+
+2011-04-08 22:55  robert
+
+	* libmp3lame/psymodel.c:
+
+	some code cleanup: unused vars, defines, etc.
+
+2011-04-08 19:26  robert
+
+	* frontend/: lame_main.c, main.c, main.h:
+
+	Unicode support for extra options passed via environment varialbe LAMEOPT
+
+2011-04-07 23:03  robert
+
+	* frontend/get_audio.c:
+
+	quick fix for tracker item 3277412: Segmentation fault at layer2.c:105 with
+	--decode
+	(problem sample contains multiple ID3v2 tags)
+
+2011-04-07 23:01  robert
+
+	* libmp3lame/: psymodel.c, util.h:
+
+	- some code cleanup
+	- calculate short block thm from long blocks, in case we eventually
+	  may need it for pre-echo control of the next granule
+
+2011-04-05 19:17  jaz001
+
+	* doc/html/detailed.html:
+
+	corrected spelling.
+
+2011-04-04 19:40  robert
+
+	* libmp3lame/psymodel.c:
+
+	small update for the pre-echo control
+
+2011-04-04 11:49  aleidinger
+
+	* ChangeLog:
+
+	Update upto now.
+
+2011-04-04 11:48  aleidinger
+
+	* make_changelog.sh:
+
+	Add the script to generate the changelog, not added to Makefile.am as it
+	does not make sense to distribute it.
+
+	I keep the "cvs log" output in '../log_output', the script expects it there.
+
+2011-04-04 09:54  aleidinger
+
+	* Makefile.in, config.h.in, configure, ACM/Makefile.in,
+	  ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  libmp3lame/vector/Makefile.in, mac/Makefile.in,
+	  macosx/Makefile.in, macosx/English.lproj/Makefile.in,
+	  macosx/LAME.xcodeproj/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in, vc_solution/Makefile.in:
+
+	regen
+
+2011-04-04 09:51  aleidinger
+
+	* aclocal.m4:
+
+	regen
+
+2011-04-04 09:49  aleidinger
+
+	* configure.in:
+
+	- depend upon at least autoconf 2.68, this should fix the variable type
+	  size check in configure on Windows (mingw)
+	- readd check for termcap lib (needed for brhist)
+	- remove float8 (requested by Robert Hegemann)
+	- my gcc moans about -march=generic not being supported (anymore), use
+	  'native' instead of 'generic' in one place
+
+2011-04-04 09:45  aleidinger
+
+	* Makefile.am.global:
+
+	Depend upon automake 1.11.
+
+2011-04-04 09:42  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	Create the directory in any case, seems to prevent a race condition.
+
+2011-04-04 09:41  aleidinger
+
+	* configMS.h:
+
+	Remove superflous brhist define.
+
+2011-04-04 09:40  aleidinger
+
+	* INSTALL:
+
+	Remove superflous explication about brhist switch.
+
+2011-04-04 09:36  aleidinger
+
+	* depcomp, install-sh, ltmain.sh, missing, frontend/depcomp,
+	  libmp3lame/depcomp, misc/depcomp, mpglib/depcomp:
+
+	Update files from automake 1.11 and libtool 2.2.10.
+
+2011-04-03 22:26  robert
+
+	* libmp3lame/: psymodel.c, version.h:
+
+	pre-echo control for short blocks is dependent on previous frame.
+	maybe we can relax it later, to speed-up things again.
+
+2011-03-25 19:57  robert
+
+	* frontend/parse.c:
+
+	dropping note about mpglib being GPL, because we use HIP for decoding.
+
+2011-03-24 20:19  robert
+
+	* doc/html/detailed.html, doc/man/lame.1, frontend/parse.c,
+	  libmp3lame/id3tag.c:
+
+	new switches controlling the string encoding mode for ID3v2 tags:
+	--id3v2-latin1  turns on ID3v2 tags, text encoding ISO-8859-1
+	--id3v2-ucs2  turns on ID3v2 only tags, text encoding UCS-2
+
+	Similar experimental switches removed.
+
+2011-03-24 10:25  robert
+
+	* doc/html/history.html:
+
+	fixing glitch in Joseph's name
+
+2011-03-24 10:21  robert
+
+	* doc/html/history.html:
+
+	updating history with info about latest changes
+
+2011-03-22 20:35  robert
+
+	* ChangeLog, libmp3lame/version.h:
+
+	updating ChangeLog
+
+2011-03-05 20:05  robert
+
+	* libmp3lame/: presets.c, quantize_pvt.c:
+
+	adapting some parameters for vbr-old/cbr/abr, because of the now used psy model
+
+2011-03-05 18:54  robert
+
+	* libmp3lame/: encoder.c, presets.c, psymodel.c, quantize_pvt.c:
+
+	now all modes use the same (latest) psy model
+
+	code cleanup
+
+2011-03-05 14:06  robert
+
+	* mpglib/layer3.c:
+
+	fix for a possible out of bounds array access
+
+	re ID: 3091776 crash at III_dequantize_sample
+	This bug may be fixed now, don't have original problem sample to be sure.
+
+2011-03-02 16:56  rbrito
+
+	* debian/changelog:
+
+	debian: Update changelog.
+
+2011-03-02 16:56  rbrito
+
+	* debian/changelog:
+
+	Put my SF email or we get warnings from lintian.
+
+2011-03-02 16:54  rbrito
+
+	* debian/control:
+
+	Verified that the packaging conforms to the Policy version 3.9.1
+
+2011-03-02 16:54  rbrito
+
+	* debian/control:
+
+	Verified that the packaging conforms to the Policy version 3.9.0
+
+2011-03-02 16:54  rbrito
+
+	* debian/control:
+
+	Remove unused Conflicts: and Replaces: fields.
+
+	They were never part of any stable release and 3rd party sites were,
+	perhaps, faster than us in providing changed packages (when the packaging
+	was not up-to-date).
+
+2011-03-02 16:53  rbrito
+
+	* debian/control:
+
+	Verified that the packaging conforms to the Policy version 3.8.4
+
+2011-03-02 16:53  rbrito
+
+	* debian/control:
+
+	Verified that the packaging conforms to the Policy version 3.8.3
+
+2011-03-02 16:52  rbrito
+
+	* debian/control:
+
+	Verified that the packaging conforms to the Policy version 3.8.2
+
+2011-03-02 16:52  rbrito
+
+	* debian/control:
+
+	Verified that the packaging conforms to the Policy version 3.8.1.0
+
+2011-03-02 16:52  rbrito
+
+	* debian/control:
+
+	Fix lintian's debhelper-but-no-misc-depends from the binary packages.
+
+2011-03-02 16:51  rbrito
+
+	* debian/changelog:
+
+	Update debian/changelog.
+
+2011-03-02 16:50  rbrito
+
+	* debian/control:
+
+	debian/control: Change B-D on nasm to allow any i386 platform (no amd64, though).
+
+2011-03-02 16:50  rbrito
+
+	* debian/control:
+
+	debian/control: Rewrap the Build-Depends field for legibility.
+
+	This also buys us some diff-friendliness.
+
+2011-03-02 16:48  rbrito
+
+	* debian/: changelog, rules:
+
+	debian: Transition to the debhelper 7 format.
+
+	This format is easier to manage and other people should find it easy to
+	adapt to downstream necessities.
+
+2011-03-01 00:34  robert
+
+	* testcase.mp3, libmp3lame/lame.c, libmp3lame/vbrquantize.c:
+
+	- new VBR: mpeg2.5 at 8 kHz doesn't use some scalefactor bands
+
+2011-02-27 21:08  robert
+
+	* libmp3lame/lame.c:
+
+	small update for q_map
+
+2011-02-27 01:52  robert
+
+	* libmp3lame/: lame.c, presets.c:
+
+	last patch made manual lowpass setting impossable (for VBR)
+
+2011-02-27 00:52  robert
+
+	* Makefile.unix, libmp3lame/lame.c, libmp3lame/presets.c,
+	  libmp3lame/psymodel.c, libmp3lame/version.h:
+
+	make use of resampling at lower VBR quality levels
+
+2011-02-22 19:00  robert
+
+	* libmp3lame/: bitstream.c, encoder.c, lame.c, psymodel.c,
+	  quantize.c, quantize_pvt.c, version.h:
+
+	Starting to use newer VBR psy-model for CBR and ABR encoding too
+
+	bug tracker ID: 3187397 - Strange compression behavior
+
+2011-02-22 17:58  robert
+
+	* libmp3lame/: bitstream.c, lame.c, presets.c, psymodel.c,
+	  quantize_pvt.c, version.c:
+
+	some code cleanup
+
+2011-02-13 22:54  rbrito
+
+	* frontend/brhist.c:
+
+	frontend: remove unused variable and computation from brhist.c
+
+2011-02-13 16:36  robert
+
+	* libmp3lame/: lame.c, quantize.c, quantize_pvt.c, version.h:
+
+	make vbr_mt the default vbr mode
+
+2011-02-13 13:50  robert
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/presets.c, libmp3lame/set_get.c:
+
+	new mono encoding switches:
+	-ml encodes left channel only
+	-mr encodes right channel only
+
+2011-02-12 16:16  robert
+
+	* frontend/main.h, libmp3lame/presets.c, libmp3lame/vbrquantize.c:
+
+	small fixes for compiler warnings
+	(vbrquantize.c) bug fix, out of bounds memory write
+
+2011-02-11 20:17  robert
+
+	* libmp3lame/: lame.c, presets.c, psymodel.c, quantize.c,
+	  vbrquantize.c, version.h:
+
+	- reintroduction of fast encoding mode (-q7 / -f)  (vbr_mt / vbr_mtrh)
+	- minor fix for sfb21 encoding (vbr_mt / vbr_mrth)
+	- small tunings
+
+2010-12-08 15:28  robert
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	fixing some compile issues when compiling as C++ code
+
+	bug tracker ID: 3125235: make -f Makefile.mingw32 fails
+
+2010-12-05 12:25  robert
+
+	* Dll/BladeMP3EncDLL.c:
+
+	fixing some compile issues when compiling as C++ code
+
+	bug tracker ID: 3125235: make -f Makefile.mingw32 fails
+
+2010-12-04 20:43  jaz001
+
+	* doc/html/detailed.html:
+
+	spelling and better description on -b, -F and -t settings
+
+2010-12-04 13:30  robert
+
+	* libmp3lame/gain_analysis.h:
+
+	fixing some compile issues with strict compiler settings.
+
+	bug tracker ID:  3025801: gain_analysis.h needs int constants
+
+2010-12-04 12:55  robert
+
+	* Dll/BladeMP3EncDLL.c:
+
+	fixing some compile issues with strict compiler settings.
+
+	bug tracker ID: 3125235: make -f Makefile.mingw32 fails
+
+2010-12-03 19:46  jaz001
+
+	* doc/html/about.html:
+
+	fixed listening tests URL.
+
+2010-11-21 20:45  jaz001
+
+	* doc/html/: detailed.html, usage.html:
+
+	yet more small detail changes.
+
+2010-11-21 20:31  jaz001
+
+	* doc/html/detailed.html:
+
+	more details about the q switch and the vbr-new/old
+	some formating changes
+
+2010-11-21 20:07  jaz001
+
+	* doc/html/: abr.html, cbr.html, detailed.html, usage.html:
+
+	updates/fixes to the documentation.
+
+2010-10-30 13:21  robert
+
+	* Makefile.am, Makefile.in, lame_vc8.sln, Dll/LameDll_vc8.vcproj,
+	  Dll/Makefile.am, Dll/Makefile.in, frontend/Makefile.am,
+	  frontend/Makefile.in, frontend/lame_vc8.vcproj,
+	  frontend/mp3x_vc8.vcproj, libmp3lame/Makefile.am,
+	  libmp3lame/Makefile.in, libmp3lame/libmp3lame_vc8.vcproj,
+	  mpglib/Makefile.am, mpglib/Makefile.in, mpglib/mpglib_vc8.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj:
+
+	VC8 no more
+
+2010-09-30 20:58  jaz001
+
+	* doc/html/: Makefile.am, Makefile.in:
+
+	fixed the erroneous naming of files. (fixes: 3078255)
+
+2010-08-29 05:45  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	reduce table size by merging escHB[512](short) and escLen[512](char) into
+	escHBL[512](unsigned short).
+
+2010-08-29 05:16  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	move code to update bitstream position out of loop.
+
+2010-08-17 23:39  rbrito
+
+	* README:
+
+	Put a notice that Mark Taylor is not the current maintainer, but The
+	LAME team is.
+
+2010-08-17 23:36  rbrito
+
+	* README:
+
+	Update the URL to point to the Sourceforge webpage.
+
+2010-08-17 23:35  rbrito
+
+	* README:
+
+	Update the date of the README file.
+
+2010-08-17 23:34  rbrito
+
+	* README:
+
+	Cosmetic: delete trailing whitespaces.
+
+2010-08-17 23:32  rbrito
+
+	* README:
+
+	Remove duplicate copyright entry for Mark Taylor.
+
+2010-08-17 23:32  rbrito
+
+	* README:
+
+	Update copyright years of the LAME Project.
+
+2010-07-09 18:59  jaz001
+
+	* doc/html/: basic.html, examples.html, id3.html, lame.css,
+	  modes.html, node6.html, switchs.html:
+
+	delete old documentation
+
+2010-07-09 18:58  jaz001
+
+	* doc/html/detailed.html:
+
+	added anchors to the descriptions, so that one can link to them with an URL.
+	Corrected a few errors.
+
+2010-06-11 17:44  jaz001
+
+	* doc/html/: Makefile.am, about.html, abr.html, cbr.html,
+	  contact.html, contributors.html, detailed.html, index.html,
+	  introduction.html, links.html, list.html, ms_stereo.html,
+	  usage.html, vbr.html, images/logo.gif, images/valid-css.png,
+	  images/valid-xhtml10.png, styles/lame.css:
+
+	Initial commit of  the new documentation. Makefile.in should be regenerated.
+
+2010-06-07 00:18  robert
+
+	* libmp3lame/: presets.c, psymodel.c:
+
+	something to try later
+
+2010-06-06 19:20  robert
+
+	* frontend/rtp.c:
+
+	fix compile problem on Linux system
+
+2010-06-06 01:04  robert
+
+	* libmp3lame/: encoder.c, lame.c, lame_global_flags.h, presets.c,
+	  psymodel.c, quantize.c, quantize_pvt.c, set_get.c, util.h,
+	  version.h:
+
+	some further tweaking of vbr new
+
+2010-06-01 21:55  robert
+
+	* libmp3lame/: lame.c, presets.c, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h, util.h, version.h:
+
+	more tuning on vbr_mt
+
+2010-06-01 18:51  robert
+
+	* libmp3lame/: bitstream.c, lame.c:
+
+	changing default buffer constraint for vbr_mt
+
+2010-06-01 16:21  robert
+
+	* libmp3lame/lame.c:
+
+	fixing some compiler warnings
+
+2010-06-01 15:59  robert
+
+	* frontend/get_audio.c, frontend/get_audio.h, frontend/lametime.c,
+	  frontend/lametime.h, libmp3lame/lame.c, libmp3lame/presets.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/util.c, libmp3lame/util.h, libmp3lame/version.h:
+
+	some work on VBR scale tuning, accessible with --vbr-new
+
+2010-05-02 20:29  robert
+
+	* frontend/get_audio.c, frontend/get_audio.h, frontend/gtkanal.c,
+	  libmp3lame/lame.c, libmp3lame/presets.c, libmp3lame/util.c,
+	  libmp3lame/version.h:
+
+	work-in-progress: VBR scale tuning
+
+2010-04-29 00:29  robert
+
+	* libmp3lame/lame.c, libmp3lame/presets.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, frontend/parse.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/util.h, libmp3lame/version.h:
+
+	some work on VBR scale tuning, accessible with --vbr-new
+
+2010-04-15 10:44  robert
+
+	* libmp3lame/: lame.c, VbrTag.c, util.h:
+
+	- calculate input transform matrix once on initialization
+	- calculate clip detect even when scaling was set; else one doesn't notice that clipping still might happen.
+
+2010-04-14 09:38  robert
+
+	* libmp3lame/i386/: Makefile.in (lame3_98), Makefile.in:
+
+	Bug fix for tracker item ID: 2986823: Error when building Lame with NASM support -still exists
+
+2010-04-11 15:46  robert
+
+	* Makefile.MSVC, libmp3lame/lame.rc, libmp3lame/set_get.h:
+
+	adding version/icon resource to VC6 binary builds
+
+2010-04-11 13:07  robert
+
+	* libmp3lame/lame.c, include/lame.def, include/lame.h:
+
+	add encoding functions passing double precision pcm values ( +/- 1 fulll scale)
+
+2010-04-09 21:51  robert
+
+	* doc/html/switchs.html, doc/man/lame.1, frontend/get_audio.c,
+	  frontend/main.h, frontend/parse.c:
+
+	- unicode filenames now working with libsndfile on MS-Windows
+	- presets use the default VBR engine, no need for extra parameter "fast"
+
+2010-04-08 11:07  robert
+
+	* frontend/get_audio.c, frontend/get_audio.h, frontend/lame_main.c,
+	  frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c,
+	  libmp3lame/id3tag.c, libmp3lame/version.h:
+
+	enabling to read OGG Vorbis files via libsndfile
+
+2010-04-06 11:13  robert
+
+	* libmp3lame/id3tag.c, frontend/lame_main.c, libmp3lame/lame.c,
+	  frontend/get_audio.h, frontend/parse.c, include/lame.def,
+	  include/lame.h:
+
+	- preparing to use ieee float [-1,+1] as internal pcm sample representation in LAME frontend
+	- removing id3v2 picture size limit
+	- fixing id3v2 TXXX frame storage
+
+2010-03-23 11:22  robert
+
+	* include/lame.h:
+
+	small typo
+
+2010-03-22 23:12  robert
+
+	* libmp3lame/: quantize.c, version.h:
+
+	vbrnew: pad frame to build up bitrservoir
+
+2010-03-22 20:48  robert
+
+	* ChangeLog (lame3_98):
+
+	updating Changelog
+
+2010-03-22 20:28  robert
+
+	* doc/html/: history.html (lame3_98), history.html:
+
+	updating latest changes
+
+2010-03-22 20:25  robert
+
+	* configure, configure.in (lame3_98):
+
+	Update version number in preparation for release.
+
+2010-03-22 20:19  robert
+
+	* doc/html/: history.html (lame3_98), history.html:
+
+	updating latest changes
+
+2010-03-22 20:08  robert
+
+	* dshow/: Mpegac.cpp, Mpegac.h, Property.rc, README (lame3_98):
+
+	Joseph Flynn's direct show improvements
+
+2010-03-22 19:44  robert
+
+	* vc_solution/vc9_mpglib.vcproj:
+
+	adding header file to project
+
+2010-03-22 14:43  robert
+
+	* mpglib/: README (lame3_98), AUTHORS, README:
+
+	update licence information/header in decoder files
+
+2010-03-22 14:30  robert
+
+	* mpglib/common.c (lame3_98), LICENSE, mpglib/Makefile.am,
+	  mpglib/Makefile.in, mpglib/common.c, mpglib/common.h,
+	  mpglib/dct64_i386.c, mpglib/dct64_i386.h, mpglib/decode_i386.c,
+	  mpglib/decode_i386.h, mpglib/huffman.h, mpglib/interface.c,
+	  mpglib/interface.h, mpglib/l2tables.h, mpglib/layer1.c,
+	  mpglib/layer1.h, mpglib/layer2.c, mpglib/layer2.h,
+	  mpglib/layer3.c, mpglib/layer3.h, mpglib/mpg123.h,
+	  mpglib/mpglib.h, mpglib/tabinit.c, mpglib/tabinit.h:
+
+	update licence information/header in decoder files
+
+2010-03-22 14:17  robert
+
+	* mpglib/AUTHORS, mpglib/Makefile.am, mpglib/Makefile.in,
+	  mpglib/common.c, mpglib/common.h, mpglib/dct64_i386.c,
+	  mpglib/dct64_i386.h, mpglib/decode_i386.c, mpglib/decode_i386.h,
+	  mpglib/huffman.h, mpglib/interface.c, mpglib/interface.h,
+	  mpglib/l2tables.h, mpglib/layer1.c, mpglib/layer1.h,
+	  mpglib/layer2.c, mpglib/layer2.h, mpglib/layer3.c,
+	  mpglib/layer3.h, mpglib/mpg123.h, mpglib/mpglib.h,
+	  mpglib/tabinit.c, mpglib/tabinit.h, LICENSE (lame3_98):
+
+	update licence information/header in decoder files
+
+2010-03-22 11:49  robert
+
+	* vc_solution/vc9_mpglib.vcproj (lame3_98):
+
+	adding header file to project
+
+2010-03-21 22:22  robert
+
+	* frontend/parse.c, libmp3lame/set_get.c, mpglib/common.c,
+	  mpglib/layer3.c:
+
+	minor changes
+
+2010-03-21 22:18  robert
+
+	* libmp3lame/reservoir.c:
+
+	Bug fix for tracker item ID: 2973877: A problem regarding the new drain code
+
+2010-03-21 12:34  robert
+
+	* libmp3lame/version.h (lame3_98):
+
+	Update version number in preparation for release.
+
+2010-03-21 12:28  robert
+
+	* debian/: Makefile.am, Makefile.in (lame3_98):
+
+	Bug fix for tracker item ID: 2964898: Missing debian/compat
+
+2010-03-21 12:15  robert
+
+	* libmp3lame/util.c (lame3_98):
+
+	Bug fix for tracker item ID 2963080: Missing #ifdef/#endif in util.c ?
+
+2010-03-21 12:11  robert
+
+	* libmp3lame/reservoir.c (lame3_98):
+
+	Bug fix for tracker item ID: 2973877: A problem regarding the new drain code
+
+2010-03-15 01:32  robert
+
+	* frontend/gtkanal.c, vc_solution/vc9_lame.sln,
+	  vc_solution/vc9_lame_mp3x.vcproj:
+
+	it makes no sense, to link mp3x against libmp3lame.dll, because of strong dependencies between them. (pinfo struct)
+
+2010-03-15 01:07  robert
+
+	* libmp3lame/bitstream.c, libmp3lame/lame.c, frontend/parse.c,
+	  include/lame.def, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/util.c:
+
+	access functions for bitrate and samplerate tables. exporting of global vars doesn't work well with DLLs.
+
+2010-03-14 22:47  robert
+
+	* frontend/get_audio.c, frontend/lame_main.c, frontend/main.c,
+	  frontend/main.h, frontend/parse.c, frontend/timestatus.c,
+	  libmp3lame/set_get.h, vc_solution/vc9_lame.sln:
+
+	some code refactorings
+
+2010-03-14 19:48  robert
+
+	* frontend/timestatus.c, libmp3lame/lame.rc,
+	  vc_solution/vc9_lame_mp3x.vcproj:
+
+	adding resource file containing version and program icon to MP3x project
+
+2010-03-14 17:23  robert
+
+	* Makefile.MSVC, Makefile.unix, configure.in, frontend/Makefile.am,
+	  frontend/Makefile.in, frontend/brhist.c, frontend/lame_main.c,
+	  frontend/timestatus.c, include/Makefile.am,
+	  include/libmp3lame.sym, vc_solution/Makefile.am:
+
+	BRHIST is mandatory
+	Layer1 and Layer2 decoding is mandatory
+	adding libmp3lame.sym file, to use with libtool, declares exported symbols
+
+2010-03-14 16:15  robert
+
+	* frontend/mp3rtp.c, libmp3lame/set_get.c:
+
+	fixing some compiler warnings
+
+2010-03-14 15:39  robert
+
+	* testcase.mp3, frontend/main.c, frontend/timestatus.c,
+	  libmp3lame/encoder.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/util.h:
+
+	trying to get rid of remaining GCC compiler warnings
+
+2010-03-13 21:10  robert
+
+	* Makefile.MSVC:
+
+	additional target mp3rtp
+
+2010-03-13 20:45  robert
+
+	* frontend/Makefile.am, frontend/lame_main.c, frontend/main.c,
+	  Makefile.MSVC, Makefile.unix, frontend/Makefile.in,
+	  frontend/lame_vc8.vcproj, frontend/mp3rtp.c, frontend/mp3x.c,
+	  frontend/mp3x_vc8.vcproj, vc_solution/vc9_lame.sln,
+	  vc_solution/vc9_lame_lame.vcproj,
+	  vc_solution/vc9_lame_mp3rtp.vcproj,
+	  vc_solution/vc9_lame_mp3x.vcproj:
+
+	main.c is now entry point for all frontend programs
+	similar to mp3x and mp3rtp, there is now lame_main.c for lame
+
+2010-03-13 01:49  robert
+
+	* doc/html/history.html:
+
+	support for WAVE_FORMAT_IEEE_FLOAT
+
+2010-03-13 01:17  robert
+
+	* frontend/get_audio.c:
+
+	support for WAVE_FORMAT_IEEE_FLOAT (for reading via libsndfile)
+
+2010-03-12 14:00  robert
+
+	* frontend/get_audio.c:
+
+	support for WAVE_FORMAT_IEEE_FLOAT (for reading)
+
+2010-03-11 00:59  robert
+
+	* frontend/console.c, frontend/get_audio.c, frontend/main.c,
+	  frontend/main.h, frontend/mp3rtp.c, frontend/parse.c,
+	  frontend/rtp.c, frontend/timestatus.c, include/lame.def,
+	  include/lame.h, libmp3lame/id3tag.h:
+
+	experimental unicode support on Windows OS
+
+2010-03-10 01:41  robert
+
+	* frontend/: main.c, timestatus.c:
+
+	Starting with Unicode support for LAME on Windows
+
+2010-03-10 00:43  robert
+
+	* frontend/timestatus.c:
+
+	small fix for time status display during encoding
+
+2010-03-10 00:35  robert
+
+	* frontend/: get_audio.c, main.c, timestatus.c, timestatus.h:
+
+	display of estimated number of frames should be more accurate now, even when re-encoding mp3->mp3
+
+2010-03-09 00:03  robert
+
+	* libmp3lame/set_get.c:
+
+	calculation of totalframes more in line with current enc-delay+padding
+
+2010-03-08 00:17  robert
+
+	* frontend/get_audio.c, frontend/main.c, frontend/timestatus.c,
+	  libmp3lame/bitstream.c, libmp3lame/util.h:
+
+	- reducing some warnings
+	- lame_get_totalframes still returns wrong estimate when re-encoding
+
+2010-03-07 21:14  robert
+
+	* frontend/: get_audio.c, get_audio.h, main.c, mp3rtp.c, mp3x.c,
+	  timestatus.c:
+
+	some more code refactoring to clean up encoder/decoder loops
+
+2010-03-06 21:34  robert
+
+	* doc/html/history.html:
+
+	Bug fix for tracker item ID: 2962223: Encoder delay and padding values ignored when transcoding
+
+2010-03-06 21:30  robert
+
+	* frontend/: get_audio.c, main.c:
+
+	Bug fix for tracker item ID: 2962223: Encoder delay and padding values ignored when transcoding
+
+2010-03-06 02:15  robert
+
+	* frontend/: get_audio.c, get_audio.h, main.c, parse.c:
+
+	some code refactorings
+
+2010-03-05 02:01  robert
+
+	* doc/html/history.html:
+
+	updating history text
+
+2010-03-04 21:37  robert
+
+	* frontend/rtp.c:
+
+	cleanup some pre-processor code
+
+2010-03-04 20:03  robert
+
+	* frontend/rtp.c:
+
+	more work on mp3rtp
+
+2010-03-04 19:42  robert
+
+	* frontend/: mp3rtp.c, rtp.c, rtp.h:
+
+	more work on mp3rtp
+	should compile with VC9 and GCC now
+
+2010-03-04 16:38  robert
+
+	* frontend/mp3rtp.c, include/lame.def, frontend/rtp.c,
+	  frontend/rtp.h, vc_solution/vc9_lame.sln,
+	  vc_solution/vc9_lame_mp3rtp.vcproj:
+
+	mp3rtp compiles with VC9 now
+
+2010-03-04 09:32  robert
+
+	* vc_solution/vc9_lame_mp3rtp.vcproj:
+
+	adding mp3rtp project to VC solution
+
+2010-03-04 09:23  robert
+
+	* vc_solution/vc9_lame.sln:
+
+	adding mp3rtp project to VC solution
+
+2010-03-03 00:32  robert
+
+	* mpglib/: layer3.c, mpglib.h:
+
+	Eliminated some remaining global variable in layer3 decoder code.
+
+2010-03-02 01:21  robert
+
+	* frontend/: brhist.h, console.h, get_audio.c, gtkanal.c,
+	  lametime.h, main.c, main.h, mp3rtp.c, parse.c, parse.h,
+	  portableio.h, timestatus.c, timestatus.h:
+
+	some code refactoring
+
+2010-02-28 17:22  robert
+
+	* ChangeLog:
+
+	updating Changelog
+
+2010-02-28 16:52  robert
+
+	* libmp3lame/bitstream.c:
+
+	For free format mp3 above 320 kbps, the maximum allowed bits was limited too far.
+
+2010-02-27 03:57  robert
+
+	* dshow/: dshow.dsp, dshow.dsw (lame3_98):
+
+	Fixing line ending problem in VC project files, when checked out via make dist.
+
+2010-02-27 03:18  robert
+
+	* doc/html/history.html:
+
+	updating history text
+
+2010-02-27 02:58  robert
+
+	* ChangeLog (lame3_98):
+
+	updating Changelog
+
+2010-02-27 02:51  robert
+
+	* doc/html/history.html (lame3_98):
+
+	updating history text
+
+2010-02-26 23:23  robert
+
+	* Dll/: Example_vc6.dsp, LameDll_vc6.dsp (lame3_98):
+
+	Bug fix for tracker ID: 2688413
+	lib name problem in VS6
+
+2010-02-26 22:59  robert
+
+	* dshow/dshow.dsw (lame3_98):
+
+	seems dshow workspace got messed up some time ago
+
+2010-02-26 22:33  robert
+
+	* Makefile.am, Makefile.in (lame3_98):
+
+	add some missing files used by "make dist" to the configure magic
+
+2010-02-26 22:24  robert
+
+	* libmp3lame/: Makefile.in, Makefile.am (lame3_98):
+
+	add some missing files used by "make dist" to the configure magic
+
+2010-02-26 03:40  robert
+
+	* include/Makefile.am, include/Makefile.in, libmp3lame/Makefile.am,
+	  libmp3lame/Makefile.in, libmp3lame/lame.rc (lame3_98):
+
+	adding some files missing after "make dist"
+
+2010-02-26 03:04  robert
+
+	* Makefile.in (lame3_98):
+
+	adding vc_solution path to configure magic
+
+2010-02-26 02:49  robert
+
+	* configure, mpglib/Makefile.in (lame3_98):
+
+	adding vc_solution path to configure magic
+
+2010-02-26 01:59  robert
+
+	* Makefile.am, configure.in (lame3_98):
+
+	adding vc_solution dir, used for "make dist"
+
+2010-02-26 01:56  robert
+
+	* vc_solution/: Makefile.am, Makefile.in (lame3_98):
+
+	initial check in, used by "make dist"
+
+2010-02-26 00:55  robert
+
+	* libmp3lame/i386/: Makefile.am (lame3_98), Makefile.am:
+
+	Tracker item ID: 2807676:
+	Error when building Lame with NASM support
+
+	Patch reported by Bernhard Doebler.
+
+2010-02-25 23:33  robert
+
+	* testcase.mp3 (lame3_98):
+
+	updating testcase for 3.98.3
+
+2010-02-24 08:54  rbrito
+
+	* debian/: changelog, control, copyright, rules (lame3_98):
+
+	Update the debian packaging for the new release.
+
+2010-02-20 21:19  robert
+
+	* test/lame_test.cpp, vc_solution/vc9_lame_clients.sln,
+	  vc_solution/vc9_lame_test.vcproj:
+
+	adding some small LAME test project.
+
+2010-02-20 21:08  robert
+
+	* libmp3lame/: lame.c (lame3_98), lame.c:
+
+	Bug fix for tracker ID: 2824296
+	wrong enc_padding value in LAME 3.99a & 3.98.3 (from CVS)
+
+2010-02-20 21:01  robert
+
+	* libmp3lame/VbrTag.c (lame3_98):
+
+	Bug fix for tracker ID: 2872590
+	LameTAG: "Music length" missmatch in Lame3.98
+
+2010-02-20 20:58  robert
+
+	* libmp3lame/VbrTag.c:
+
+	Bug fix for tracker ID: 2872590
+	LameTAG: "Music length" missmatch in Lame3.98
+
+2010-02-19 00:44  robert
+
+	* libmp3lame/: id3tag.c (lame3_98), id3tag.c:
+
+	Bug fix for tracker ID: 2887359
+	Wrong length in ID3v2 tag when num_samples isn't set
+
+2010-02-19 00:30  robert
+
+	* Dll/: BladeMP3EncDLL.c (lame3_98), BladeMP3EncDLL.c:
+
+	Bug fix for tracker ID: 2893101
+	Access Violation in BladeMP3EncDLL if UNICODE was defined.
+
+2010-02-19 00:03  robert
+
+	* doc/man/: lame.1 (lame3_98), lame.1:
+
+	Bug fix for tracker ID: 2928684
+	Error in man page about "fast insane"
+
+2010-02-18 22:42  robert
+
+	* libmp3lame/reservoir.c (lame3_98):
+
+	Revisiting the FhG decoder problem (FhG V1.5 build 50, ships with MS Windows):
+	enabling the new drain code seems to solve that issue better, than restricting the buffer size.
+
+2010-02-13 23:21  robert
+
+	* frontend/brhist.c, frontend/console.h, frontend/get_audio.c,
+	  frontend/parse.c, frontend/timestatus.c, include/lame.h,
+	  libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/lame.c, libmp3lame/reservoir.c, libmp3lame/version.h:
+
+	Revisiting the FhG decoder problem (FhG V1.5 build 50, ships with MS Windows):
+	enabling the new drain code seems to solve that issue better, than restricting the buffer size.
+
+2010-02-06 23:01  robert
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/reservoir.c, libmp3lame/set_get.c, libmp3lame/util.h:
+
+	added new switch for control buffer constraint
+
+2009-12-12 15:28  robert
+
+	* frontend/console.c:
+
+	increasing size of term_buff array, it might have become too small by now
+
+2009-12-11 23:19  robert
+
+	* libmp3lame/util.c:
+
+	small issue,: if-def out hip functions, when not using decode-on-the-fly
+
+2009-12-11 22:44  robert
+
+	* frontend/parse.c (lame3_98):
+
+	Tracker ID: 2891879
+	Because of Windows API change, there was a problem with prority switch. Should work again.
+
+2009-12-11 22:30  robert
+
+	* frontend/parse.c:
+
+	Tracker ID: 2891879
+	Because of Windows API change, there was a problem with prority switch. Should work again.
+
+2009-11-22 22:29  rbrito
+
+	* debian/rules:
+
+	Enable the frontend to be dynamically linked to libmp3lame.
+
+2009-11-22 22:09  rbrito
+
+	* debian/lame.doc-base:
+
+	Fix correct section of doc-base.
+
+2009-11-22 21:27  rbrito
+
+	* debian/changelog:
+
+	Consolidate changelog entries.
+
+2009-11-22 21:18  rbrito
+
+	* debian/source/format:
+
+	Part of migration to new format (3.0 quilt) of Debian packages.
+
+2009-09-17 06:42  rbrito
+
+	* debian/lame.doc-base:
+
+	Update the section field.
+
+2009-09-17 05:54  rbrito
+
+	* debian/lame.doc-base:
+
+	Include Debian's doc-base configuration.
+
+2009-05-16 10:20  rbrito
+
+	* debian/rules:
+
+	Revert cleaning of files in the debian/rules file.
+
+2009-05-16 10:19  rbrito
+
+	* debian/: Makefile.am, rules:
+
+	Update the list of files in Makefile.am
+
+2009-05-15 23:09  robert
+
+	* mpglib/: interface.c, layer1.c, layer1.h, layer2.c, layer2.h,
+	  layer3.c, layer3.h:
+
+	trying to handle the case, when audio data exceeds frame size
+
+2009-05-15 23:05  robert
+
+	* libmp3lame/: bitstream.c, lame.c:
+
+	starting to demangle bitstream buffer handling from postprocessing features like "clip detect" and "replaygain".
+
+2009-05-10 22:08  jwflynn1
+
+	* dshow/Mpegac.h:
+
+	minor correction
+
+2009-05-10 22:06  jwflynn1
+
+	* dshow/Mpegac.cpp:
+
+	Allocator buffer count on the output pin had been hardcoded to 1. This was changed so that it will now attempt to use the buffer count suggested by the downstream filter or default to 1 if none is specified.
+
+2009-05-02 13:45  rbrito
+
+	* debian/: lame.files, libmp3lame0-dev.docs, libmp3lame0-dev.files,
+	  libmp3lame0.files:
+
+	Remove obsolete files. We need to fix the auto* files to use the new files.
+
+2009-05-02 13:44  rbrito
+
+	* debian/: changelog, compat, control, lame.install,
+	  libmp3lame-dev.install, libmp3lame0.install, rules:
+
+	Update Debian/Ubuntu packaging. Add new files.
+
+2009-04-20 21:47  robert
+
+	* frontend/parse.c, frontend/portableio.c, mpglib/common.c,
+	  mpglib/common.h, mpglib/layer1.c, mpglib/layer2.c,
+	  vc_solution/vc9_lame_config.vsprops, frontend/console.c,
+	  frontend/get_audio.c, frontend/main.c, libmp3lame/fft.c:
+
+	fixing some more compiler warnings
+
+2009-04-20 05:39  rbrito
+
+	* debian/: changelog, control, copyright, rules, watch:
+
+	Updating the Debian packaging and doing some investigation regarding symbols.
+
+2009-04-19 22:17  robert
+
+	* libmp3lame/id3tag.c, libmp3lame/takehiro.c, mpglib/layer1.c:
+
+	reducing compiler warnings
+
+2009-04-19 18:10  robert
+
+	* mpglib/: interface.c, layer2.c:
+
+	Starting to fix decoding bugs.
+
+2009-04-18 18:33  robert
+
+	* libmp3lame/lame.rc, mpglib/interface.c, mpglib/layer1.c,
+	  mpglib/layer2.c, mpglib/mpg123.h:
+
+	Starting to fix decoding bugs.
+
+2009-04-17 22:21  robert
+
+	* frontend/console.c, frontend/console.h, frontend/get_audio.c,
+	  frontend/main.c, frontend/parse.c, frontend/timestatus.c,
+	  libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h,
+	  mpglib/interface.c, mpglib/mpglib.h:
+
+	commandline option 'quiet' should suppress any message now
+
+2009-04-17 11:24  robert
+
+	* frontend/get_audio.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/util.c,
+	  libmp3lame/util.h, mpglib/common.c, mpglib/common.h,
+	  mpglib/interface.c, mpglib/layer3.c, mpglib/mpglib.h:
+
+	replaced fprintf calls by lame reporting function calls. this allows to silence decoder. (it used to spit out error messages to stderr)
+
+2009-04-11 16:04  jwflynn1
+
+	* dshow/README:
+
+	[no log message]
+
+2009-04-11 15:59  jwflynn1
+
+	* dshow/Mpegac.cpp:
+
+	- Added support for the DirectShow IAMStreamConfig Interface to the LAME encoder filter output pin.
+
+	- Modified the DirectShow filter registration section so that the LAME Encoder filter is correctly registered in the Audio Compressors filter category. This will allow third-party encoding applications using the DirectShow System Device Enumerator Interface to correctly detect the LAME encoder when querying the Audio Compressors filter group.
+
+	- Modified the filter registration information so that the MP3 audio subtype is correctly reported as being supported on the encoder output pin. This will allow third-party encoding applications using the DirectShow IFilterMapper2 Interface to recognize that the LAME encoder supports MP3 output.
+
+	- Altered the Filter Merit Value that was being used when the filter was registered so that it is now using the standard DirectShow compressor filter merit value of MERIT_DO_NOT_USE (0x200000). Previously, the filter was being registered using a value of MERIT_SW_COMPRESSOR (0x100000), which was at a lower priority (i.e. worse priority) than MERIT_DO_NOT_USE. This prevented the LAME Encoder filter from being selected for use by some third-party encoding applications.
+
+	- Added code to calculate the frame length of the audio frames used for the nBlockSize element of the WAVEFORMATEX output structure. Previously this value was simply hard-coded to 1.
+
+2009-04-11 15:51  jwflynn1
+
+	* dshow/Mpegac.h:
+
+	Added support for the DirectShow IAMStreamConfig Interface
+
+2009-04-11 15:47  jwflynn1
+
+	* dshow/Property.rc:
+
+	Updated the embedded "FileVersion" and "ProductVersion" fields
+
+2009-03-31 22:37  robert
+
+	* libmp3lame/: util.c, util.h (lame3_98), util.c, util.h:
+
+	fix for tracker item 2723518: resampling in 3.98 and 3.99alpha
+
+2009-03-30 19:48  robert
+
+	* libmp3lame/lame.c (lame3_98):
+
+	ensure we padd at least 288 samples
+
+2009-03-30 14:38  robert
+
+	* libmp3lame/lame.c:
+
+	ensure we pad with 288 samples at least
+
+2009-03-30 13:42  robert
+
+	* frontend/: main.c, main.h, parse.c:
+
+	commandline option "--swap-channel" added, as requested. see item: 1118412
+
+2009-03-29 18:28  robert
+
+	* libmp3lame/psymodel.c:
+
+	take away sandpaper safety margin for lower samplerates.
+	It seems samplerates which have convolution bands containing single lines are affected only (at least I don't have any testcase for lower samplerates to justify the safety margin right now)
+
+2009-03-29 17:35  robert
+
+	* libmp3lame/: lame.c, util.c, util.h:
+
+	workaround for FFMPEG bug, which uses to call lame_encode_flush more than once in loop
+
+2009-03-29 14:43  robert
+
+	* libmp3lame/lame.c (lame3_98):
+
+	workaround for FFMPEG bug, which uses to call lame_encode_flush more than once in loop
+
+2009-03-28 22:09  robert
+
+	* libmp3lame/lame.c (lame3_98):
+
+	avoid extra frame at end
+
+2009-03-02 23:27  robert
+
+	* libmp3lame/VbrTag.c:
+
+	GetVbrTag only works for Layer3, so ignore it when Layer1 or 2.
+
+2009-02-14 21:59  robert
+
+	* Makefile.unix:
+
+	adding CFG=RH_INTEL for Intel C(++) compiler setup
+
+2009-02-13 15:03  robert
+
+	* libmp3lame/fft.c, libmp3lame/vector/xmm_quantize_sub.c,
+	  vc_solution/vc9_libmp3lame.vcproj:
+
+	fix crash in VC9 Release Build
+
+2009-02-13 03:47  robert
+
+	* libmp3lame/takehiro.c, vc_solution/arch_sse2.vsprops,
+	  libmp3lame/fft.c, libmp3lame/quantize.c:
+
+	small changes
+
+2009-02-12 14:31  robert
+
+	* libmp3lame/: quantize.c, takehiro.c, vector/xmm_quantize_sub.c:
+
+	some tiny changes
+
+2009-02-12 11:35  robert
+
+	* libmp3lame/fft.c, libmp3lame/vector/lame_intrin.h,
+	  libmp3lame/vector/xmm_quantize_sub.c,
+	  vc_solution/arch_sse2.vsprops:
+
+	first try to add fht using SSE intrinsics
+
+2009-02-11 00:22  robert
+
+	* vc_solution/vc9_lame_config.vsprops:
+
+	adding configuration for SSE2 target architectures
+
+2009-02-07 11:18  robert
+
+	* Dll/: Makefile.mingw32 (lame3_98), Makefile.mingw32:
+
+	applying patch from item tracker: [ 2406420 ] compile lame_enc.dll under cygwin
+
+2009-02-07 00:44  robert
+
+	* libmp3lame/: id3tag.c, vector/xmm_quantize_sub.c:
+
+	small changes
+
+2009-02-06 23:27  robert
+
+	* libmp3lame/id3tag.c:
+
+	silence some GCC compiler warning
+
+2009-02-06 23:26  robert
+
+	* libmp3lame/: VbrTag.c, lame.c:
+
+	bug-fix: low bitrate CBR incorrectly tried to write LAME-Tag; var inconsistency
+
+2009-02-06 23:22  robert
+
+	* libmp3lame/vector/xmm_quantize_sub.c:
+
+	- fix compiler warning about strict-aliasing problem
+	- fix possible use of uninitialized vars
+
+2009-02-06 23:20  robert
+
+	* Makefile.unix:
+
+	adding work-configuration for SSE2 optimization under SuSE 32bit
+
+2009-02-06 00:21  robert
+
+	* vc_solution/: arch_nasm.vsprops, arch_sse2.vsprops,
+	  arch_x87.vsprops, vc9_lame_lame.vcproj, vc9_lame_mp3x.vcproj,
+	  vc9_libmp3lame.vcproj, vc9_libmp3lame_dll.vcproj,
+	  vc9_mpglib.vcproj:
+
+	adding configuration for SSE2 target architectures
+
+2009-02-06 00:16  robert
+
+	* configMS.h, libmp3lame/vbrquantize.c, vc_solution/vc9_lame.sln,
+	  vc_solution/vc9_lame_lame.vcproj,
+	  vc_solution/vc9_lame_mp3x.vcproj,
+	  vc_solution/vc9_libmp3lame.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj,
+	  vc_solution/vc9_mpglib.vcproj:
+
+	adding configuration for SSE2 target architectures
+
+2009-01-18 15:57  robert
+
+	* frontend/get_audio.c, frontend/gtkanal.c, frontend/lametime.c,
+	  frontend/main.c, libmp3lame/bitstream.c, libmp3lame/lame.c,
+	  libmp3lame/psymodel.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/vector/xmm_quantize_sub.c, mpglib/interface.c,
+	  mpglib/mpglib.h:
+
+	replacing C++ style comments by C style comments
+
+2009-01-18 15:44  robert
+
+	* libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  frontend/get_audio.c, frontend/gtkanal.c, frontend/lametime.c,
+	  frontend/main.c, include/lame.h, libmp3lame/quantize_pvt.c,
+	  libmp3lame/vector/xmm_quantize_sub.c, mpglib/interface.c,
+	  mpglib/mpglib.h (lame3_98):
+
+	replacing C++ style comments by C style comments
+
+2009-01-18 13:59  robert
+
+	* doc/: html/switchs.html, man/lame.1 (lame3_98),
+	  html/switchs.html, man/lame.1:
+
+	fix for bug tracker item [ 2051870 ] documentation clarifications
+
+2009-01-18 13:10  robert
+
+	* doc/man/: lame.1 (lame3_98), lame.1:
+
+	fix for bug tracker item 2423650
+
+2008-12-26 11:58  robert
+
+	* libmp3lame/: presets.c, psymodel.c:
+
+	disabling testcode
+
+2008-12-02 03:23  robert
+
+	* libmp3lame/: presets.c, psymodel.c:
+
+	testing some low quality tuning (VBR-new only)
+
+2008-11-30 00:20  robert
+
+	* Makefile.unix, libmp3lame/presets.c, libmp3lame/psymodel.c:
+
+	testing some different short block switching and change in masking tonal
+	samples (VBR-NEW only)
+
+2008-11-09 14:14  robert
+
+	* vc_solution/Makefile.in (lame3_98):
+
+	file Makefile.in was added on branch lame3_98 on 2010-02-26 01:56:52 +0000
+
+2008-11-09 14:13  aleidinger
+
+	* ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/i386/Makefile.in, libmp3lame/vector/Makefile.in,
+	  mac/Makefile.in, macosx/English.lproj/Makefile.in, Makefile.in,
+	  libmp3lame/Makefile.in, macosx/LAME.xcodeproj/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in, vc_solution/Makefile.in,
+	  macosx/Makefile.in:
+
+	regen
+
+2008-11-09 14:11  aleidinger
+
+	* config.h.in, aclocal.m4, configure:
+
+	regen (with autoconf 2.62)
+
+2008-11-09 14:10  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	Add missing files, remove deleted ones.
+
+2008-11-09 14:06  robert
+
+	* vc_solution/Makefile.am (lame3_98):
+
+	file Makefile.am was added on branch lame3_98 on 2010-02-26 01:56:52 +0000
+
+2008-11-09 14:06  aleidinger
+
+	* vc_solution/Makefile.am:
+
+	Add missing automake Makefile.
+
+2008-11-09 14:05  aleidinger
+
+	* configure.in:
+
+	Add possibility to build frontends with dynamic libmp3lame.
+
+2008-11-09 14:00  aleidinger
+
+	* frontend/Makefile.am:
+
+	Remove -static in preparation for corresponding configure option.
+
+2008-11-09 13:56  aleidinger
+
+	* ltmain.sh:
+
+	Update to version from libtool 1.5.26.
+
+2008-11-09 13:50  aleidinger
+
+	* Makefile.am, ACM/Makefile.am, ACM/ADbg/Makefile.am,
+	  ACM/tinyxml/Makefile.am, Dll/Makefile.am, debian/Makefile.am,
+	  dshow/Makefile.am, frontend/Makefile.am, include/Makefile.am,
+	  libmp3lame/i386/Makefile.am, mpglib/Makefile.am:
+
+	Add files which are new, and remove deleted ones.
+
+2008-11-06 07:10  rbrito
+
+	* doc/html/history.html:
+
+	Update history file with my changes.
+
+2008-11-06 06:56  rbrito
+
+	* debian/rules:
+
+	Actually remove the rpath issue part.
+
+2008-11-06 06:55  rbrito
+
+	* debian/: changelog, control:
+
+	Include suggestions of Fabian on the packaging.
+	Clean up the packaging a bit.
+	Update the mainline version package.
+
+2008-11-02 15:26  robert
+
+	* libmp3lame/: quantize_pvt.c, version.h:
+
+	start of 3.99 development cycle:
+	- demangling "calc_xmin"
+
+2008-11-01 21:39  robert
+
+	* ACM/lameACM_vc7.vcproj, ACM/ADbg/ADbg_vc7.vcproj,
+	  ACM/tinyxml/tinyxml_vc7.vcproj, dshow/Mpegac.cpp, dshow/REG.CPP,
+	  dshow/REG.H, dshow/aboutprp.cpp:
+
+	- Name clash with our CRegKey class and ATL::CRegKey class solved by putting ours in namespace Lame.
+
+2008-11-01 21:21  robert
+
+	* vc_solution/: vc9_lame_acm.vcproj, vc9_lame_acm_adbg.vcproj,
+	  vc9_lame_acm_tinyxml.vcproj, vc9_lame_dll.vcproj,
+	  vc9_lame_dll_example.vcproj, vc9_lame_dshow.vcproj,
+	  vc9_lame_lame.vcproj, vc9_lame_mp3x.vcproj,
+	  vc9_libmp3lame.vcproj, vc9_libmp3lame_dll.vcproj,
+	  vc9_mpglib.vcproj:
+
+	moving common VS projects settings into own property page
+
+2008-11-01 20:41  robert
+
+	* ACM/ACM.cpp, ACM/ACMStream.cpp, ACM/AEncodeProperties.cpp,
+	  ACM/lameACM.def, dshow/Mpegac.cpp, dshow/aboutprp.cpp,
+	  vc_solution/vc9_lame_acm.vcproj,
+	  vc_solution/vc9_lame_acm_adbg.vcproj,
+	  vc_solution/vc9_lame_acm_tinyxml.vcproj,
+	  vc_solution/vc9_lame_config.vsprops,
+	  vc_solution/vc9_lame_dll.vcproj,
+	  vc_solution/vc9_lame_dll_example.vcproj,
+	  vc_solution/vc9_lame_dshow.vcproj,
+	  vc_solution/vc9_lame_lame.vcproj,
+	  vc_solution/vc9_lame_mp3x.vcproj,
+	  vc_solution/vc9_libmp3lame.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj,
+	  vc_solution/vc9_mpglib.vcproj (lame3_98):
+
+	moving common VS projects settings into own property page
+
+2008-11-01 13:32  robert
+
+	* dshow/Mpegac.cpp, dshow/REG.CPP, dshow/REG.H,
+	  vc_solution/vc9_lame_acm.vcproj,
+	  vc_solution/vc9_lame_acm_adbg.vcproj,
+	  vc_solution/vc9_lame_acm_tinyxml.vcproj,
+	  vc_solution/vc9_lame_dll.vcproj,
+	  vc_solution/vc9_lame_dll_example.vcproj,
+	  vc_solution/vc9_lame_dshow.vcproj (lame3_98):
+
+	- VC6 upgrade property pages removed, not needed
+	- Name clash with our CRegKey class and ATL::CRegKey class solved by putting ours in namespace Lame.
+
+2008-10-23 23:35  robert
+
+	* mpglib/: README, TODO, common.c, common.h, dct64_i386.c,
+	  dct64_i386.h, decode_i386.c, decode_i386.h, huffman.h,
+	  interface.c, interface.h, l2tables.h, layer1.c, layer1.h,
+	  layer2.c, layer2.h, layer3.c, layer3.h, mpg123.h, mpglib.h,
+	  tabinit.c, tabinit.h (lame3_98):
+
+	exchanging mpglib by libhip from main-branch
+
+2008-10-23 23:26  robert
+
+	* mpglib/: common.c, common.h, dct64_i386.c, dct64_i386.h,
+	  decode_i386.c, decode_i386.h, huffman.h, interface.c,
+	  interface.h, l2tables.h, layer1.c, layer1.h, layer2.c, layer2.h,
+	  layer3.c, layer3.h, mpg123.h, mpglib.h, tabinit.c, tabinit.h:
+
+	fixing indentation
+
+2008-10-23 23:17  robert
+
+	* frontend/brhist.h, frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/main.c, frontend/main.h, frontend/portableio.c,
+	  frontend/portableio.h, mpglib/common.c, mpglib/common.h,
+	  mpglib/dct64_i386.c, mpglib/dct64_i386.h, mpglib/decode_i386.c,
+	  mpglib/decode_i386.h, mpglib/huffman.h, mpglib/interface.c,
+	  mpglib/interface.h, mpglib/layer1.h, mpglib/layer2.c,
+	  mpglib/layer2.h, mpglib/layer3.c, mpglib/layer3.h,
+	  mpglib/mpg123.h, mpglib/tabinit.c, mpglib/tabinit.h:
+
+	removing some tabs
+	preparing for indent
+
+2008-10-21 23:09  robert
+
+	* mpglib/: TODO, interface.c, layer3.c, mpg123.h, mpglib.h:
+
+	re-applying some of our changes to decoding lib
+
+2008-10-21 22:35  robert
+
+	* mpglib/: README, common.c, common.h, dct64_i386.c, dct64_i386.h,
+	  decode_i386.c, decode_i386.h, huffman.h, interface.c,
+	  interface.h, l2tables.h, layer1.c, layer1.h, layer2.c, layer2.h,
+	  layer3.c, layer3.h, mpg123.h, mpglib.h, tabinit.c, tabinit.h:
+
+	replacing mpglib by libhip
+
+2008-10-21 22:34  robert
+
+	* include/lame.h:
+
+	fix small issues with C99
+
+2008-10-21 22:06  robert
+
+	* include/lame.h (lame3_98):
+
+	fix small issues with C99
+
+2008-10-12 19:46  robert
+
+	* libmp3lame/version.h (lame3_98), libmp3lame/lame.rc,
+	  libmp3lame/logoe.ico, libmp3lame/version.c, libmp3lame/version.h,
+	  vc_solution/vc9_lame_lame.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj:
+
+	Adding resources to EXE and DLL
+
+2008-10-12 19:33  robert
+
+	* libmp3lame/lame.rc, libmp3lame/logoe.ico, libmp3lame/version.c,
+	  libmp3lame/version.h, vc_solution/vc9_lame_lame.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj (lame3_98):
+
+	Adding resources to EXE and DLL
+
+2008-10-11 19:12  robert
+
+	* ChangeLog (lame3_98):
+
+	updating Changelog
+
+2008-10-11 19:08  robert
+
+	* frontend/gtkanal.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/util.h (lame3_98):
+
+	fixing mp3x build
+
+2008-10-11 18:58  robert
+
+	* frontend/gtkanal.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/util.h:
+
+	fixing mp3x build
+
+2008-10-11 18:04  robert
+
+	* doc/html/history.html, frontend/get_audio.c, frontend/gtkanal.c,
+	  frontend/parse.c, libmp3lame/bitstream.c, libmp3lame/id3tag.c,
+	  libmp3lame/lame.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/util.c, libmp3lame/util.h, mpglib/.cvsignore,
+	  mpglib/common.c, mpglib/interface.c, mpglib/layer3.c,
+	  mpglib/mpg123.h, mpglib/mpglib.h, include/lame.def,
+	  include/lame.h, vc_solution/vc9_libmp3lame.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj (lame3_98),
+	  doc/html/history.html, frontend/gtkanal.c, include/lame.def,
+	  include/lame.h, libmp3lame/id3tag.c,
+	  libmp3lame/mpglib_interface.c, mpglib/layer3.c, mpglib/mpglib.h,
+	  vc_solution/vc9_libmp3lame.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj:
+
+	Library API change: lame_decode functions are now obsolete but still present, please use hip_decode instead.
+
+	The reason for this change is: lame_decode functions use a single global variable within the library to store decoder setup, hip_decode functions don't.
+
+	The encoder now uses hip_decode internally and it is now possible to use clipdetect feature while reencoding mp3 to mp3.
+
+2008-10-07 21:57  robert
+
+	* doc/html/history.html, frontend/parse.c:
+
+	- let ignore-tag-errors effect albumart option too
+	- updating history
+
+2008-10-07 20:24  robert
+
+	* doc/html/history.html, frontend/parse.c, libmp3lame/version.h
+	  (lame3_98):
+
+	- let ignore-tag-errors effect albumart option too
+	- updating history
+
+2008-09-22 20:21  robert
+
+	* libmp3lame/: takehiro.c, version.h (lame3_98):
+
+	source merging resultet in bug: loop var was incremented twice
+	now fixed
+
+2008-09-21 15:53  robert
+
+	* testcase.mp3 (lame3_98):
+
+	updating testcase.mp3 to current version
+
+2008-09-21 15:51  robert
+
+	* ChangeLog (lame3_98):
+
+	updating Changelog of branch lame3_98
+
+2008-09-21 15:29  robert
+
+	* doc/man/lame.1:
+
+	fixing Rogerios patch
+
+2008-09-19 07:30  rbrito
+
+	* debian/: changelog, control, rules (lame3_98):
+
+	Various improvements to the packaging. Thanks to Fabian.
+
+2008-09-19 07:08  rbrito
+
+	* doc/man/lame.1 (lame3_98):
+
+	Remove warnings from nroff while processing the manpage.
+
+2008-09-19 07:02  rbrito
+
+	* doc/man/lame.1:
+
+	Fixing warnings generated by nroff.
+
+2008-09-14 15:21  robert
+
+	* frontend/parse.c:
+
+	replacing stricmp by local_strcasecmp
+
+2008-09-14 11:54  robert
+
+	* doc/html/history.html, doc/html/id3.html, doc/man/lame.1,
+	  frontend/parse.c, libmp3lame/id3tag.c, USAGE:
+
+	Fixing some ID3 tagging issues:
+	- some sloppier search for genre names
+	- new switch --pad-id3v2-size <n> which allows some user defined padding
+
+2008-09-14 11:51  robert
+
+	* doc/html/history.html, doc/html/id3.html, doc/man/lame.1,
+	  frontend/parse.c, include/lame.def, include/lame.h,
+	  libmp3lame/id3tag.c, libmp3lame/id3tag.h, USAGE (lame3_98):
+
+	Fixing some ID3 tagging issues:
+	- some sloppier search for genre names
+	- new switch --pad-id3v2-size <n> which allows some user defined padding
+
+2008-09-13 21:44  robert
+
+	* doc/html/id3.html, libmp3lame/id3tag.c (lame3_98):
+
+	fixing typo
+
+2008-09-12 19:41  robert
+
+	* libmp3lame/id3tag.c, libmp3lame/id3tag.h, frontend/parse.c,
+	  include/lame.def, include/lame.h:
+
+	new frontend switch "--pad-id3v2-size <value>":
+	allow id3v2 padding of 0 to 128000 bytes
+
+2008-09-11 00:49  robert
+
+	* frontend/parse.c:
+
+	replace common suffixes by MP3/WAV when no output filename was given
+
+2008-09-08 22:46  robert
+
+	* frontend/main.c, frontend/parse.c, include/lame.h,
+	  libmp3lame/mpglib_interface.c:
+
+	eleminating some compiler warnings
+
+2008-08-31 19:35  robert
+
+	* libmp3lame/i386/nasm.h (lame3_98):
+
+	fixing the fix to get it assemble for ELF again
+
+2008-08-31 19:31  robert
+
+	* include/lame.h, libmp3lame/i386/nasm.h:
+
+	fixing the fix to get it assembling for ELF again
+
+2008-08-31 17:52  robert
+
+	* include/lame.h:
+
+	remove some debugging noise
+
+2008-08-31 16:14  robert
+
+	* frontend/get_audio.c, libmp3lame/bitstream.c, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/util.c,
+	  libmp3lame/util.h, frontend/gtkanal.c, frontend/parse.c,
+	  include/lame.def, include/lame.h, mpglib/layer3.c,
+	  mpglib/mpglib.h:
+
+	Fix for API problem:
+	lame decoding functionality used one global data structure in libmp3lame for all decoding ativities. This is a big problem with dynamic linking!
+	New API functions added, which use handles to work with.
+	Old API functions are still there, but are deprecated.
+
+2008-08-31 12:26  robert
+
+	* libmp3lame/i386/: choose_table.nas, fft3dn.nas, fftsse.nas,
+	  nasm.h (lame3_98), choose_table.nas, fft3dn.nas, fftsse.nas,
+	  nasm.h:
+
+	fixing none PIC assembling problem
+
+2008-08-27 10:27  rbrito
+
+	* libmp3lame/i386/: Makefile.am, choose_table.nas, fft3dn.nas,
+	  fftsse.nas, nasm.h:
+
+	Committing the changes from Gentoo and PaX Team to the HEAD.
+
+2008-08-25 12:57  rbrito
+
+	* debian/changelog, libmp3lame/i386/choose_table.nas,
+	  libmp3lame/i386/fft3dn.nas, libmp3lame/i386/fftsse.nas
+	  (lame3_98):
+
+	Fix text relocations and update debian changelog.
+	Thanks to the PaX Team and Gentoo people.
+
+2008-08-25 12:43  rbrito
+
+	* libmp3lame/i386/nasm.h (lame3_98):
+
+	Fix to executable stack (thanks to Gentoo people)
+
+2008-08-25 12:38  rbrito
+
+	* libmp3lame/i386/Makefile.am (lame3_98):
+
+	Fixes building of asm with libtool 2.2 (thanks to Gentoo people)
+
+2008-08-16 12:48  robert
+
+	* doc/man/: lame.1 (lame3_98), lame.1:
+
+	adding MPEG-2.5 bitrate table
+
+2008-08-13 21:01  robert
+
+	* libmp3lame/tables.h:
+
+	revert
+
+2008-08-13 20:38  robert
+
+	* libmp3lame/: tables.c, tables.h:
+
+	fix compilation via configure/make
+
+2008-08-11 20:55  robert
+
+	* libmp3lame/: takehiro.c (lame3_98), takehiro.c:
+
+	loop rewritten; result of discussion with Michael Stoner
+
+2008-08-08 20:34  robert
+
+	* libmp3lame/takehiro.c:
+
+	tiny speed-up
+
+2008-08-07 20:55  robert
+
+	* Makefile.unix, doc/html/switchs.html, doc/man/lame.1,
+	  frontend/parse.c, libmp3lame/lame.c:
+
+	making some switches developer only switches
+
+2008-08-07 14:53  robert
+
+	* mpglib/: .cvsignore, common.c, dct64_i386.h, huffman.h,
+	  interface.c, l2tables.h, layer1.h, mpg123.h, mpglib.h, tabinit.h:
+
+	sync with HIP development
+
+2008-08-07 14:52  robert
+
+	* libmp3lame/lame.c:
+
+	we did init bitstream (Xing header) before final decisions were made
+
+2008-08-06 17:12  robert
+
+	* frontend/parse.c (lame3_98):
+
+	add proper file closing
+
+2008-08-06 17:12  robert
+
+	* doc/html/history.html, frontend/parse.c:
+
+	fix for tracker item [ 2039648 ] potential memory leak in parse_args() function in parse.c
+
+2008-08-06 17:06  robert
+
+	* doc/html/history.html, frontend/parse.c (lame3_98):
+
+	fix for tracker item [ 2039648 ] potential memory leak in parse_args() function in parse.c
+
+2008-08-06 16:14  robert
+
+	* frontend/parse.c:
+
+	internal switches are available only when compiled with
+	preprocessor symbol _ALLOW_INTERNAL_OPTIONS
+	defined.
+
+2008-08-06 16:10  robert
+
+	* USAGE, doc/html/switchs.html, frontend/parse.c, doc/man/lame.1:
+
+	removing some obsolete switches
+
+2008-08-06 15:57  robert
+
+	* USAGE (lame3_98):
+
+	removing some obsolete switches
+
+2008-08-06 15:52  robert
+
+	* doc/man/lame.1 (lame3_98):
+
+	removing some obsolete switches
+
+2008-08-06 15:35  robert
+
+	* frontend/parse.c (lame3_98):
+
+	removing some obsolete switches
+
+2008-08-06 15:24  robert
+
+	* doc/html/switchs.html (lame3_98):
+
+	removing internal switches
+
+2008-08-06 11:55  robert
+
+	* libmp3lame/presets.c (lame3_98):
+
+	keeping "sfb21mod" as in 3.98 release
+
+2008-08-05 17:45  robert
+
+	* doc/html/history.html, frontend/parse.c, libmp3lame/lame.c:
+
+	fix for bugtracker item [ 2029282 ] Frequency filtering API broken in 3.98
+
+2008-08-05 17:26  robert
+
+	* doc/html/history.html, frontend/parse.c, libmp3lame/lame.c
+	  (lame3_98):
+
+	bug fix for tracker item [ 2029282 ] Frequency filtering API broken in 3.98
+
+2008-08-05 14:19  robert
+
+	* doc/html/history.html:
+
+	updating history
+
+2008-08-05 14:16  robert
+
+	* HACKING, Makefile.unix, configure.in, debian/changelog,
+	  debian/rules, doc/html/history.html, doc/man/lame.1,
+	  frontend/mp3rtp.c, frontend/rtp.c, libmp3lame/VbrTag.c,
+	  libmp3lame/bitstream.c, libmp3lame/encoder.c,
+	  libmp3lame/gain_analysis.c, libmp3lame/id3tag.c,
+	  libmp3lame/lame.c, libmp3lame/presets.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/quantize_pvt.h, libmp3lame/util.c,
+	  libmp3lame/vbrquantize.c, libmp3lame/version.h, misc/abx.c
+	  (lame3_98):
+
+	bug fixes from main branch
+
+2008-08-05 12:33  robert
+
+	* libmp3lame/id3tag.c:
+
+	fix for bug: LAME writes ID3v2 tag when some ID3v1 field length is too short to hold the text, even in case ID3v1 only is specified.
+
+2008-08-05 12:32  robert
+
+	* libmp3lame/: bitstream.c, util.h, vbrquantize.c:
+
+	changes after doing some linting
+
+2008-08-04 19:53  robert
+
+	* libmp3lame/: bitstream.c, VbrTag.c, encoder.c, encoder.h, fft.c,
+	  fft.h, gain_analysis.c, gain_analysis.h, id3tag.c, id3tag.h,
+	  lame-analysis.h, lame.c, machine.h, mpglib_interface.c,
+	  presets.c, psymodel.c, psymodel.h, quantize.c, quantize.h,
+	  quantize_pvt.c, quantize_pvt.h, set_get.c, tables.c, tables.h,
+	  takehiro.c, util.c, util.h, vbrquantize.c, vbrquantize.h,
+	  VbrTag.h:
+
+	changes after doing some linting
+
+2008-07-28 17:18  robert
+
+	* libmp3lame/lame.c, misc/abx.c:
+
+	fixing swapped parameters on calloc call
+
+2008-07-28 16:57  robert
+
+	* libmp3lame/psymodel.c:
+
+	fixing small typo
+
+2008-07-28 16:38  robert
+
+	* include/lame.h, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h,
+	  libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/id3tag.c,
+	  libmp3lame/id3tag.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/machine.h,
+	  libmp3lame/newmdct.c, libmp3lame/psymodel.c,
+	  libmp3lame/psymodel.h, libmp3lame/quantize.c,
+	  libmp3lame/quantize.h, libmp3lame/quantize_pvt.c,
+	  libmp3lame/quantize_pvt.h, libmp3lame/reservoir.c,
+	  libmp3lame/reservoir.h, libmp3lame/set_get.c,
+	  libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c:
+
+	reorganizing the huge lame_internal_flags structure
+
+2008-07-23 14:59  robert
+
+	* libmp3lame/util.c:
+
+	removed extra line.
+	tracker item: [ 2022101 ] tiny bug(?) in fill_buffer_resample()
+
+2008-07-23 14:46  robert
+
+	* libmp3lame/lame.c:
+
+	fix for tracker item: [ 2022035 ] encoder_padding value and resampling
+
+2008-07-19 13:34  rbrito
+
+	* HACKING:
+
+	Fixed HACKING documentation.
+
+2008-07-19 13:09  rbrito
+
+	* HACKING:
+
+	Fix documentation for set_get/get_set confusion.
+
+2008-07-19 12:54  rbrito
+
+	* doc/html/history.html, frontend/mp3rtp.c, frontend/rtp.c:
+
+	Fixed compilation of mp3rtp and closed bug on sourceforge tracker.
+
+2008-07-18 22:43  robert
+
+	* libmp3lame/: VbrTag.c, quantize_pvt.h, encoder.c,
+	  gain_analysis.c, id3tag.c, psymodel.c, quantize.c,
+	  quantize_pvt.c, vbrquantize.c, bitstream.c:
+
+	- removing some unused variables
+	- fix a possible 'divide by zero' in vbrpsy_mask_add
+
+2008-07-12 15:59  rbrito
+
+	* Makefile.unix:
+
+	Tidying up the Makefile.unix file. Possibly more to come.
+
+2008-07-12 14:32  rbrito
+
+	* debian/changelog:
+
+	Mention changes to the build system on debian/ubuntu/whatever systems.
+
+2008-07-12 14:28  rbrito
+
+	* debian/rules:
+
+	Include changes so that the linker only includes libraries directly needed.
+
+2008-07-12 14:26  rbrito
+
+	* Makefile.unix:
+
+	Include a clue for emacs to know that this is a makefile.
+
+2008-07-08 07:14  rbrito
+
+	* doc/man/lame.1:
+
+	Small updates to the manpage
+
+2008-07-07 23:50  robert
+
+	* doc/html/history.html, libmp3lame/presets.c:
+
+	linear interpolate preset param sf21mod
+
+2008-07-07 10:20  rbrito
+
+	* Makefile.unix:
+
+	Fixed typo in one option.
+
+2008-07-07 09:32  rbrito
+
+	* Makefile.unix:
+
+	Include flags for compilation for newer machines running Linux.
+	Comment the use of gtk1.2 for Linux at least (don't know about *BSD).
+
+2008-07-07 02:18  rbrito
+
+	* doc/html/history.html:
+
+	Many fixes to the HTML file (too numerous to mention here). Now, it
+	validates at w3.org (and let us keep it this way, please).
+
+2008-07-07 00:17  rbrito
+
+	* misc/abx.c:
+
+	Finally fix the endianness issue and be able to close the reported bug.
+
+2008-07-07 00:16  rbrito
+
+	* misc/abx.c:
+
+	Fix a memory leak (detected by running valgrind).
+
+2008-07-07 00:14  rbrito
+
+	* misc/abx.c:
+
+	Remove inactive/commented coded that doesn't seem to be necessary.
+
+2008-07-05 11:51  robert
+
+	* lame_clients_vc6.dsw, lame_projects_vc6.dsp, lame_vc6.dsw:
+
+	we don't support VC6 anymore
+
+2008-07-05 07:50  robert
+
+	* ACM/lameACM_vc6.dsp, ACM/ADbg/ADbg.dsp, ACM/tinyxml/test.dsp,
+	  ACM/tinyxml/test.dsw, ACM/tinyxml/tinyxml.dsp,
+	  Dll/Example_vc6.dsp, Dll/Example_vc6.dsw, Dll/LameDll_vc6.dsp,
+	  dshow/dshow.dsp, dshow/dshow.dsw, frontend/lame_vc6.dsp,
+	  frontend/mp3x_vc6.dsp, libmp3lame/libmp3lame_dll_vc6.dsp,
+	  libmp3lame/libmp3lame_vc6.dsp, mpglib/mpglib_vc6.dsp:
+
+	we don't support VC6 anymore
+
+2008-07-05 07:38  robert
+
+	* libmp3lame/version.h, configure.in:
+
+	Main branch at 3.99 alpha
+
+2008-07-03 22:04  robert
+
+	* libmp3lame/version.h (lame3_98):
+
+	preparing release
+
+2008-06-30 23:31  robert
+
+	* configMS.h, dshow/Property.rc, dshow/aboutprp.cpp:
+
+	updating LAME version property
+
+2008-06-29 21:40  rbrito
+
+	* configure, configure.in, debian/changelog:
+
+	New updated options for compiling with expopt (to be cleaned up latter).
+	Fixes to the Debian packaging for the pending release.
+
+2008-06-29 03:25  rbrito
+
+	* doc/html/history.html:
+
+	Fixed my name on an older entry of the history.
+
+2008-06-28 22:36  robert
+
+	* doc/html/: Makefile.am, Makefile.in:
+
+	removing presets.html, it is not in repository anymore
+
+2008-06-27 20:47  robert
+
+	* Makefile.unix, testcase.mp3:
+
+	updating testcase for 3.98 stable release
+
+2008-06-26 21:26  robert
+
+	* vc_solution/: vc9_lame.sln, vc9_lame_acm.vcproj,
+	  vc9_lame_acm_adbg.vcproj, vc9_lame_acm_tinyxml.vcproj,
+	  vc9_lame_dll.vcproj, vc9_lame_dll_example.vcproj,
+	  vc9_lame_dshow.vcproj, vc9_lame_lame.vcproj,
+	  vc9_lame_mp3x.vcproj, vc9_libmp3lame.vcproj,
+	  vc9_libmp3lame_dll.vcproj, vc9_mpglib.vcproj:
+
+	removing blanks from configuration and project names (because of NASM rule)
+
+2008-06-26 10:26  bouvigne
+
+	* doc/html/index.html, doc/html/presets.html, doc/man/lame.1,
+	  frontend/parse.c:
+
+	simplified --preset docs
+
+2008-06-26 10:09  bouvigne
+
+	* doc/html/: history.html, index.html:
+
+	updated the html docs for 3.98
+
+2008-06-26 08:57  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	revert my calc_energy changes
+
+2008-06-25 21:59  robert
+
+	* mpglib/: layer2.c, layer3.c, mpg123.h:
+
+	cosmetic changes, some more compiler (gcc) warnings eliminated
+
+2008-06-25 12:45  aleidinger
+
+	* ChangeLog:
+
+	recent changes
+
+2008-06-25 12:43  aleidinger
+
+	* doc/html/history.html:
+
+	a little bit of history
+
+2008-06-25 12:40  aleidinger
+
+	* configure:
+
+	regen
+
+2008-06-25 12:37  aleidinger
+
+	* configure.in:
+
+	fix --diable-cpml switch
+
+2008-06-25 12:17  aleidinger
+
+	* mpglib/Makefile.in, Makefile.in, ACM/Makefile.in,
+	  ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  libmp3lame/vector/Makefile.in, mac/Makefile.in,
+	  macosx/Makefile.in, macosx/English.lproj/Makefile.in,
+	  macosx/LAME.xcodeproj/Makefile.in, misc/Makefile.in:
+
+	regen (math lib change)
+
+2008-06-25 12:13  aleidinger
+
+	* configure.in:
+
+	export the math lib, allow to disable the use of the alpha optimized math lib
+
+2008-06-25 12:12  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	add the math lib explicitely to the build of the lib
+
+2008-06-25 08:20  robert
+
+	* frontend/parse.c, mpglib/decode_i386.c, mpglib/interface.c,
+	  mpglib/interface.h, mpglib/layer1.c, mpglib/layer2.c,
+	  mpglib/mpglib.h:
+
+	Some cosmetic changes, now the vc9 compiles the workspace vc9_lame without any warning
+
+2008-06-24 19:07  rbrito
+
+	* doc/html/history.html:
+
+	Add some modifications of mine to the history
+
+2008-06-24 18:39  rbrito
+
+	* debian/: changelog, control, rules:
+
+	Updates to the Debian packaging.
+
+2008-06-24 17:06  rbrito
+
+	* misc/abx.c:
+
+	Quick and dirty fix for some memory leak (detected via Valgrind).
+
+2008-06-22 18:39  robert
+
+	* doc/html/: history.html, contributors.html:
+
+	tracker item [ lame-Patches-1990643 ] DShow direct file writer output
+	patch by Anton Sergunov (setosha)
+
+2008-06-22 18:31  robert
+
+	* dshow/: Encoder.cpp, Encoder.h, Mpegac.cpp, Mpegac.h:
+
+	tracker item [ lame-Patches-1990643 ] DShow direct file writer output
+	patch by Anton Sergunov (setosha)
+
+2008-06-22 18:29  robert
+
+	* vc_solution/: vc9_lame_acm.vcproj, vc9_lame_acm_adbg.vcproj,
+	  vc9_lame_acm_tinyxml.vcproj, vc9_lame_dll_example.vcproj,
+	  vc9_lame_dshow.vcproj:
+
+	linking against multithreaded (debug) DLL
+
+2008-06-17 20:57  robert
+
+	* frontend/parse.c, libmp3lame/presets.c:
+
+	bug fix: preset INSANE wasn't a CBR preset anymore, but preset help said it should be
+
+2008-06-10 19:24  rbrito
+
+	* misc/abx.c:
+
+	Fixes for consistency (lack of PATH on some commands)
+
+2008-06-10 19:14  rbrito
+
+	* misc/abx.c:
+
+	Removing spurious whitespaces at the end of lines.
+
+2008-06-10 16:10  rbrito
+
+	* misc/abx.c:
+
+	Corrected the abx.c file to work on Linux x86-64 (it should work on ia32 too).
+
+	I think that I can remove latter the commented lines. They were prejudicial
+	to playing the file on Linux (i.e., a 1min file was played in less than 5s,
+	which is not exactly something that useful for doing an abx test).
+
+2008-05-24 08:40  aleidinger
+
+	* ChangeLog:
+
+	Add nearly a year of history.
+
+2008-05-24 08:37  aleidinger
+
+	* Makefile.in, configure:
+
+	regen
+
+2008-05-24 08:31  aleidinger
+
+	* macosx/: Makefile.in, English.lproj/Makefile.in,
+	  LAME.xcodeproj/Makefile.in:
+
+	regen
+
+2008-05-24 08:28  aleidinger
+
+	* configure.in, macosx/Makefile.am,
+	  macosx/English.lproj/Makefile.am,
+	  macosx/LAME.xcodeproj/Makefile.am:
+
+	Add some more macosx stuff
+
+2008-05-22 17:32  audiofileeng
+
+	* macosx/: English.lproj/InfoPlist.strings,
+	  LAME.xcodeproj/project.pbxproj:
+
+	adding files in subdirectories in macosx
+
+2008-05-22 06:26  aleidinger
+
+	* Makefile.am, configure.in, macosx/Makefile.am:
+
+	add the new macosx directory
+
+2008-05-21 03:05  audiofileeng
+
+	* macosx/: Info.plist, LAME_Prefix.pch:
+
+	added XCode framework project for Mac OS X
+
+2008-05-19 07:41  bouvigne
+
+	* libmp3lame/: psymodel.c, util.h:
+
+	faster calc_energy: don't loop if there is a single line within the band
+
+2008-05-18 17:49  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	faster calc_energy: dont' loop if there is a single line within the band
+
+2008-05-14 07:43  rbrito
+
+	* debian/watch:
+
+	New file for detecting new versions of the package.
+
+2008-05-14 07:42  rbrito
+
+	* debian/: changelog, control, copyright, lame.docs,
+	  libmp3lame0-dev.docs, libmp3lame0-dev.files, rules:
+
+	Updates to the Debian packaging.
+
+2008-04-28 20:32  robert
+
+	* frontend/get_audio.c:
+
+	fixing LIBSNDFILE compile problem found by Rogério Brito
+
+2008-04-23 01:50  robert
+
+	* frontend/main.c, frontend/parse.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/machine.h,
+	  libmp3lame/psymodel.c:
+
+	fix for bug-tracker item:[ 1948101 ] Memory not freed (lame-3.97, lame-3.98b8)
+	plus, we didn't call lame_close in decode-only case
+
+2008-04-22 23:01  robert
+
+	* libmp3lame/machine.h, libmp3lame/newmdct.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  mpglib/interface.c, mpglib/layer1.c:
+
+	fixing a problem if you are using --fast-math compiler switch
+
+2008-04-13 22:03  robert
+
+	* doc/html/history.html, libmp3lame/version.h:
+
+	updating history, we are now at 3.98 beta 8
+
+2008-04-13 21:27  robert
+
+	* frontend/get_audio.c, frontend/main.h, frontend/parse.c,
+	  libmp3lame/psymodel.c:
+
+	found some problem in Naoki's additive masking code and fixed it for VBR_NEW
+
+2008-04-13 13:45  robert
+
+	* testcase.mp3, frontend/get_audio.c:
+
+	changed compile-time test for machine byte order into run-time test,
+	this should solve issues PPC users seem to have
+
+2008-04-13 02:52  robert
+
+	* libmp3lame/psymodel.c:
+
+	some SNR testcode to try with -Z3
+
+2008-04-12 18:18  robert
+
+	* frontend/parse.c, frontend/timestatus.c, include/lame.def,
+	  include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c,
+	  libmp3lame/encoder.c, libmp3lame/fft.c,
+	  libmp3lame/gain_analysis.c, libmp3lame/id3tag.c,
+	  libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/presets.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/reservoir.c, libmp3lame/set_get.c,
+	  libmp3lame/tables.c, libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/vbrquantize.c:
+
+	extended VBR quality scale: 0, ..., 9.999 as floating point value
+
+2008-04-06 15:07  robert
+
+	* doc/html/history.html, frontend/main.c:
+
+	updating history.html
+
+2008-04-06 02:38  robert
+
+	* libmp3lame/lame_global_flags.h, libmp3lame/presets.c,
+	  libmp3lame/psymodel.c, libmp3lame/set_get.c,
+	  libmp3lame/version.h, mpglib/layer3.c:
+
+	some simpler spreading function for VBR NEW
+
+2008-04-05 17:38  robert
+
+	* Makefile.unix, frontend/brhist.c, frontend/brhist.h,
+	  frontend/main.c, frontend/parse.c, frontend/timestatus.c:
+
+	removing "#ifdef/#endif" from code bocks, which were always compiled in
+
+2008-04-05 17:13  robert
+
+	* lame.spec.in, debian/copyright, libmp3lame/id3tag.c, misc/abx.c,
+	  misc/lameGUI.html:
+
+	changing some links from "www.mp3dev.org/mp3" to "www.mp3dev.org"
+	and from "www.sulaco.org/mp3" to "www.mp3dev.org"
+
+2008-03-20 22:28  robert
+
+	* include/lame.h:
+
+	keep 'lame_mp3_tags_fid' alive at least for next stable release
+
+2008-03-12 11:23  robert
+
+	* libmp3lame/psymodel.c, vc_solution/vc9_libmp3lame.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj,
+	  vc_solution/vc9_mpglib.vcproj:
+
+	bug fix: stack corruption in vbrpsy_compute_masking_s
+
+2008-03-11 21:57  robert
+
+	* libmp3lame/: set_get.c, vbrquantize.c:
+
+	fixing some more compiler warnings
+
+2008-03-11 21:17  robert
+
+	* libmp3lame/VbrTag.c, libmp3lame/fft.c, libmp3lame/id3tag.c,
+	  libmp3lame/lame.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/quantize.c, libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/vbrquantize.c, vc_solution/vc9_libmp3lame.vcproj,
+	  vc_solution/vc9_libmp3lame_dll.vcproj:
+
+	fixing some more compiler warnings
+
+2008-03-11 00:56  robert
+
+	* libmp3lame/set_get.c:
+
+	fixing some more compiler warnings
+
+2008-03-11 00:21  robert
+
+	* vc_solution/vc9_libmp3lame.vcproj:
+
+	update for nasm file config
+
+2008-03-10 23:47  robert
+
+	* libmp3lame/: bitstream.c, encoder.c, gain_analysis.c, id3tag.c,
+	  lame.c, machine.h, mpglib_interface.c, newmdct.c, psymodel.c,
+	  quantize.c, quantize.h, quantize_pvt.c, quantize_pvt.h,
+	  set_get.c, util.h, vbrquantize.c, vbrquantize.h:
+
+	fixing some compiler warnings
+
+2008-03-09 22:37  robert
+
+	* frontend/parse.c:
+
+	for now, keep old ID3 tag switches passing raw character encoded strings
+	some experimental switches for Linux systems:
+
+	(ID3v1/ID3v2)
+	--lTtitle <some song title to be stored as Latin-1 string>
+	--lArtist <some artist to be stored as Latin-1 string>
+	--lAlbum <some album title to be stored as Latin-1 string>
+	--lGenre <some genre to be stored as Latin-1 string>
+	--lComment <some comment to be stored as Latin-1 string>
+	--lFieldvalue <some fieldvalue to be stored as Latin-1 string>
+
+	(ID3v2)
+	--uTitle <some song title to be store as UCS-2 string>
+	--uArtist <some artist to be stored as UCS-2 string>
+	--uAlbum <some album title to be stored as UCS-2 string>
+	--uGenre <some genre to be stored as UCS-2 string>
+	--uComment <some comment to be stored as UCS-2 string>
+
+2008-03-09 22:29  robert
+
+	* include/lame.h:
+
+	under Linux we need some C-library includes here (why not on Win32?)
+
+2008-03-09 19:31  robert
+
+	* libmp3lame/: takehiro.c, vbrquantize.c:
+
+	fixing some compiler warnings about:
+	- integer constant overflow
+	- signed/unsigned mismatch
+
+2008-03-09 17:13  robert
+
+	* Dll/BladeMP3EncDLL.c, dshow/aboutprp.cpp, frontend/brhist.c,
+	  frontend/mp3x.c, frontend/parse.c, include/lame.h:
+
+	removing unneccessary stdlib includes from lame.h
+
+2008-03-09 16:33  robert
+
+	* vc_solution/: vc9_lame_lame.vcproj, vc9_libmp3lame.vcproj,
+	  vc9_libmp3lame_dll.vcproj, vc9_nasm.rules:
+
+	adding NASM build rule
+
+2008-02-23 20:58  robert
+
+	* frontend/parse.c, libmp3lame/id3tag.c:
+
+	adding ICONV character conversion (NOT for WIN32), because ID3 tags have to
+	be in ISO Latin-1 or UCS-2 text encoding. Previously we wrote bytes into ID3
+	tags, as we got them from the commandline, in locale text encoding.
+
+	There are some experimental switches to store UCS-2 encoded ID3 tags:
+	--uArtist, --uAlbum, --uTitle, --uGenre and --uComment
+
+2008-02-23 12:58  robert
+
+	* libmp3lame/: id3tag.c, id3tag.h, util.c:
+
+	locate and replace {TXXX,COMM} field if LANGUAGE and DESCRIPTION match new one
+
+2008-02-22 02:48  robert
+
+	* libmp3lame/: id3tag.c, id3tag.h, util.c:
+
+	preparing unicode id3v2 tags
+
+2008-02-22 02:38  robert
+
+	* libmp3lame/: lame.c, vbrquantize.c, version.c:
+
+	fixing some compiler warnings
+
+2008-02-20 03:04  robert
+
+	* vc_solution/vc9_lame_dll_example.vcproj:
+
+	VC9 Solution files
+
+2008-02-20 02:40  robert
+
+	* vc_solution/vc9_lame_dshow.vcproj:
+
+	VC9 Solution files
+
+2008-02-20 01:53  robert
+
+	* vc_solution/vc9_lame_acm.vcproj:
+
+	VC9 Solution files
+
+2008-02-20 00:38  robert
+
+	* vc_solution/: .cvsignore, vc9_lame.sln, vc9_lame_acm.vcproj,
+	  vc9_lame_acm_adbg.vcproj, vc9_lame_acm_tinyxml.vcproj,
+	  vc9_lame_clients.sln, vc9_lame_dll.vcproj,
+	  vc9_lame_dll_example.vcproj, vc9_lame_dshow.vcproj,
+	  vc9_lame_lame.vcproj, vc9_lame_mp3x.vcproj,
+	  vc9_libmp3lame.vcproj, vc9_libmp3lame_dll.vcproj,
+	  vc9_mpglib.vcproj:
+
+	VC9 Solution files
+
+2008-02-15 01:27  robert
+
+	* Dll/BladeMP3EncDLL.c:
+
+	use new API function for LAME-tag frame update
+
+2008-02-15 00:23  robert
+
+	* libmp3lame/VbrTag.c:
+
+	let the dummy Xing frame have a valid mp3 sync word
+
+2008-02-10 18:38  robert
+
+	* libmp3lame/id3tag.c, include/lame.def, include/lame.h:
+
+	fixes:
+	id3tag.c - some block scope missing
+	lame.h, lame.def: - some exported function was missing
+
+2008-02-10 17:35  robert
+
+	* frontend/main.c, include/lame.def, include/lame.h,
+	  libmp3lame/VbrTag.c, libmp3lame/VbrTag.h, libmp3lame/id3tag.c,
+	  libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/set_get.c, libmp3lame/version.h:
+
+	Adding some new API functions
+	- to en-/dis- able automatic ID3 tag writing into audio stream (default on):
+
+	  void CDECL lame_set_write_id3tag_automatic(lame_global_flags * gfp, int);
+	  int CDECL lame_get_write_id3tag_automatic(lame_global_flags const* gfp);
+
+	- to query ID3 tags into a buffer:
+
+	  size_t CDECL lame_get_id3v1_tag(
+	        lame_global_flags * gfp, unsigned char* buffer, size_t size);
+	  size_t CDECL lame_get_id3v2_tag(
+	        lame_global_flags * gfp, unsigned char* buffer, size_t size);
+
+	- to query the final Xing/LAME tag frame into a buffer:
+	  size_t CDECL lame_get_lametag_frame(
+	        const lame_global_flags *, unsigned char* buffer, size_t size);
+
+	Those new functions allow to encode a complete input file into RAM first,
+	before writing it into a file/socket/whatever...
+
+2008-02-03 14:28  robert
+
+	* libmp3lame/psymodel.c:
+
+	VBRPSY: don't use ATH in 'additive masking' function
+
+2008-01-09 20:46  rbrito
+
+	* debian/: changelog, compat, control, rules:
+
+	Updated the Debian packaging.
+
+2008-01-06 16:46  robert
+
+	* libmp3lame/: lame.c, quantize.c:
+
+	VBR-NEW can be mixed with free format now. The result will be a free format
+	stream using VBR-NEW quantization routine.
+
+	note: following free format bitrates are maximum bitrates which make sense:
+	samplerate:   8  11  12  16  22  24  32  44  48
+	kbps        109 151 164 218 301 327 435 600 640(652)
+
+	Using the maximum bitrate one may look and see how the VBR code behaves
+	when the bitrate pressure is lowered to the theoretical minimum, like:
+	  lame -V0 -b600 --freeformat x.wav x.mp3
+
+2008-01-03 00:03  aleidinger
+
+	* configure:
+
+	regenerate with autoconf 2.61
+
+2008-01-03 00:02  aleidinger
+
+	* Makefile.in, ACM/Makefile.in, ACM/ADbg/Makefile.in,
+	  ACM/ddk/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in,
+	  debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in,
+	  doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in,
+	  include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, libmp3lame/vector/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in:
+
+	regenerate with automake 1.10
+
+2008-01-03 00:01  aleidinger
+
+	* aclocal.m4:
+
+	update with stuff from more recent autotools
+
+2008-01-03 00:00  aleidinger
+
+	* ltmain.sh:
+
+	update to a libtool 1.5.24 version
+
+2008-01-02 23:58  aleidinger
+
+	* configure.in:
+
+	After installing sndfile:
+	 - fix SNDFILE_xxx
+
+	Give a better failure description for some errors (sizeof check).
+
+	If there are intXX_t but no uintXX_t, use the intXX_t with "unsigned" instead
+	of trying to find the right K&R-C integral type.
+
+	Use macho as the format type for NASM on OSX, but disable the nasm use by
+	default there, as there seems to be a problem with the nasm code on OSX.
+
+2008-01-02 22:00  aleidinger
+
+	* configure.in:
+
+	- If SNDFILE_xxx are defined and the fileio is sndfile, then assume the
+	  user is knowing what he does (some systems don't have pkg-config but
+	  have sndfile).
+	- Fix the problem case where SNDFILE_CFLAGS has spaces at the beginning.
+
+2008-01-02 20:30  robert
+
+	* libmp3lame/id3tag.c:
+
+	fix for tracker item: [ 1861450 ] TLEN tag fixed on encode from stdin with ID3v2 tags
+
+2007-12-26 22:04  robert
+
+	* ACM/ACMStream.cpp, Dll/BladeMP3EncDLL.c:
+
+	removing obsolete function calls
+
+2007-12-26 13:12  robert
+
+	* Makefile.MSVC, frontend/parse.c, include/lame.h,
+	  libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/presets.c,
+	  libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/util.h:
+
+	removing dead code
+
+2007-12-25 16:15  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	some small code simplification
+
+2007-12-25 00:16  robert
+
+	* libmp3lame/: presets.c, psymodel.c:
+
+	clean code from obsolete branches
+
+2007-12-24 16:00  robert
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/set_get.c, libmp3lame/takehiro.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c:
+
+	- removing legacy ISO quantization code
+	- vbr-new now has only two -qx settings left: q0 and q5
+	- vbr-new can't use legacy GPSYCHO anymore
+
+	TODO:
+	+ remove legacy GPSYCHO code, as we don't use it anymore
+	+ remove superflouos psy-model selection switches
+	+ remove superflouos psy-model configuration switches like --cwlimit
+
+2007-12-20 14:44  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	in rare cases, where one channel is completely zero, some illegal "scalefactor
+	selection info" might be used in VBR-NEW. fixed
+
+2007-12-17 20:54  robert
+
+	* doc/html/history.html:
+
+	fixing typo
+
+2007-12-17 00:08  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	fixing typo
+
+2007-12-16 17:56  robert
+
+	* doc/html/history.html, libmp3lame/psymodel.c:
+
+	disabling the use of the "interchannel masking feature" in dual-channel case
+
+2007-12-16 17:18  robert
+
+	* libmp3lame/: psymodel.c, vbrquantize.c:
+
+	VBR-NEW:
+	-quantization: another "out of bits" strategy
+	-psymodel: dropped "inter channel effect", because the effect doesn't save
+	 many bits, but raises the chance of annoying artefacts a lot.
+
+2007-12-14 02:52  robert
+
+	* libmp3lame/psymodel.c:
+
+	found new test sample SNAPS which needs some more short blocks
+
+2007-12-09 22:47  robert
+
+	* libmp3lame/: encoder.c, lame.c, presets.c, psymodel.c,
+	  psymodel.h, quantize_pvt.c, util.h:
+
+	merger from test branch:
+	- features a new psy model, a modification from NSPSY
+
+	VBR NEW uses the new psy model, unless you call lame with --nspsytune, or
+	the developer only switch --psymodel x, with x in {1,2}
+
+	features of the new psy model:
+	- speed: it does determine the resulting block type before doing the fft
+	  and other psy stuff and will calc long/short blocks only as necessary
+	- interchannel masking effect: it will be calculated after the mid-side fix
+	  and it's working on convolution bands, instead of scalefactor bands
+	- mid-side fix: calculated on convolution bands, instead of sf bands
+	- mask_adjust feature: it's now used earlier in the convolution calculation
+
+2007-12-09 17:06  robert
+
+	* libmp3lame/psymodel.c (rh0710_test):
+
+	some fixes, ie. the short block pre-echo control was applied twice
+
+2007-12-08 23:27  robert
+
+	* libmp3lame/: encoder.c, lame.c, presets.c, psymodel.c,
+	  psymodel.h, quantize_pvt.c, util.h (rh0710_test):
+
+	modified psy model for vbr-new
+
+2007-11-26 00:14  robert
+
+	* Makefile.unix, frontend/get_audio.c, frontend/parse.c,
+	  libmp3lame/psymodel.c, libmp3lame/vbrquantize.c:
+
+	psymodel.c:
+	- bug fix in init_numlines: it returned sometimes a too large npart_[sl]
+	- fixing some more compiler warnings
+	get_audio.c:
+	- some fix in error-report in case of unsupported input format
+
+2007-11-25 23:38  robert
+
+	* Makefile.unix, libmp3lame/presets.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/util.h, libmp3lame/vbrquantize.c (rh0710_test):
+
+	re-tuning
+
+2007-11-21 21:30  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.h:
+
+	bug fix for bin_search_StepSize. It returned illegal values, leading to
+	assertion failures in fast encoding mode, which only adjusts global step size.
+
+2007-11-12 10:46  robert
+
+	* libmp3lame/: psymodel.c, util.h, vbrquantize.c (rh0710_test):
+
+	- inter channel masking now on convolution bands
+	- mid/side fix now on convolution bands
+
+2007-11-08 01:13  robert
+
+	* Makefile.unix, frontend/parse.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize_pvt.c (rh0710_test):
+
+	moving masking_lower adjustment into psymodel.c (for vbr-new)
+
+2007-11-03 14:04  robert
+
+	* frontend/get_audio.c, libmp3lame/presets.c, libmp3lame/psymodel.c
+	  (rh0710_test):
+
+	limiting the sandpaper-noise hack to the minval range (ca. 1.2 kHz)
+
+2007-11-01 20:28  robert
+
+	* doc/man/lame.1, frontend/get_audio.c, frontend/parse.c
+	  (rh0710_test):
+
+	adding main branch fixes
+
+2007-11-01 19:52  robert
+
+	* frontend/get_audio.c:
+
+	enabling --signed / --unsigned switches for 8 bit raw pcm input data
+
+2007-11-01 19:25  robert
+
+	* frontend/: get_audio.c, parse.c:
+
+	[ 1823881 ] lame 3.97 produces complete garbage
+	now invalid WAV/AIFF files are rejected, instead of trying to encode them as
+	raw pcm files.
+
+2007-11-01 19:23  robert
+
+	* doc/man/lame.1:
+
+	[ 1158193 ] Man page doesn't tell about stereo format in raw
+	[ 1158253 ] Data format is not described in the manpage
+	added some info to manpage
+
+2007-11-01 19:16  robert
+
+	* libmp3lame/lame.c:
+
+	bitrate_index may have been uninitialized under some rare circumstances
+
+2007-10-25 01:59  robert
+
+	* libmp3lame/lame.c (rh0710_test):
+
+	fixing some bad initialed value gfc->bitrate_index
+
+2007-10-24 02:04  robert
+
+	* libmp3lame/psymodel.c:
+
+	back to the roots. Maybe I'll branch from here
+
+2007-10-23 23:23  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	turn of scalefac scale feature
+
+2007-10-23 02:46  robert
+
+	* libmp3lame/psymodel.c:
+
+	yeah, ok it's C and not C++
+	open block scope for local variable
+
+2007-10-23 02:31  robert
+
+	* libmp3lame/: psymodel.c, vbrquantize.c:
+
+	dropping Naoki's idea of "simultaneous masking addition" for the newer VBR code
+	for now
+
+2007-10-22 12:00  robert
+
+	* libmp3lame/: presets.c, psymodel.c:
+
+	re-establishing previous mask adjustments
+
+2007-10-21 00:45  robert
+
+	* libmp3lame/: lame.c, presets.c, psymodel.c, quantize.c,
+	  version.h:
+
+	recalibration of VBR new's compression level settings, because of recent bug fixes
+
+2007-10-19 00:10  robert
+
+	* Makefile.unix:
+
+	moving GTK config script to MP3x target compilation, it's not needed outside MP3x
+
+2007-10-18 02:54  robert
+
+	* frontend/get_audio.c:
+
+	seems, VC compiler doesn't like redundant semicolon, fixed
+
+2007-10-18 02:09  robert
+
+	* libmp3lame/: machine.h, psymodel.c, quantize.c, set_get.c:
+
+	PSY: the newer vbr code uses tonalality estimation from long blocks for short blocks
+
+2007-10-16 01:07  robert
+
+	* doc/html/history.html, frontend/get_audio.c:
+
+	Fix for bugtracker item: [ 1813496 ] AIFF parsing bug
+
+2007-10-14 20:18  robert
+
+	* frontend/get_audio.c, libmp3lame/id3tag.h, libmp3lame/util.c:
+
+	some more compiler and compiler-warning fixes
+
+2007-10-14 19:54  robert
+
+	* frontend/get_audio.c, frontend/get_audio.h, frontend/mp3x.c,
+	  frontend/parse.c, frontend/portableio.c, include/lame.h,
+	  libmp3lame/bitstream.c, libmp3lame/id3tag.c, libmp3lame/lame.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/set_get.c, libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/vector/xmm_quantize_sub.c:
+
+	eliminating some of the several hundred compiler warnings
+
+2007-10-14 14:16  robert
+
+	* doc/html/history.html:
+
+	updating history to latest changes:
+	- bug fix scalefactor selection in vbr new code
+	- feature added: WAVE_FORMAT_EXTENSIBLE
+
+2007-10-14 13:33  robert
+
+	* frontend/get_audio.c:
+
+	feature request [ 1811483 ] WAVE_FORMAT_EXTENSIBLE support
+
+	We still support PCM wave files only with our little wave reader,
+	it is just that we now accept them when written in wave format extensible.
+
+2007-10-13 20:34  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	Bug-fix: the quantization-find-routine could under some circumstances return
+	some way too large quantization step size. For example, the song Piku from
+	The Chemical Brothers had almost 550 scalefactors wrong. For most songs this
+	fix makes no difference.
+
+2007-10-08 20:59  robert
+
+	* frontend/brhist.c:
+
+	replaced variable 'lines' by 'lines_used', because term.h has some macro
+	definition for 'lines'.
+
+2007-09-29 19:17  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	- Removing dead code.
+	- Avoiding unnecessary search for quantization step sizes. This speeds-up lower quality encodings.
+	  If energy is below masking threshold, the resulting step size will be at 255. So no need to search what we already know.
+
+2007-08-29 13:44  aleidinger
+
+	* configure:
+
+	regen
+
+2007-08-29 13:43  aleidinger
+
+	* configure.in:
+
+	Don't change the include/library path, if there's no corresponding soundfile
+	path set.
+
+	This is supposed to fix the compile problem with soundfile Rogério sees on
+	Debian.
+
+2007-08-20 21:54  robert
+
+	* Makefile.MSVC:
+
+	removing duplicate target_dir references
+
+2007-08-12 18:30  robert
+
+	* Makefile.MSVC:
+
+	let targets link against multi threaded C-library
+
+2007-08-12 00:07  robert
+
+	* doc/html/history.html, libmp3lame/vbrquantize.c,
+	  libmp3lame/version.h:
+
+	small speedup in VBR NEW
+
+	we are now at 3.98 beta 5, a release candidate for 3.98 stable?
+
+2007-08-11 23:06  robert
+
+	* testcase.mp3:
+
+	updating "testcase.mp3" for LAME 3.98 beta 5
+
+2007-08-11 21:44  robert
+
+	* libmp3lame/psymodel.c:
+
+	Short block masking: the CBR/ABR code seems to rely on the old masking definition. The VBR NEW code on the other hand needs the lowered masking.
+
+2007-07-30 06:51  aleidinger
+
+	* ChangeLog:
+
+	Add the changelog for the last ~10 months.
+
+2007-07-30 06:39  aleidinger
+
+	* configure:
+
+	regen with autoconf 2.61
+
+2007-07-30 06:37  aleidinger
+
+	* configure.in:
+
+	oops, previous fix for the gcc version pattern matching was wrong...
+
+2007-07-30 06:30  aleidinger
+
+	* configure.in:
+
+	- fix the pattern matching for the gcc version check
+	- improve the optimization stuff for gcc 4.x
+
+2007-07-30 06:28  aleidinger
+
+	* config.h.in:
+
+	regen with autoconf 2.61
+
+2007-07-30 06:28  aleidinger
+
+	* Makefile.in, aclocal.m4, ACM/Makefile.in, ACM/ADbg/Makefile.in,
+	  ACM/ddk/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in,
+	  debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in,
+	  doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in,
+	  include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, libmp3lame/vector/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in:
+
+	regen with automake 1.10
+
+2007-07-29 22:46  robert
+
+	* doc/html/history.html:
+
+	adding latest bug fixes to history
+
+2007-07-29 22:07  robert
+
+	* ACM/ADbg/ADbg.dsp, frontend/lame_vc6.dsp, dshow/dshow.dsp,
+	  include/lame.def, lame_vc6.dsw, ACM/lameACM_vc6.dsp,
+	  Dll/LameDll_vc6.dsp, ACM/tinyxml/tinyxml.dsp,
+	  frontend/mp3x_vc6.dsp, libmp3lame/libmp3lame_dll_vc6.dsp,
+	  libmp3lame/libmp3lame_vc6.dsp, mpglib/mpglib_vc6.dsp:
+
+	updating VC6 project files
+
+	from MSDN: DLLs should be linking against multi-threaded MS VC rountime library
+
+2007-07-29 16:02  robert
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	Fixing a possible resource leak
+
+2007-07-28 12:48  aleidinger
+
+	* configure:
+
+	regen (new LAME version)
+
+2007-07-28 00:41  robert
+
+	* frontend/get_audio.c:
+
+	task tracker item [ 1445175 ] Input being stdin fails in Windows on WAV files
+	and item [ 1576370 ] Fix for piping in a non PCM file via stdin under Windows
+
+	The workaround tests the actual file descriptor being a pipe or not.
+	In case being a pipe, the number of bytes to skip are simply read.
+
+2007-07-27 08:49  bouvigne
+
+	* README:
+
+	3.98
+
+2007-07-24 17:46  bouvigne
+
+	* frontend/brhist.c, frontend/brhist.h, frontend/get_audio.c,
+	  frontend/get_audio.h, frontend/gpkplotting.c,
+	  frontend/gpkplotting.h, frontend/gtkanal.c, frontend/gtkanal.h,
+	  frontend/lametime.c, frontend/lametime.h, frontend/main.c,
+	  frontend/main.h, frontend/parse.c, frontend/timestatus.c,
+	  frontend/timestatus.h, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/VbrTag.h, libmp3lame/bitstream.c,
+	  libmp3lame/bitstream.h, libmp3lame/encoder.c,
+	  libmp3lame/encoder.h, libmp3lame/fft.h, libmp3lame/id3tag.c,
+	  libmp3lame/l3side.h, libmp3lame/lame-analysis.h,
+	  libmp3lame/lame.c, libmp3lame/machine.h,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/newmdct.h, libmp3lame/presets.c,
+	  libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/reservoir.c, libmp3lame/reservoir.h,
+	  libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/tables.c,
+	  libmp3lame/tables.h, libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/util.h, libmp3lame/vbrquantize.c,
+	  libmp3lame/vbrquantize.h, libmp3lame/version.c,
+	  libmp3lame/version.h, libmp3lame/vector/lame_intrin.h,
+	  libmp3lame/vector/xmm_quantize_sub.c:
+
+	Library GPL -> Lesser GPL
+
+2007-07-24 15:26  robert
+
+	* frontend/: get_audio.c, parse.c:
+
+	bug item [ 1160757 ] --big-endian and --little-endian don't work with -m s -a
+	and item [ 1160741 ] --big-endian and --little-endian are swapped
+
+	the --big-endian/--little-endian switches do now work with our minimal
+	wave and pcm reader too.
+
+	The problems reported in the above bug tracker items should be solved now
+
+2007-07-22 18:49  robert
+
+	* libmp3lame/lame.c:
+
+	bug fix: [ 1746336 ] Incorrect Bitrate with ABR und --resample, LAME 3.98b4
+
+	There was a typo in patch Revision 1.294 "restrict mpeg 2.5 to 64kbps"
+	which set the average bitrate up to the maximum allowed bitrate.
+
+2007-07-20 23:23  robert
+
+	* libmp3lame/bitstream.c:
+
+	fixing task tracker item: [ 1755981 ] Percent signs in print format not escaped
+
+2007-07-16 20:06  bouvigne
+
+	* include/lame.h:
+
+	gpl -> lgpl (we forgot about it a long time ago)
+
+2007-07-10 21:05  robert
+
+	* dshow/Property.rc:
+
+	updating version info
+
+2007-07-01 20:05  robert
+
+	* mpglib/: common.c, common.h, interface.c, layer1.c, layer2.c,
+	  layer2.h, mpg123.h:
+
+	we will always use Layer1 and 2 decoding
+
+2007-07-01 16:17  robert
+
+	* doc/html/history.html:
+
+	word wrapping fixed
+
+2007-07-01 16:16  robert
+
+	* doc/html/history.html:
+
+	adding latest changes for Task tracker item [ 1719593 ] and [ 1742623 ]
+
+2007-07-01 14:39  robert
+
+	* frontend/: get_audio.c, get_audio.h, gtkanal.c, main.c, parse.c:
+
+	trying to fix Bugs item #1742623
+
+2007-06-30 17:14  robert
+
+	* USAGE, frontend/parse.c, include/lame.h, libmp3lame/id3tag.c:
+
+	bug fix: [ 1719593 ] Track numbers > 255 not allowed even with --id3v2-only
+
+2007-06-27 21:23  robert
+
+	* configMS.h, configure.in:
+
+	changing version number 3.97 to 3.98
+
+2007-06-27 21:22  robert
+
+	* include/lame.def:
+
+	adding newly id3tag functions to DLL export definition
+
+2007-06-26 01:33  robert
+
+	* libmp3lame/VbrTag.c:
+
+	I missed the swapped arguments in the patch by Jonathan Stott, now fixed.
+
+2007-06-26 00:57  robert
+
+	* doc/html/contributors.html, doc/html/history.html,
+	  libmp3lame/VbrTag.c, libmp3lame/lame.c:
+
+	Patch by Jonathan Stott:
+
+	Bug tracker items: [ 1590693 ] ID3v2 tag not writing, [ 1636267 ] ID3v2 tags overwritten
+	      If the output file is opened 'write-only', then LAME can't update the LAME tag.
+	      In this case LAME silently overwrote the first bytes of the file and an
+	      optional ID3v2 tag disappeared. Now an error message will be printed and
+	      no data is written in this case.
+
+2007-06-23 18:43  robert
+
+	* libmp3lame/: id3tag.c, util.c, util.h:
+
+	fixing another possible memory leak
+
+2007-06-23 17:39  robert
+
+	* frontend/main.c, frontend/parse.c, libmp3lame/id3tag.c,
+	  libmp3lame/id3tag.h, libmp3lame/util.c, libmp3lame/version.h:
+
+	Some simplifications on ID3 tag usage:
+	- specifying an unlisted ID3v1 genre does not count as an error anymore, it is mapped to "Other" and passed as-is to an ID3v2 genre tag
+	- an ID3 track argument is passed directly to an ID3v2 TRCK tag, allowing for example "002/012"
+
+2007-06-23 15:16  robert
+
+	* libmp3lame/: id3tag.c, util.c:
+
+	Now ID3 tag are local copies of given parameters. This allows to pass strings located on the program stack and you don't have to think about the lifetime of your strings you pass as arguments.
+
+2007-06-23 13:27  robert
+
+	* libmp3lame/util.c:
+
+	Bug fix: Nyaochi's "ID3v2 extension" patches introduced some memory leaks
+
+2007-06-04 22:31  robert
+
+	* doc/html/history.html:
+
+	ups: moved history entry "TLEN bug" up into correct list
+
+2007-06-04 22:25  robert
+
+	* doc/html/history.html:
+
+	added: bugfix TLEN computation
+
+2007-06-04 22:04  robert
+
+	* libmp3lame/id3tag.c:
+
+	bug fix: [ 1730875 ] TLEN calculation wrong
+	fixing the calculation of "playlength in ms" written into the ID3v2 tag TLEN
+
+2007-05-25 03:38  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	VBR_NEW: more tuned 'out of bits' strategy
+
+2007-05-24 13:26  bouvigne
+
+	* doc/html/contributors.html, doc/html/history.html,
+	  doc/html/id3.html, doc/man/lame.1, frontend/parse.c:
+
+	support for total tracks count in the frontend (id3 tags)
+
+2007-05-24 13:10  bouvigne
+
+	* libmp3lame/id3tag.c:
+
+	adding a total track count should add an id3 V2 tag
+
+2007-05-24 12:58  bouvigne
+
+	* doc/html/history.html, doc/html/id3.html, frontend/main.c,
+	  frontend/parse.c, frontend/parse.h, include/lame.h,
+	  libmp3lame/id3tag.c, libmp3lame/id3tag.h:
+
+	Albumart (APIC ID3v2.3 frame) patch by Nyaochi
+
+2007-05-24 12:29  bouvigne
+
+	* doc/html/contributors.html, doc/html/history.html,
+	  doc/html/id3.html, frontend/parse.c, include/lame.h,
+	  libmp3lame/id3tag.c, libmp3lame/id3tag.h:
+
+	Ability to set user-defined ID3v2.3 frame (patch from Nyaochi)
+
+2007-05-23 14:44  bouvigne
+
+	* doc/html/: contributors.html, history.html, index.html:
+
+	Updated history
+
+2007-05-22 10:10  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, version.h:
+
+	ok, now the real bug fix, forget the last commit:
+	the ABR routine did not apply format specific bitrate constrains when allocating bits; now it does
+
+2007-05-22 08:39  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c:
+
+	bug fix: reduce side was given a too large 'max bits' parameter, resulting in assertion aborts
+
+2007-05-21 22:20  robert
+
+	* libmp3lame/: lame.c, util.c, util.h:
+
+	bug fix for feature request:
+	"adjust user min/max bitrate if outside of allowed range (ex: -V9 -B320)
+	Requested by Benski"
+
+	Some input files with unusual sample frequencies couldn't be encoded at CBR anymore, no matter what resample/bitrate options where passed to LAME.
+	(Testsample: FX319.WAV)
+
+2007-05-20 18:07  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, util.h, vbrquantize.c,
+	  version.h:
+
+	VBR_NEW: 'out of bits' situation improved
+
+2007-05-17 22:25  robert
+
+	* ACM/ACM.cpp, libmp3lame/VbrTag.c:
+
+	Bugs item #1693461: fixing memory leaks in LAME ACM
+
+2007-05-16 02:43  robert
+
+	* libmp3lame/version.h:
+
+	we are now at 3.98 beta 1 (of many more to come)
+
+2007-05-16 01:30  robert
+
+	* frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/set_get.c,
+	  libmp3lame/util.h, libmp3lame/vbrquantize.c:
+
+	- some code clean-up
+	- bug fix: in rare cases 'on_pe' returned target bits violating the 4095 bit
+	  maximum constrain for a granule
+	- VBR-NEW: modified strategy to handle 'out of bits' cases
+
+2007-05-13 18:31  robert
+
+	* libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, encoder.c,
+	  id3tag.c, lame_global_flags.h, util.h, version.h:
+
+	bug fix: [ 1711980 ] LAME writes invalid Xing header when ID3 tags exist
+
+2007-03-12 21:56  bouvigne
+
+	* libmp3lame/util.c:
+
+	adjust user min/max bitrate if outside of allowed range (ex: -V9 -B320)
+
+	Requested by Benski
+
+2007-01-13 18:02  robert
+
+	* libmp3lame/util.h:
+
+	bug fix.
+	bug tracker entry: [ 1634092 ] encoder.c doesn't compile with --disable-brhist
+
+2007-01-13 17:58  robert
+
+	* libmp3lame/: encoder.c, lame.c:
+
+	bug fix.
+	bug tracker entry: [ 1634092 ] encoder.c doesn't compile with --disable-brhist
+
+2007-01-09 23:10  robert
+
+	* Makefile.unix:
+
+	adding vector/xmm_quantize_sub.c
+
+2007-01-09 22:24  bouvigne
+
+	* libmp3lame/libmp3lame_vc8.vcproj:
+
+	directory x86_64 -> vector
+
+2007-01-09 12:02  aleidinger
+
+	* libmp3lame/: lame.c, mpglib_interface.c, psymodel.c:
+
+	fix the easy warnings
+
+2007-01-09 10:31  aleidinger
+
+	* libmp3lame/quantize.c:
+
+	include the right intrinsics header and only if we need it
+
+2007-01-09 10:29  aleidinger
+
+	* Makefile.MSVC:
+
+	use the code in the vector directory
+
+2007-01-09 10:25  aleidinger
+
+	* Makefile.in, ACM/Makefile.in, ACM/ADbg/Makefile.in,
+	  ACM/ddk/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in,
+	  debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in,
+	  doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in,
+	  include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, mac/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in, configure:
+
+	regen
+
+2007-01-09 10:23  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	the quoting does not work out as expected, remove it
+
+2007-01-09 10:22  aleidinger
+
+	* libmp3lame/: lame.c, quantize.c:
+
+	remove the CPUCCODE check, it is not needed anymore
+
+2007-01-09 10:21  aleidinger
+
+	* config.h.in:
+
+	regen
+
+2007-01-09 10:20  aleidinger
+
+	* configure.in:
+
+	Use the vector lib on amd64 and x86.
+
+	This only works with gcc when -msse is specified in CFLAGS at configure
+	time. Currently I get a sigbus with gcc 3.4.6 with the vector lib.
+
+	Remove the HAVE_GTK define, it is not used anymore.
+
+2007-01-09 10:18  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	add the vector lib and remove the x86_64 part
+
+2007-01-09 10:15  aleidinger
+
+	* libmp3lame/vector/: Makefile.am, Makefile.in, lame_intrin.h,
+	  xmm_quantize_sub.c:
+
+	this is a copy of the x86_64 parts with modified automake stuff
+
+2007-01-07 21:28  robert
+
+	* Makefile.MSVC:
+
+	do not build legacy BLame DLL on make target all
+
+2007-01-07 20:00  aleidinger
+
+	* libmp3lame/i386/Makefile.in:
+
+	regen
+
+2007-01-07 20:00  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	fftsse.nas is used now.
+
+2007-01-07 18:03  robert
+
+	* lame_vc6.dsw, frontend/lame_vc6.dsp, frontend/mp3x_vc6.dsp,
+	  libmp3lame/libmp3lame_dll_vc6.dsp, libmp3lame/libmp3lame_vc6.dsp,
+	  mpglib/mpglib_vc6.dsp:
+
+	VC6 project files updated, added project to generate Libmp3lame-dynamic.lib/dll
+
+2007-01-07 14:51  robert
+
+	* Makefile.MSVC:
+
+	Makefile with some basic Libmp3lame-dynamic.lib generation ability
+
+2007-01-07 14:31  robert
+
+	* include/lame.def:
+
+	export definition for Libmp3lame-dynamic.lib
+
+2007-01-07 14:30  robert
+
+	* libmp3lame/fft.c, Makefile.unix, frontend/parse.c,
+	  include/lame.h, libmp3lame/lame.c, mpglib/mpg123.h:
+
+	adding FFTSSE assembler code to the HAVE_NASM conditional code
+
+2007-01-07 14:28  robert
+
+	* .cvsignore, lame_clients_vc6.dsw, frontend/.cvsignore:
+
+	collecting all LAME client projects in lame_clients_vc6.dsw workspace.
+
+2007-01-07 14:24  robert
+
+	* dshow/: dshow.dsp, README:
+
+	DirectShow Filter links against Libmp3lame-dynamic.lib now
+
+2007-01-07 14:23  robert
+
+	* Dll/LameDll_vc6.dsp:
+
+	BLAME DLL links against Libmp3lame-dynamic.lib now
+
+2007-01-07 14:21  robert
+
+	* ACM/: lameACM_vc6.dsp, ADbg/ADbg.dsp, tinyxml/tinyxml.dsp:
+
+	ACM links against Libmp3lame-dynamic.lib now
+
+2006-12-28 21:56  robert
+
+	* Dll/BladeMP3EncDLL.c:
+
+	we are now at 3.98a11
+
+2006-12-28 21:49  robert
+
+	* dshow/dshow.dsp:
+
+	we are now at 3.98a11
+
+2006-12-28 21:44  robert
+
+	* libmp3lame/version.h:
+
+	we are now at 3.98a11
+
+2006-12-28 21:41  robert
+
+	* doc/html/history.html:
+
+	update history
+
+2006-12-28 20:41  robert
+
+	* dshow/: Encoder.cpp, Encoder.h, Property.rc, dshow.dsp,
+	  dshow.dsw:
+
+	DirectShow filter uses LAME Library API now
+
+2006-12-27 22:19  robert
+
+	* libmp3lame/reservoir.c:
+
+	small change in the bitreservoir handling, enable the old
+	--strictly-enforce-ISO switch again
+
+2006-12-27 22:09  robert
+
+	* doc/html/history.html:
+
+	updating history entries
+
+2006-12-25 21:37  robert
+
+	* ACM/: ACM.cpp, ACM.h, ACMStream.cpp, ACMStream.h,
+	  AEncodeProperties.cpp, DecodeStream.h, acm.rc, lameACM_vc6.dsp,
+	  main.cpp:
+
+	some changes, now I can compile the ACM stuff at least
+
+2006-12-25 16:15  robert
+
+	* libmp3lame/reservoir.c:
+
+	relaxing the FhG bitreservoir restriction a little bit:
+	at 320 kbps it seems to be possible to use the reservoir if we limit it to almost the size of bits used for sideinfo
+
+2006-12-21 09:15  aleidinger
+
+	* Makefile.in, ACM/Makefile.in, Dll/Makefile.in,
+	  debian/Makefile.in, doc/Makefile.in, dshow/Makefile.in,
+	  frontend/Makefile.in, ACM/ADbg/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, mac/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in, ACM/ddk/Makefile.in, ACM/tinyxml/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in,
+	  libmp3lame/i386/Makefile.in, configure:
+
+	regen
+
+2006-12-21 09:14  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	Handle CPU specific C code in a generic way.
+
+2006-12-21 09:09  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	Quote some parts in case directory names contain spaces.
+
+2006-12-21 09:07  aleidinger
+
+	* aclocal.m4, config.h.in:
+
+	regen
+
+2006-12-21 09:04  aleidinger
+
+	* configure.in:
+
+	Additional stuff for x86_64. First cut...
+
+2006-12-21 09:03  aleidinger
+
+	* acinclude.m4:
+
+	Properly quote some parts according to the new rules auf aclocal.
+
+2006-12-21 09:00  aleidinger
+
+	* libmp3lame/: lame.c, quantize.c:
+
+	On x86 we also have the xmmintrin header, but we don't use such code there.
+	So not only check for the header, but also for a CPUCCODE define. This may
+	be refined later depending on further inline C code showing up or not.
+
+2006-12-21 02:18  robert
+
+	* libmp3lame/: machine.h, version.h:
+
+	we are now at patch level 10
+
+2006-12-21 02:17  robert
+
+	* libmp3lame/psymodel.c:
+
+	fixing some divide by zero error
+
+2006-12-20 00:17  robert
+
+	* frontend/: get_audio.c, parse.c:
+
+	let LAME be more strict when it comes to unrecognized program options or unsupported input file formats
+
+2006-12-19 18:50  bouvigne
+
+	* libmp3lame/libmp3lame_vc8.vcproj:
+
+	include paths
+
+2006-12-19 01:23  robert
+
+	* frontend/parse.c:
+
+	add some help text entries
+
+2006-12-19 01:23  robert
+
+	* libmp3lame/lame.c:
+
+	disabling temporal masking effect by default for vbr-mtrh, it works against other tunings in this mode
+
+2006-12-18 23:11  robert
+
+	* libmp3lame/psymodel.c:
+
+	fixing some index problems in convolution loops
+
+2006-12-17 23:21  robert
+
+	* libmp3lame/version.h:
+
+	we are at 3.98 alpha 9
+
+2006-12-17 21:16  robert
+
+	* libmp3lame/psymodel.c:
+
+	fixing two possible out of range index errors accessing fftenergy array
+	for GPSYCHO too
+
+2006-12-17 20:53  robert
+
+	* libmp3lame/: psymodel.c, util.h:
+
+	fixing two possible out of range index errors accessing fftenergy array
+
+	convert partition to scalefac:
+	as we replaced ISO tables with own calculations we forgot to add proper
+	weightening for the convolution band where the transition from one scalefactor
+	to th next scalefactor happens. Now added.
+
+2006-12-17 20:49  robert
+
+	* libmp3lame/bitstream.c:
+
+	assert didn't match valid input range: bitrate 8 - 640 kbps
+
+2006-12-15 22:16  robert
+
+	* libmp3lame/version.h:
+
+	we are now at 3.98 alpha 8
+
+2006-12-15 22:15  robert
+
+	* libmp3lame/psymodel.c:
+
+	2 bug fixes
+	a) in some cases we did access uninitialized data in conversion from partition bands to scalefac bands
+	b) in nsspy-code the conversion from partition to scalefac bands for short blocks did not match the long block case, nor gpsycho.
+
+2006-12-07 10:50  robert
+
+	* frontend/main.c, libmp3lame/util.c:
+
+	disabling the "process affinity kludge"
+
+2006-11-27 20:28  robert
+
+	* libmp3lame/lame.c:
+
+	- removed unused function parameter nVbrScale in function PutVbrTag
+
+2006-11-20 20:02  robert
+
+	* libmp3lame/: VbrTag.c, VbrTag.h:
+
+	- removed unused function parameter nVbrScale in function PutVbrTag
+	- reduced compilation warnings
+
+2006-11-15 02:25  robert
+
+	* libmp3lame/lame.c:
+
+	bug fix: [ 1596306 ] lame 3.97: "fatal error during initialization" with this wav
+
+	an invalid MPEG samplerate was returned by optimum_samplefreq function
+
+2006-11-15 02:21  robert
+
+	* Makefile.MSVC, libmp3lame/quantize.c:
+
+	fixing compile problem with quantize_sub.c
+
+2006-11-12 11:44  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2006-11-11 17:58  bouvigne
+
+	* libmp3lame/: libmp3lame_vc8.vcproj, quantize.c:
+
+	intrinsics functions are now in a separate directory (as in v4)
+
+2006-11-11 17:32  bouvigne
+
+	* frontend/mp3x_vc8.vcproj:
+
+	bring back mp3x to life (vc8)
+
+2006-11-11 17:14  bouvigne
+
+	* README.WINGTK, lame_vc8.sln, Dll/LameDll_vc8.vcproj,
+	  frontend/lame_vc8.vcproj, libmp3lame/libmp3lame_vc8.vcproj,
+	  mpglib/mpglib_vc8.vcproj:
+
+	bring back mp3x to life (vc8)
+
+2006-11-08 01:53  robert
+
+	* frontend/: get_audio.c, main.c, main.h, parse.c:
+
+	feature request: [ 1588283 ] Flushing output stream in lame.exe
+
+	'flush' option added
+
+2006-11-07 01:35  robert
+
+	* libmp3lame/: gain_analysis.c, id3tag.c, lame_global_flags.h,
+	  util.c:
+
+	fixing some compiler warnings, removing some unused lame_global_flags elements
+
+2006-11-07 00:36  robert
+
+	* libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/quantize.c, frontend/parse.c, libmp3lame/VbrTag.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h:
+
+	removing dead code:
+	side channel sparsing didn't work as hoped
+
+2006-11-06 22:39  robert
+
+	* frontend/: brhist.c, get_audio.c, parse.c:
+
+	eliminating some compiler warnings
+
+2006-11-05 18:54  robert
+
+	* frontend/console.c:
+
+	bug tracker item:
+	[ 1585942 ] lame not --silent when TERM not set
+
+	in case LAME was build with TERMCAP defined and no TERM environment is
+	defined, now we do not issue an error message and silently fallback to the default
+	behaviour as if LAME was compiled without TERMCAP defined.
+
+2006-11-05 17:49  robert
+
+	* frontend/timestatus.c:
+
+	include string header file added
+	unused variable removed in encoder_progress_end
+
+2006-11-05 16:08  robert
+
+	* frontend/: main.c, timestatus.c, timestatus.h:
+
+	refactoring progress display code out of encoding loop
+	it's located in timestatus.c now
+
+	Windows specific:
+	fixed parameter type for SetProcessAffinityMask
+	Gabriel: do we need similar things for Win64 too?
+
+2006-11-05 13:37  robert
+
+	* frontend/console.c:
+
+	dead code removed
+
+2006-11-05 02:30  robert
+
+	* libmp3lame/libmp3lame_vc8.vcproj:
+
+	using fftsse.nas
+
+2006-11-05 01:55  robert
+
+	* Makefile.MSVC:
+
+	using fftsse.nas
+
+2006-11-04 18:59  robert
+
+	* Makefile.MSVC, Makefile.unix, frontend/parse.c, libmp3lame/fft.c,
+	  libmp3lame/lame.c, libmp3lame/version.h,
+	  libmp3lame/i386/fft3dn.nas, libmp3lame/i386/fftsse.nas,
+	  libmp3lame/i386/nasm.h:
+
+	we are now at patch level 7
+
+	changes in lame frontend switches
+	-k removed,
+	        call lowpass and highpass if you need to change them
+	--short/noshort/allshort - degraded into DEVELOPER ONLY switches
+	        normal users shouldn't use them
+	-X -Z degraded to DEVELOPER ONLY switches
+	        -X is too tough to communicate to end users
+	        -Z isn't used actualy
+
+	fft3dnow and fftsse nasm code taken from LAME4 branch
+	but not added to the configure stuff/VC project files
+
+2006-10-18 20:29  bouvigne
+
+	* Dll/LameDll_vc8.vcproj:
+
+	added back the .def config
+
+2006-10-05 21:07  bouvigne
+
+	* libmp3lame/lame.c:
+
+	error in a test (noticed by Robert)
+
+2006-09-30 19:55  kylev
+
+	* lame.spec.in:
+
+	we distribute a .gz, not a .bz2, and there really isn't a public URL for the file
+
+2006-09-30 15:35  aleidinger
+
+	* configure.in:
+
+	Only check for sndfile if it is requested.
+
+2006-09-30 15:35  aleidinger
+
+	* Makefile.in, Dll/Makefile.in, frontend/Makefile.in,
+	  libmp3lame/Makefile.in, mpglib/Makefile.in, configure:
+
+	regen
+
+2006-09-30 09:17  bouvigne
+
+	* Makefile.am, Dll/Makefile.am, frontend/Makefile.am,
+	  libmp3lame/Makefile.am, mpglib/Makefile.am:
+
+	updated the .am files to change vc7 to vc8
+
+2006-09-24 16:17  bouvigne
+
+	* doc/html/history.html:
+
+	updated history
+
+2006-09-23 22:02  bouvigne
+
+	* libmp3lame/version.h (lame3_97):
+
+	3.97 release
+
+2006-09-23 21:46  bouvigne
+
+	* doc/html/history.html:
+
+	release 3.97
+
+2006-09-23 19:30  aleidinger
+
+	* configure:
+
+	regen
+
+2006-09-23 19:29  aleidinger
+
+	* config.h.in, configure.in:
+
+	check for xmmintrin.h
+
+2006-09-23 08:42  bouvigne
+
+	* configMS.h (lame3_97):
+
+	borland config (from main branch)
+
+2006-09-23 08:25  bouvigne
+
+	* Dll/: BladeMP3EncDLL.c (lame3_97), BladeMP3EncDLL.c:
+
+	fix in boolean comparison for Delphi progs (bug #1536751)
+
+2006-09-23 08:01  bouvigne
+
+	* doc/html/: history.html, index.html (lame3_97):
+
+	3.97
+
+2006-09-22 19:18  aleidinger
+
+	* ChangeLog:
+
+	update from CVS history
+
+2006-09-22 18:51  aleidinger
+
+	* configMS.h:
+
+	Borland C seems to follow the lead of MSC.
+
+	Bug ID:	1563522
+
+2006-09-10 14:25  bouvigne
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/tables.c,
+	  libmp3lame/util.c:
+
+	restrict mpeg 2.5 to 64kbps
+
+2006-09-03 15:07  bouvigne
+
+	* lame_vc7.sln, Dll/LameDll_vc7.vcproj, frontend/lame_vc7.vcproj,
+	  frontend/mp3x_vc7.vcproj, libmp3lame/libmp3lame_vc7.vcproj,
+	  mpglib/mpglib_vc7.vcproj:
+
+	removed unmaintained VC7 project files
+
+2006-08-18 18:22  bouvigne
+
+	* doc/html/history.html, libmp3lame/psymodel.c,
+	  libmp3lame/version.h (lame3_97):
+
+	backported the workaround against short block detection issue
+
+2006-08-06 16:44  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	update ATH adjustment algorithm.
+	- if the block type is short, do not use ATH adjustment with equal pressure
+	  curve, because the curve is not exact for impulse-like signal.
+
+2006-07-30 13:53  bouvigne
+
+	* configMS.h, libmp3lame/util.c:
+
+	enable SSE code when using x64
+
+2006-07-30 09:51  bouvigne
+
+	* lame_vc8.sln, Dll/LameDll_vc8.vcproj, frontend/lame_vc8.vcproj,
+	  libmp3lame/libmp3lame_vc8.vcproj, mpglib/mpglib_vc8.vcproj:
+
+	x64 builds
+
+2006-07-30 09:32  bouvigne
+
+	* Dll/LameDll_vc8.vcproj:
+
+	updated project
+
+2006-07-30 09:11  bouvigne
+
+	* lame_vc8.sln, Dll/LameDll_vc8.vcproj:
+
+	added lame DLL VC8 project
+
+2006-07-14 16:06  bouvigne
+
+	* lame_vc8.sln, frontend/lame_vc8.vcproj,
+	  libmp3lame/libmp3lame_vc8.vcproj, mpglib/mpglib_vc8.vcproj:
+
+	VC8 projects
+
+2006-07-14 15:58  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	slight change in the short block detection safety threshold
+
+2006-06-28 23:05  robert
+
+	* libmp3lame/lame.c:
+
+	full outer loop search disabled because of audible distortions it may generate
+
+2006-06-28 21:05  robert
+
+	* libmp3lame/psymodel.c:
+
+	normalizing the spreading function (vbr-new)
+
+2006-06-24 15:19  robert
+
+	* libmp3lame/: lame.c, quantize_pvt.c, version.h:
+
+	enabling the conditional RH_ATHAA_FIX code for vbr-new
+	we are now at patch level 6
+
+2006-06-24 01:57  robert
+
+	* libmp3lame/: lame.c, quantize_pvt.c:
+
+	tuning ATHAA_FIX for high quality VBR new presets
+
+2006-06-23 23:40  robert
+
+	* libmp3lame/: lame.c, quantize.c, quantize_pvt.c, vbrquantize.c:
+
+	tuning ATHAA_FIX for midrange VBR new presets
+
+2006-06-23 23:09  robert
+
+	* libmp3lame/machine.h:
+
+	always compile in assertions for alpha builds
+
+2006-06-23 23:06  robert
+
+	* Makefile.MSVC:
+
+	updating LibSndFile support, it's used by default now
+
+2006-06-23 20:52  aleidinger
+
+	* libmp3lame/version.h:
+
+	bump the patchlevel for the updated sndfile support
+
+2006-06-23 20:49  aleidinger
+
+	* doc/html/history.html:
+
+	document the updated libsndfile support
+
+2006-06-23 20:46  aleidinger
+
+	* Makefile.in, aclocal.m4, configure, ACM/Makefile.in,
+	  ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in:
+
+	regen
+
+2006-06-23 20:40  aleidinger
+
+	* frontend/get_audio.c, configure.in, frontend/Makefile.am:
+
+	Add support for a recent sndfile library.
+
+	Submitted by:	Erik de Castro Lopo <erikd@mega-nerd.com> (sndfile author)
+
+2006-06-18 23:02  robert
+
+	* libmp3lame/lame.c:
+
+	developer only switch "--tune x" mow modifies current mask_adjust settings
+	instead of assigning x to it
+
+2006-06-18 21:32  robert
+
+	* Makefile.unix, libmp3lame/quantize.h:
+
+	adding RH_TEST_ATHAA_FIX to the Makefile config RH
+	matching declaration and implementation of trancate_smallsspectrums
+
+2006-06-18 20:49  robert
+
+	* libmp3lame/bitstream.c:
+
+	fixing asserts
+
+2006-06-18 20:48  robert
+
+	* libmp3lame/psymodel.c:
+
+	bugfix: in NSPSY highpass filter, out of bounds access in fircoef
+	bugfix: loss of fraction in equal loudness weighting
+
+2006-06-18 19:20  robert
+
+	* libmp3lame/quantize_pvt.c:
+
+	small update to the ATHAA problem fix
+
+2006-06-18 18:16  robert
+
+	* Makefile.MSVC, libmp3lame/machine.h, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/reservoir.c:
+
+	trying to fix ATHAA problem for low volume files
+	to enable the code, one has to define RH_TEST_ATHAA_FIX at compile time
+
+2006-06-18 16:45  robert
+
+	* frontend/gtkanal.c:
+
+	needs console.h
+
+2006-06-18 16:44  robert
+
+	* libmp3lame/bitstream.c:
+
+	fixed assertion
+
+2006-06-16 00:16  robert
+
+	* libmp3lame/quantize.c, libmp3lame/util.h, mpglib/interface.c:
+
+	few more include dependencies sorted
+
+2006-06-15 23:51  robert
+
+	* frontend/gtkanal.c, frontend/mp3x.c, libmp3lame/VbrTag.c,
+	  libmp3lame/VbrTag.h, libmp3lame/bitstream.c,
+	  libmp3lame/bitstream.h, libmp3lame/encoder.c,
+	  libmp3lame/encoder.h, libmp3lame/fft.c, libmp3lame/fft.h,
+	  libmp3lame/gain_analysis.c, libmp3lame/gain_analysis.h,
+	  libmp3lame/id3tag.c, libmp3lame/id3tag.h, libmp3lame/l3side.h,
+	  libmp3lame/lame-analysis.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/lameerror.h,
+	  libmp3lame/machine.h, libmp3lame/mpglib_interface.c,
+	  libmp3lame/newmdct.c, libmp3lame/newmdct.h, libmp3lame/presets.c,
+	  libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/reservoir.c, libmp3lame/reservoir.h,
+	  libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/tables.c,
+	  libmp3lame/tables.h, libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/util.h, libmp3lame/vbrquantize.c,
+	  libmp3lame/version.c, libmp3lame/version.h, mpglib/interface.c,
+	  mpglib/layer3.c, mpglib/mpglib.h:
+
+	some more header dependencies, indentation
+
+2006-06-15 23:07  robert
+
+	* libmp3lame/: VbrTag.h, bitstream.c, bitstream.h, encoder.c,
+	  encoder.h, fft.c, fft.h, gain_analysis.c, gain_analysis.h,
+	  lame.c, libmp3lame_vc6.dsp, machine.h, mpglib_interface.c,
+	  newmdct.c, presets.c, psymodel.c, psymodel.h, quantize.c,
+	  quantize.h, quantize_pvt.c, quantize_pvt.h, reservoir.c,
+	  reservoir.h, tables.c, takehiro.c, util.c, util.h, vbrquantize.c,
+	  vbrquantize.h, version.c, version.h:
+
+	making arguments and variables const where possible
+
+2006-06-15 16:03  robert
+
+	* libmp3lame/: VbrTag.c, VbrTag.h, bitstream.c, bitstream.h,
+	  encoder.c, encoder.h, fft.c, fft.h, gain_analysis.h, id3tag.c,
+	  id3tag.h, l3side.h, lame-analysis.h, lame.c, lame_global_flags.h,
+	  machine.h, mpglib_interface.c, newmdct.c, presets.c, psymodel.c,
+	  psymodel.h, quantize.c, quantize.h, quantize_pvt.c,
+	  quantize_pvt.h, reservoir.c, set_get.c, set_get.h, tables.c,
+	  tables.h, takehiro.c, util.c, util.h, vbrquantize.c, version.c:
+
+	tried to avoid includes within include headers to make dependencies more obvious
+
+2006-06-03 13:34  aleidinger
+
+	* ChangeLog:
+
+	Add nearly a year of history.
+
+2006-06-03 13:14  aleidinger
+
+	* doc/html/history.html:
+
+	add todays history
+
+2006-06-03 13:12  aleidinger
+
+	* ltconfig, mkinstalldirs, stamp-h.in:
+
+	Remove obsolete files (at least after the use of the new autotools,
+	they are not created anymore).
+
+2006-06-03 13:11  aleidinger
+
+	* configure, config.h.in:
+
+	Update to:
+	 - libtool 1.5.22
+	 - automake 1.9
+	 - autoconf 2.59
+
+2006-06-03 13:07  aleidinger
+
+	* libmp3lame/i386/Makefile.am, Makefile.am.global, configure.in,
+	  aclocal.m4, ltmain.sh, Makefile.in, ACM/Makefile.in,
+	  ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in:
+
+	Update to:
+	 - libtool 1.5.22
+	 - automake 1.9
+	 - autoconf 2.59
+
+2006-06-03 13:03  aleidinger
+
+	* libmp3lame/lame.c:
+
+	- Fix bug introduced in last revision.
+	- Don't segfault in lame_close() in case of an error on initialisation.
+
+2006-06-03 11:41  aleidinger
+
+	* libmp3lame/lame.c:
+
+	Plug some memory leaks in the error case.
+
+	Noticed by:	Christophe Fergeau <teuf@users.sf.net>
+	SF-Bug:		1443630
+
+2006-06-03 11:05  aleidinger
+
+	* lame.spec.in:
+
+	- Remove requirements for specific gcc versions, since modern ones "just work".
+	- Remove out-dated hyper-optimizations (some of which weren't valid compiler
+	  flags anymore).
+	- Update to current RPM techniques and macros (inspired by freshrpms.net spec).
+
+	Submitted by:	Kyle VanderBeek <kylev@kylev.com>
+	SF-Patch:	1488468
+
+2006-05-04 19:50  bouvigne
+
+	* libmp3lame/: reservoir.c, version.h:
+
+	restrict max mp3 buf to solve compatibility issue with FhG directshow filter
+
+2006-05-04 19:43  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	attack detection: workaround against "low freq" periodic signals (like trumpet)
+
+2006-04-16 12:18  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2006-04-16 09:02  takehiro
+
+	* configure.in:
+
+	better socket library configuration.
+
+2006-04-16 08:23  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	better socket function configuration.
+
+2006-04-16 07:06  takehiro
+
+	* config.h.in, configure.in:
+
+	remove winsock check. It seems we do not need it anymore.
+
+2006-04-09 16:12  takehiro
+
+	* libmp3lame/.cvsignore (takehiro-2002_05_07-experimental):
+
+	ignore pkgconfig file.
+
+2006-04-09 16:11  takehiro
+
+	* Makefile.in, configure, configure.in, testcase.mp3,
+	  ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/libmp3lame.pc.in,
+	  libmp3lame/i386/Makefile.in, mac/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in (takehiro-2002_05_07-experimental):
+
+	prepare for pkgconfig support
+
+2006-04-08 11:57  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	tirivial hack of huffman coding with ESC code.
+
+2006-04-08 11:54  takehiro
+
+	* libmp3lame/: machine.h, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	add alignment macro for not gcc environment
+
+2006-04-08 09:08  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	supress magic numbers
+
+2006-04-08 07:46  takehiro
+
+	* mpglib/: common.c, interface.c
+	  (takehiro-2002_05_07-experimental):
+
+	suppress warnings
+
+2006-04-08 07:46  takehiro
+
+	* libmp3lame/: lame.c, set_get.c, set_get.h, tags.c
+	  (takehiro-2002_05_07-experimental):
+
+	supress warnings
+
+2006-04-08 07:45  takehiro
+
+	* frontend/: gtkanal.c, mp3x.c (takehiro-2002_05_07-experimental):
+
+	supress singed/unsigned warnings with gcc4.x
+
+2006-04-08 07:45  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	add one more warning option
+
+2006-04-08 07:44  takehiro
+
+	* doc/html/id3.html (takehiro-2002_05_07-experimental):
+
+	fix typos
+
+2006-04-08 07:16  takehiro
+
+	* libmp3lame/: bitstream.c, gain_analysis.c, quantize.c, util.c,
+	  util.h (takehiro-2002_05_07-experimental):
+
+	fix singed/unsigned warning with gcc4.x
+
+2006-04-08 07:14  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix alignment error when gcc4.x with SSE enabled build
+
+2006-04-08 07:13  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	fix typos in genre list.
+	suppress signed/unsigned warining with gcc4.x
+
+2006-04-08 07:12  takehiro
+
+	* libmp3lame/id3tag.c:
+
+	fix genre tag spelling as reported by CrazySoul <hicrazysoul at gmail com>
+
+2006-04-08 07:08  takehiro
+
+	* doc/html/id3.html:
+
+	fix spelling as reported by CrazySoul <hicrazysoul at gmail com>
+
+2006-02-18 16:35  takehiro
+
+	* frontend/get_audio.c:
+
+	remove redundant description.
+
+2006-02-18 16:35  takehiro
+
+	* frontend/main.c:
+
+	fix decoding problem when the output is stdout, reported by john.edwards33
+	(sf.net bugid #1430719)
+
+2006-02-03 06:52  vitaly-ivanov
+
+	* dshow/README:
+
+	typo fix
+
+2006-02-02 21:04  robert
+
+	* frontend/parse.c (lame3_97):
+
+	"console_printf" replaced by "printf"
+
+2006-01-30 15:41  takehiro
+
+	* frontend/get_audio.c:
+
+	fix error message when unsupported format AIFF file.
+	(related bugid #1414515,
+	http://sourceforge.net/tracker/index.php?func=detail&aid=1414515&group_id=290&atid=100290
+	)
+
+2006-01-22 17:52  robert
+
+	* include/lame.h, libmp3lame/encoder.c, libmp3lame/lame-analysis.h,
+	  libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/reservoir.c, libmp3lame/util.h, libmp3lame/version.h:
+
+	bug fixes: psy code used long block ATH in short block case
+	workaround: quantization routines of new vbr code failed on strong tonal
+	samples, due to over optimistic masking promises from psy model
+
+2006-01-21 16:39  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, main.c, parse.c
+	  (takehiro-2002_05_07-experimental):
+
+	prepare for RIFF-wave MP3 file.
+
+2006-01-21 16:29  takehiro
+
+	* libmp3lame/id3tag.c (lame3_97):
+
+	backport of rev 1.28
+	- patch #1379187, "id3tag_write_v2 doesn't allocate enough memory for track"
+
+2006-01-21 13:10  takehiro
+
+	* libmp3lame/id3tag.c:
+
+	patch #1379187, "id3tag_write_v2 doesn't allocate enough memory for track"
+
+2005-12-21 21:40  robert
+
+	* frontend/: parse.c (lame3_97), parse.c:
+
+	bug fix: implementation of the priority commandline switch did not what
+	the documentation says (windows only)
+
+2005-12-18 18:49  robert
+
+	* frontend/: brhist.c, main.c (lame3_97):
+
+	fixing some display glitch for very long input files
+
+2005-12-18 18:39  robert
+
+	* Makefile.unix, configMS.h (lame3_97):
+
+	fixing some gcc 4.0.2 compiler issues to get LAME compiled again
+
+2005-12-18 18:26  robert
+
+	* frontend/brhist.c:
+
+	fixing display glitch with very long files
+
+2005-12-05 15:57  takehiro
+
+	* libmp3lame/id3tag.c:
+
+	fix id3v2 genre tag problem, reported by wylda@volny.
+	now LAME won't crash with "--id3v2-only --tg 14".
+
+2005-11-29 21:21  robert
+
+	* frontend/: mp3rtp.c, mp3x.c:
+
+	commit was pending, needed for John33's decoding patch
+
+2005-11-29 19:49  robert
+
+	* doc/html/history.html:
+
+	updating history
+
+2005-11-28 10:09  vitaly-ivanov
+
+	* dshow/: Encoder.h, Mpegac.cpp, Mpegac.h, PropPage.cpp,
+	  PropPage.h, PropPage_adv.cpp, PropPage_adv.h, Property.rc,
+	  README, iaudioprops.h, resource.h:
+
+	Property page update - moved "set duration" check box to the advanced page, added "allow sample overlap" check box (uncheck it if downstream filter is Avi Mux, otherwise use it for better video/audio synchronization - especially when capturing). Copying terms update (README file)
+
+2005-11-27 15:02  bouvigne
+
+	* libmp3lame/bitstream.c, libmp3lame/encoder.c, libmp3lame/fft.c,
+	  libmp3lame/lame.c, doc/html/history.html, libmp3lame/VbrTag.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/presets.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/reservoir.c, libmp3lame/set_get.c,
+	  libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/vbrquantize.c, doc/man/lame.1, frontend/parse.c:
+
+	merge from 3.97 branch
+
+2005-11-27 14:47  bouvigne
+
+	* doc/html/history.html, libmp3lame/gain_analysis.c (lame3_97):
+
+	hack against replayGain slowness on silent parts
+
+2005-11-27 10:20  bouvigne
+
+	* libmp3lame/VbrTag.c (lame3_97):
+
+	fixed Xing/Info tag parsing
+
+2005-11-26 18:43  bouvigne
+
+	* libmp3lame/version.h (lame3_97):
+
+	3.97b2
+
+2005-11-26 18:43  bouvigne
+
+	* doc/html/history.html (lame3_97):
+
+	history
+
+2005-11-26 18:37  bouvigne
+
+	* libmp3lame/: reservoir.c, set_get.c (lame3_97):
+
+	reinstated bit reservoir for 320kbps
+
+2005-11-26 14:21  bouvigne
+
+	* libmp3lame/presets.c (lame3_97):
+
+	slight change of athaa in V5
+
+2005-11-26 14:19  bouvigne
+
+	* frontend/parse.c (lame3_97):
+
+	restored availability of athaa-sensitivity in command line frontend,
+	as it was available in 3.96 release
+
+2005-11-22 22:15  robert
+
+	* frontend/: console.c, console.h, get_audio.c, get_audio.h,
+	  gtkanal.c, lametime.c, main.c, main.h, parse.c, rtp.c:
+
+	John33's lame decoding fix
+
+2005-11-20 14:25  takehiro
+
+	* libmp3lame/gain_analysis.c (takehiro-2002_05_07-experimental):
+
+	fix built problem on Sun Studio 10, reported by Moinak Ghosh
+
+2005-11-20 14:24  takehiro
+
+	* libmp3lame/gain_analysis.c:
+
+	fix built problem with Sun Studio 10, reported by Moinak Ghosh
+
+2005-11-20 14:08  bouvigne
+
+	* libmp3lame/: VbrTag.c, bitstream.c, encoder.c, fft.c, lame.c,
+	  mpglib_interface.c, newmdct.c, presets.c, psymodel.c, quantize.c,
+	  quantize_pvt.c, reservoir.c, set_get.c, takehiro.c, util.c,
+	  vbrquantize.c (lame3_97):
+
+	updated copyrights
+
+2005-11-12 18:52  bouvigne
+
+	* libmp3lame/gain_analysis.c:
+
+	speedup of silent parts analysis
+
+2005-11-12 18:33  bouvigne
+
+	* doc/html/history.html:
+
+	history from 3.97 branch
+
+2005-11-12 18:21  bouvigne
+
+	* Makefile.MSVC:
+
+	added console.c
+
+2005-11-09 18:56  aleidinger
+
+	* frontend/rtp.c:
+
+	Fix bug #1349332
+
+2005-11-09 18:40  aleidinger
+
+	* libmp3lame/id3tag.c:
+
+	Fix bug #1351021.
+
+2005-11-06 17:41  bouvigne
+
+	* doc/html/history.html, libmp3lame/lame.c, libmp3lame/quantize.c
+	  (lame3_97):
+
+	fixes from main branch
+
+2005-11-05 16:35  aleidinger
+
+	* doc/html/history.html:
+
+	add todays work
+
+2005-11-05 16:20  aleidinger
+
+	* libmp3lame/: id3tag.c, id3tag.h:
+
+	Add support for total number of tracks per album.
+
+	Submitted by:	 Kyle VanderBeek <kylev@users.sourceforge.>
+
+	While I'm here add some abort() calls in case we overflow some arrays
+	(this is only compile tested, so pass me the pointy hat if it fails).
+
+2005-11-05 15:54  aleidinger
+
+	* libmp3lame/id3tag.c:
+
+	Add id3v2 TLEN support.
+
+	Submitted by:	 Linus Walleij <snirkel@users.sourceforge.>
+
+2005-11-05 15:52  aleidinger
+
+	* frontend/console.c:
+
+	some compilers really want the void nowadays...
+
+2005-11-05 15:51  aleidinger
+
+	* frontend/Makefile.in:
+
+	regen
+
+2005-11-05 15:49  aleidinger
+
+	* frontend/console.h:
+
+	make some pseudo prototypes to real prototypes (fixes gcc warnings)
+
+2005-11-05 15:48  aleidinger
+
+	* frontend/Makefile.am:
+
+	console.[ch] is now mandatory, so build it
+
+2005-11-05 15:47  aleidinger
+
+	* include/lame.h:
+
+	remove redundant function prototypes (we need only one prototype)
+
+2005-11-01 20:17  robert
+
+	* frontend/console.c:
+
+	bug fix: FILE pointer may be NULL for DEBUGF
+
+2005-11-01 13:54  robert
+
+	* frontend/: mp3rtp.c, rtp.c:
+
+	getting mp3rtp working again
+
+2005-11-01 13:10  robert
+
+	* frontend/mp3x.c:
+
+	replacing (f)printf by console_printf, error_printf and report_printf. fixes the problem that some messages would be send to stdout instead of stderr. added internal switch '--debug-file <debugfile.txt>', allows to debug the code more comfortably by writing DEBUGF(xyz) at code hot spots.
+
+2005-11-01 13:01  robert
+
+	* frontend/: .indent.pro, amiga_mpega.c, brhist.c, brhist.h,
+	  console.c, console.h, get_audio.c, get_audio.h, gpkplotting.c,
+	  gpkplotting.h, gtkanal.c, gtkanal.h, lame_vc6.dsp,
+	  lame_vc7.vcproj, lametime.c, lametime.h, main.c, main.h,
+	  mp3rtp.c, mp3x.c, mp3x_vc6.dsp, mp3x_vc7.vcproj, parse.c,
+	  parse.h, portableio.c, portableio.h, rtp.c, rtp.h, timestatus.c,
+	  timestatus.h:
+
+	replacing (f)printf by console_printf, error_printf and report_printf. fixes the problem that some messages would be send to stdout instead of stderr. added internal switch '--debug-file <debugfile.txt>', allows to debug the code more comfortably by writing DEBUGF(xyz) at code hot spots.
+
+2005-11-01 12:51  robert
+
+	* Makefile.unix, configMS.h:
+
+	[no log message]
+
+2005-10-31 13:02  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	fixed bug 1227632
+
+2005-10-31 13:01  bouvigne
+
+	* libmp3lame/lame.c:
+
+	fixed bug 1337556
+
+2005-10-31 13:00  bouvigne
+
+	* frontend/main.c:
+
+	spelling of Takehiro's name
+
+2005-10-10 07:05  rbrito
+
+	* COPYING, debian/changelog, debian/copyright, debian/rules,
+	  doc/man/lame.1:
+
+	Updated manpage to include accented characters;
+	Updated debian packaging;
+	Updated documentation to include the new FSF address.
+
+2005-10-01 09:03  takehiro
+
+	* lame.spec.in (takehiro-2002_05_07-experimental):
+
+	update configure options
+
+2005-09-29 21:21  robert
+
+	* libmp3lame/i386/: fft3dn.nas (lame3_97), fft3dn.nas:
+
+	taken from lame4 branch:
+	fix possible link problem on cygwin
+
+2005-09-25 22:09  glessard
+
+	* libmp3lame/quantize.c:
+
+	GCC 4 on OS X was choking on line 615.
+	Given the assignment on line 630, clearly 'work' isn't a pointer to an array
+	of constants anyway.
+
+2005-09-24 10:20  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	suppress warnings for YASM.
+
+2005-09-24 10:20  takehiro
+
+	* libmp3lame/i386/nasm.h (takehiro-2002_05_07-experimental):
+
+	added LINUX detection for non-executable stack suuport.
+
+2005-09-24 09:34  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	simplify drain_into_ancillary()
+
+2005-09-24 08:45  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	small optimization
+
+2005-09-24 08:28  takehiro
+
+	* libmp3lame/newmdct.c (takehiro-2002_05_07-experimental):
+
+	fixed window shape when mixed_block_flag is enabled.
+
+2005-09-24 08:01  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	Now LAME4 does not use MMX when SSE2 is available.
+
+2005-09-24 07:54  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	added TODO as comments
+
+2005-09-22 16:00  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-09-22 15:48  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	fix when without nasm
+
+2005-09-22 14:03  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	i*86-linux detection for NASM code not to mark "exectable stack"
+
+2005-09-22 13:50  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	cache gfc->bitidx value.
+
+2005-09-20 19:51  robert
+
+	* libmp3lame/util.c:
+
+	fix wrong typing
+
+2005-09-20 19:41  robert
+
+	* libmp3lame/: quantize.c, vbrquantize.c, vbrquantize.h:
+
+	moved loop from quantize.c to vbrquantize.c
+
+2005-09-20 19:38  robert
+
+	* libmp3lame/: util.h, util.c:
+
+	malloc with n-bytes alignment
+
+2005-09-20 09:19  robert
+
+	* frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c:
+
+	added internal developer switch to select between ISO and x^3/4 quantization
+
+	--quantization-type n n=0: no change, n=1: ISO, n=2: x^3/4
+
+2005-09-18 22:57  robert
+
+	* libmp3lame/: vbrquantize.c, vbrquantize.h, version.h:
+
+	vbr new noise shaping: let lame abort in exceptional cases
+
+	now on alpha 2
+
+2005-09-18 21:38  robert
+
+	* libmp3lame/: encoder.c, lame.c, quantize.c, quantize.h, util.h,
+	  vbrquantize.c:
+
+	vbr-new: bug fix for "searchGlobalStepSizeMax"
+
+	demangling vbr_old and vbr_new code
+
+2005-09-14 17:24  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	clean up assembler code support.
+	- nasmw support on cygwin.
+	- clean up yasm support, as I decided not to use yasm on x86-64.
+	- do not set "not exectable stack" flag not on linux environment.
+
+2005-09-13 15:38  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	code clean up
+
+2005-09-12 15:51  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	better region division point for lossless coding.
+
+2005-09-12 01:38  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	code clean up.
+
+2005-09-11 17:12  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix assertion failure at lossless coding.
+
+2005-09-11 17:07  takehiro
+
+	* libmp3lame/: encoder.h, tables.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	more efficient lossless coding when without brute force search.
+	And it makes little speed improvement when with brute force search.
+
+2005-09-11 10:20  bouvigne
+
+	* libmp3lame/version.h:
+
+	welcome to 3.98
+
+2005-09-11 09:57  bouvigne
+
+	* lame_vc7.sln:
+
+	missing file
+
+2005-09-11 09:14  bouvigne
+
+	* libmp3lame/version.h:
+
+	3.97b
+
+2005-09-11 07:35  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	experimental SSE2 support for calc_sfb_noise_fast.
+	but because it slows down the VBR encoding on Celeron-M, it is not enabled by
+	default.
+
+2005-09-10 17:08  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	more efficient lossless coding, especially for low bitrate.
+
+2005-09-08 22:57  takehiro
+
+	* doc/html/history.html:
+
+	fixed style.
+
+2005-09-08 22:57  takehiro
+
+	* doc/html/history.html:
+
+	added my changes for 3.97.
+
+2005-09-08 02:44  rbrito
+
+	* doc/man/lame.1:
+
+	Fixed typo.
+
+2005-09-07 21:15  bouvigne
+
+	* testcase.mp3:
+
+	updated testcase for 3.97b1
+
+2005-09-06 18:24  bouvigne
+
+	* doc/html/history.html:
+
+	typo
+
+2005-09-06 15:34  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix assertion failure in lossless coding.
+
+2005-09-05 21:24  bouvigne
+
+	* doc/html/: history.html, index.html:
+
+	updated history for 3.97b
+
+2005-09-05 20:49  bouvigne
+
+	* frontend/parse.c:
+
+	-Vx short help
+
+2005-09-05 04:29  rbrito
+
+	* debian/: changelog, rules:
+
+	Update generation of package with full optimization, now that compilation with GCC 4 works.
+
+2005-09-05 01:55  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	always use adaptive cutoff
+
+2005-09-05 01:52  takehiro
+
+	* libmp3lame/: quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	optimized calc_sfb_noise_fast().
+	Exit the loop as soon as it detect the audible noise.
+
+2005-09-04 19:52  aleidinger
+
+	* ChangeLog:
+
+	Update with recent history.
+
+2005-09-04 19:45  aleidinger
+
+	* configure:
+
+	Regen.
+
+2005-09-04 19:35  aleidinger
+
+	* config.h.in:
+
+	Add the bits for largefile support.
+
+	Submitted by:	Diego "Flameeyes" Pettenò <flameeyes@gentoo.org>
+	Bug ID:		1271744
+
+2005-09-04 19:11  aleidinger
+
+	* configure.in:
+
+	Remove some flags which gcc 4.x doesn't understand anymore.
+
+	Noticed by:	Rogério Brito
+
+2005-09-04 19:05  aleidinger
+
+	* aclocal.m4, config.h.in, Makefile.in, ACM/Makefile.in,
+	  ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in:
+
+	Regen.
+
+2005-09-04 19:05  aleidinger
+
+	* depcomp, install-sh, ltmain.sh, missing, mkinstalldirs,
+	  frontend/depcomp, libmp3lame/depcomp, misc/depcomp,
+	  mpglib/depcomp:
+
+	Update to recent autotools.
+
+2005-09-04 19:02  aleidinger
+
+	* frontend/Makefile.am:
+
+	Play catchup with the autotools.
+
+2005-09-04 18:54  aleidinger
+
+	* configure.in:
+
+	Initialize autoconf correctly (with lame mailinglist address).
+
+2005-09-04 16:19  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix adptive threshold calculation.
+
+2005-09-04 12:03  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	little bit better lossless coding
+
+2005-09-04 11:52  rbrito
+
+	* doc/man/lame.1:
+
+	Fixed typo in manpage.
+
+2005-09-04 07:15  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	better skip method for not audible scalefactor band.
+
+2005-09-04 06:56  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	do not calculate not audible scalefactor band.
+
+2005-09-04 06:16  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	forgot to commit when adding sfb energy caching. sorry.
+
+2005-09-04 03:10  takehiro
+
+	* libmp3lame/: quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	caching sfb energy = sum of xr^2
+
+2005-09-04 03:09  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	suppress conditional jump
+
+2005-09-04 02:21  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	better pipelining and use of pshufd in ix_max_SSE2
+
+2005-09-04 02:09  takehiro
+
+	* libmp3lame/: tables.c, i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	SSE2 version of ix_max()
+
+2005-09-04 02:08  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2005-09-03 15:38  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	clean up coding.
+
+2005-09-03 14:49  takehiro
+
+	* libmp3lame/: quantize.c, i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	changed parameter of xrmax_MMX()
+
+2005-09-03 13:38  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2005-09-03 13:31  takehiro
+
+	* libmp3lame/: quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	added sumofsqr_SSE() for ia32
+
+2005-09-03 13:10  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	use aligned memory access
+
+2005-09-03 12:45  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	use SSE register for data backup.
+
+2005-09-03 12:28  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	xrmax_SSE() support on x86_64
+
+2005-09-03 11:16  takehiro
+
+	* libmp3lame/: quantize.c, i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	SSE version of xrmax()
+
+2005-09-02 18:09  bouvigne
+
+	* frontend/parse.c:
+
+	fixed a stupid bug with --preset medium/standard/extreme
+
+2005-09-02 17:16  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	changed default setting of replaygain analysis, "enable fast" -> "disable all".
+
+2005-09-01 18:12  bouvigne
+
+	* libmp3lame/VbrTag.c:
+
+	320kbps cbr was flagged as "non optimal" in the info header
+
+2005-08-31 16:21  takehiro
+
+	* libmp3lame/quantize.c, libmp3lame/lame-analysis.h,
+	  frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	display how many bits used in the "large value" region and count1 region.
+
+2005-08-28 17:30  bouvigne
+
+	* frontend/parse.c, libmp3lame/version.h:
+
+	Changed the way "--preset xxx" is handled,
+	as I've seen many users passing "--preset standard --vbr-new".
+	Presets are now evaluated during initialisation, so this kind of command
+	line now properly works.
+
+2005-08-28 17:02  bouvigne
+
+	* libmp3lame/lame.c, Makefile.MSVC, libmp3lame/version.c,
+	  libmp3lame/version.h, frontend/parse.c:
+
+	64bits build from within win64 platform sdk
+
+2005-08-28 12:19  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	use 128bit constants
+
+2005-08-28 12:11  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	better pipelining
+
+2005-08-27 12:03  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	use cos(2x) = cos(x)*cos(x) - sin(x)*sin(x) = 1 - 2*sin(x)*sin(x)
+
+2005-08-27 08:25  takehiro
+
+	* configure, configure.in:
+
+	fix for configure problem reported by Steven P. Ulrick.
+
+2005-08-27 08:10  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	clean up.
+
+2005-08-27 07:58  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	clean up counter register usage
+
+2005-08-25 16:28  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	suppress table size
+
+2005-08-25 12:14  takehiro
+
+	* debian/: Makefile.am, Makefile.in:
+
+	follow the file name change.
+
+2005-08-23 15:50  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	new tonality -> masking ratio conversion method and masking ratio limitation
+	in the lower frequency region.
+
+2005-08-23 14:15  takehiro
+
+	* libmp3lame/: encoder.h, lame.c, newmdct.c, psymodel.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	rename internal variable name, start_sfb_* -> max_sfb_*
+	update verbose print of internal setting.
+
+2005-08-22 16:20  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	do not call best_scalefac_store() when no noise shaping, becase in such case
+	all the scalefac values are always zero.
+
+2005-08-22 15:21  takehiro
+
+	* libmp3lame/newmdct.c (takehiro-2002_05_07-experimental):
+
+	do not calculate MDCT beyond cutoff even when adaptive cutoff is enabled.
+
+2005-08-22 13:47  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	display internal setting for "adaptive lowpass cutoff"
+
+2005-08-22 13:46  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	fix "optimal setting" flag is always cleared when the input file is below 32kH
+
+2005-08-22 13:11  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	do not process filtering when no filter enabled.
+
+2005-08-21 17:32  bouvigne
+
+	* Makefile.am, ACM/Makefile.am, ACM/lameACM_vc7.vcproj,
+	  ACM/ADbg/ADbg_vc7.vcproj, ACM/ADbg/Makefile.am,
+	  ACM/tinyxml/Makefile.am, ACM/tinyxml/tinyxml_vc7.vcproj,
+	  Dll/LameDll_vc7.vcproj, Dll/Makefile.am, frontend/Makefile.am,
+	  frontend/lame_vc7.vcproj, frontend/mp3x_vc7.vcproj,
+	  libmp3lame/Makefile.am, libmp3lame/libmp3lame_vc7.vcproj,
+	  mpglib/Makefile.am, mpglib/mpglib_vc7.vcproj:
+
+	added project files for VC7
+
+2005-08-21 17:00  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	use adaptive cutoff when no lowpass filter setting ("-k" option)
+
+2005-08-21 15:25  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix default cutoff setting when adaptive cutoff.
+
+2005-08-21 14:15  takehiro
+
+	* libmp3lame/: encoder.h, lame.c, psymodel.c, quantize.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	adaptive cutoff frequency calculation.
+	very experimental and not works correctly (of course is not enabled by default)
+
+2005-08-21 08:40  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	revive -q settings for VBR/ABR
+
+2005-08-21 08:05  takehiro
+
+	* libmp3lame/i386/: fftsse.nas, quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	clean up
+
+2005-08-21 06:38  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	clean up x86_64 code.
+
+2005-08-21 06:09  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	use loopalign instead of align
+
+2005-08-21 05:54  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	use movlps instead of movups
+
+2005-08-21 05:42  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2005-08-21 04:50  takehiro
+
+	* libmp3lame/i386/: choose_table.nas, quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	small asm-coding hack.
+
+2005-08-21 03:32  takehiro
+
+	* libmp3lame/: encoder.h, tags.c
+	  (takehiro-2002_05_07-experimental):
+
+	Support generic genre name like "MyOriginalGenre" (bugid #1265218 @ sf.net)
+
+2005-08-20 18:34  takehiro
+
+	* libmp3lame/i386/fftsse.nas (takehiro-2002_05_07-experimental):
+
+	clean up.
+
+2005-08-20 18:05  takehiro
+
+	* libmp3lame/: util.c, util.h (takehiro-2002_05_07-experimental):
+
+	one more support for SSE on x86_64
+
+2005-08-20 18:01  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	ASM code support for x86_64 environment (only tested with FedoraCore3@cf.sf.net)
+
+2005-08-20 17:48  bouvigne
+
+	* doc/html/switchs.html:
+
+	typo
+
+2005-08-20 16:47  takehiro
+
+	* configure, configure.in, libmp3lame/Makefile.am,
+	  libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	auto* things for x86_64 related files.
+
+2005-08-20 14:21  takehiro
+
+	* libmp3lame/i386/ssesub.c (takehiro-2002_05_07-experimental):
+
+	remove unused files/dirs
+
+2005-08-20 13:42  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	remove redundant operation and fix comments.
+
+2005-08-20 11:32  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	modification related to asm version of lr2ms (forgot to commit. oops)
+
+2005-08-20 09:25  takehiro
+
+	* libmp3lame/: util.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	SSE version of LR -> MS. gains 1% speed.
+
+2005-08-20 08:49  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2005-08-16 07:56  rbrito
+
+	* debian/: changelog, control:
+
+	Make libmp3lame0 provide and replace liblame0, not conflict with it.
+
+2005-08-16 07:11  rbrito
+
+	* debian/: changelog, control, libmp3lame0-dev.files:
+
+	Fixed development package to not include shared libraries.
+	Other misc fixes.
+
+	Yet more to come.
+
+2005-08-16 01:42  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	optimized pow075() for generic CPU.
+	remove C++ style comments.
+
+2005-08-15 04:25  rbrito
+
+	* debian/: changelog, control, liblame0-dev.docs,
+	  liblame0-dev.files, liblame0.files, libmp3lame0-dev.docs,
+	  libmp3lame0-dev.files, libmp3lame0.files, rules:
+
+	Update Debian packaging so that the library packages follow the SONAME
+	rules.
+
+	Also incorporate some changes from Christian Marillat's packages in the
+	basic lame package.
+
+	More changes to come soon.
+
+2005-08-14 07:05  takehiro
+
+	* libmp3lame/: bitstream.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2005-08-13 14:12  takehiro
+
+	* libmp3lame/: bitstream.c, tables.c, tables.h
+	  (takehiro-2002_05_07-experimental):
+
+	optimize quad-code writing routine.
+
+2005-08-13 12:09  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	move the comments at more suitable place.
+
+2005-08-13 12:08  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial optimizations.
+
+2005-08-13 09:17  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	faster count bits for quad-code region.
+
+2005-08-11 14:43  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	reduce memory access by caching data to be written.
+
+2005-08-10 15:22  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	caching huffman code to be written to reduce bitwise operation.
+
+2005-08-10 14:55  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	more pruning at lossless coding. same result, faster calculation.
+
+2005-08-08 17:22  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	one more pruning of lossless coding.
+
+2005-08-08 16:33  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	optimize speed of lossless coding with better pruning.
+
+2005-08-07 14:07  takehiro
+
+	* doc/man/lame.1:
+
+	when the input is raw, the input file will be treated as native endian.
+	(bugid 1158189)
+
+2005-08-07 13:24  bouvigne
+
+	* doc/html/switchs.html:
+
+	update of stereo modes description
+
+2005-08-07 12:34  takehiro
+
+	* configure, aclocal.m4 (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-08-07 10:44  takehiro
+
+	* libmp3lame/: quantize.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	surpress memcpy
+
+2005-08-07 09:37  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix debug build
+
+2005-08-06 17:29  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	reduce table size.
+
+2005-08-06 17:20  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	surpress warnings
+
+2005-08-06 17:14  takehiro
+
+	* libmp3lame/tables.h (takehiro-2002_05_07-experimental):
+
+	fix comments
+
+2005-08-06 14:51  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix typo.
+
+2005-08-06 06:37  takehiro
+
+	* libmp3lame/: psymodel.c, i386/ssesub.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2005-08-06 06:09  takehiro
+
+	* libmp3lame/: machine.h, tables.c, tables.h
+	  (takehiro-2002_05_07-experimental):
+
+	cleanup and suppress memory usage when SMALL_CACHE and IEEE754
+
+2005-08-06 04:46  takehiro
+
+	* frontend/timestatus.c (takehiro-2002_05_07-experimental):
+
+	fix --nohist switch.
+
+2005-08-05 15:22  takehiro
+
+	* doc/man/lame.1:
+
+	added "per sample" for the description of --bitwidth option. (bugid #1158196)
+
+2005-08-05 09:22  vitaly-ivanov
+
+	* dshow/: Mpegac.cpp, Mpegac.h:
+
+	Another timestamp fix. Added additional resynchronization points (now there are 4 resynch points) in order to implement absolutely accurate in-out synchronization
+
+2005-08-04 15:15  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix MPEG2 Layer3 VBR encoding (correct form of rev.1.178.2.223).
+
+2005-08-04 14:56  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix short block encoding. It may select the subblock gain which makes quantized
+	values larger than the IXMAX.
+
+2005-08-04 14:01  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	revert last (rev.1.178.2.223) changes.
+
+2005-08-04 14:00  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	do not use preflag when MPEG2
+
+2005-08-04 11:27  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix for MPEG2 VBR coding. Still MPEG2-VBR needs many tweaking.
+
+2005-08-04 06:15  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial simplification.
+
+2005-08-04 02:30  takehiro
+
+	* libmp3lame/: encoder.h, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix bitrate histgram display when mono.
+
+2005-08-04 01:42  rbrito
+
+	* debian/: changelog, control, rules:
+
+	Updates for Debian packaging.
+
+2005-08-04 01:40  rbrito
+
+	* doc/man/lame.1:
+
+	Documentation of switches: --{un,}signed and --{big,little}-endian.
+
+2005-08-03 14:40  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	supress warnings on 64bit environment.
+
+2005-08-03 14:04  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	more clean up when with --nohist or --silent.
+
+2005-08-03 07:11  takehiro
+
+	* libmp3lame/i386/nasm.h (takehiro-2002_05_07-experimental):
+
+	Add magic words from libflac to tell LAME does not need exectable stack.
+
+2005-08-02 13:30  takehiro
+
+	* frontend/main.c, libmp3lame/lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix brhist display when CBR
+
+2005-08-01 17:16  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	update comments
+
+2005-08-01 15:51  takehiro
+
+	* libmp3lame/: quantize.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	more MAX_BITS off-by-one fixes, including comments.
+
+2005-08-01 13:10  vitaly-ivanov
+
+	* dshow/: Mpegac.cpp, Property.rc:
+
+	Output timestamps fix. There was a serious bug when input audio samples had time gaps between each other - DirectShow timestamps for output samples were calculated wrong in this case
+
+2005-08-01 07:06  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	fix off by one of MAX_BITS.
+
+2005-08-01 06:30  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	supress table size.
+
+2005-07-30 16:30  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	do not use 4096 bits/granule limits when not strict ISO mode.
+
+2005-07-28 13:05  rbrito
+
+	* doc/html/: basic.html, contributors.html, examples.html,
+	  history.html, id3.html, switchs.html:
+
+	Minor spelling corrections and other fixes to documentation.
+
+2005-07-28 13:02  rbrito
+
+	* debian/rules:
+
+	Safe version for compilation with GCC 4.
+
+2005-07-27 21:49  rbrito
+
+	* doc/html/: presets.html, switchs.html:
+
+	Spelling fixes for documentation.
+
+2005-07-27 21:38  rbrito
+
+	* doc/man/lame.1:
+
+	Include description of the "medium" preset in the manpage.
+
+	Fix some spelling errors on the manpage.
+
+2005-07-27 08:43  rbrito
+
+	* debian/changelog, debian/control, debian/lame.manpages,
+	  debian/rules, doc/man/lame.1:
+
+	Small fixes for lame manpage to make lintian happy. More updates to come.
+
+2005-07-27 07:41  rbrito
+
+	* debian/changelog:
+
+	Preparation for the new beta release. More changes to come.
+
+2005-07-26 23:31  takehiro
+
+	* config.h.in, configure.in, frontend/main.c
+	  (takehiro-2002_05_07-experimental):
+
+	experimental patch to autodetect UTF-8 ID3v2 tag by Edmund GRIMLEY EVANS.
+
+2005-07-26 13:59  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix 4096bits limits for one _granule_ when VBR.
+	old code mistook it for one _channel and granule_.
+
+2005-07-24 16:54  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	suppress warnings
+
+2005-07-24 16:52  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, util.c
+	  (takehiro-2002_05_07-experimental):
+
+	added lr2ms() function and use it. This is the preparation for future asm-optimizations.
+
+2005-07-24 16:51  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fixed reservoir limitation setup.
+
+2005-07-24 16:49  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	added some comments arround the bit reservoir.
+
+2005-07-24 16:28  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	[no log message]
+
+2005-07-24 16:11  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	SSE2 version of quntize_ISO (from gogo)
+
+2005-07-24 13:02  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix bit/byte confusion.
+
+2005-07-20 14:30  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fixed compilation problem on some OS which has a "trancate"
+
+2005-07-20 14:22  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	update comments.
+
+2005-07-16 08:30  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	fixed tarck tag ID.
+
+2005-07-16 08:04  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.h,
+	  libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	ID3 tag update.
+	- merged UTF-8 patch from egrimleyevans
+	  (http://sourceforge.net/tracker/index.php?func=detail&aid=1192706&group_id=290&atid=300290)
+
+	- Fixed ID3v1 track number tag. When the track number is larger than 255, it was recoded as "track number % 256" in the ID3v1.
+
+	- Changed internal track number representation to char* from int. It may allow
+	  to use "leading zero" track number in ID3v2 tag, like "01/23".
+
+2005-07-16 07:30  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	added "--ignore-tag-errors" to the usage message
+
+2005-07-10 16:13  bouvigne
+
+	* libmp3lame/: presets.c, version.h:
+
+	alpha 11: update of abr/cbr 160-320
+
+2005-06-29 12:26  vitaly-ivanov
+
+	* dshow/: Encoder.cpp, PropPage.cpp, PropPage_adv.cpp, Property.rc:
+
+	Joint / Standard stereo selection fix. Got rid of automatic joint stereo encoding when the bit rate is relatively low, now it's up to the user
+
+2005-06-25 08:14  vitaly-ivanov
+
+	* dshow/: Encoder.h, Property.rc, aboutprp.cpp, .cvsignore:
+
+	[no log message]
+
+2005-06-24 10:03  vitaly-ivanov
+
+	* dshow/: .cvsignore, Encoder.cpp, Encoder.h, Mpegac.cpp,
+	  Mpegac.def, Mpegac.h, PropPage.cpp, PropPage.h, PropPage_adv.cpp,
+	  PropPage_adv.h, Property.rc, README, REG.CPP, UIDS.H,
+	  aboutprp.cpp, aboutprp.h, dshow.dsp, dshow.dsw, iaudioprops.h,
+	  resource.h:
+
+	[no log message]
+
+2005-06-24 09:37  vitaly-ivanov
+
+	* dshow/REG.H:
+
+	[no log message]
+
+2005-06-04 16:06  takehiro
+
+	* libmp3lame/i386/: Makefile.am, Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	fix for configure with --disable-shared.
+
+2005-05-29 16:41  takehiro
+
+	* Makefile.in, aclocal.m4, configure, ltmain.sh, ACM/Makefile.in,
+	  ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	regen with automake1.9.5
+
+2005-05-29 16:40  takehiro
+
+	* libmp3lame/: tables.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	psymodel parameter tuning (1)
+
+2005-05-29 16:10  takehiro
+
+	* debian/: changelog, control:
+
+	fixed version number (upstream -> downstream)
+
+	patch from Jack, from
+	http://sourceforge.net/tracker/index.php?func=detail&aid=1201172&group_id=290&atid=100290
+
+2005-05-29 15:59  takehiro
+
+	* debian/rules (takehiro-2002_05_07-experimental):
+
+	added files to remove when clean.
+
+2005-05-29 14:43  takehiro
+
+	* libmp3lame/: tables.c, takehiro.c, i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	fix sing handling.
+	It somtime makes assertion failure on MMX2 supported machines.
+
+2005-05-29 14:40  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	optimized init_global_gain(), by initializing gi->count1, gi->big_values
+	only when it is "really" needed.
+
+2005-05-25 14:17  takehiro
+
+	* frontend/: get_audio.c, parse.c:
+
+	fixed output message even when "--silent"
+	(bug #1145932)
+
+2005-05-25 13:56  takehiro
+
+	* libmp3lame/lame.c:
+
+	fix format strings to print out the "float" value.
+	(bug #1207470)
+
+2005-05-25 13:47  takehiro
+
+	* frontend/parse.c:
+
+	removed -Z option description, which has no effects currently.
+
+2005-05-21 09:07  takehiro
+
+	* libmp3lame/: psymodel.c, psymodel.h, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	suppress magic number.
+
+2005-05-20 14:46  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up the new workarround for the frequency resolution
+	in the lower frequency.
+
+2005-05-17 15:46  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	Do not calculate the simultaneous masking in the lower frequency, where the
+	frequency resolution is not sufficient.
+
+	This is a temporaly code. This should be done by changing the spread function.
+
+2005-05-14 17:45  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	dirty hack arround truncate()
+
+2005-05-14 16:28  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	reduce division by changing log(x/y) -> log(x) - log(y), part 2.
+	supress magic numbers.
+
+2005-05-14 16:27  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix assertion failure when a quantized value exceeds IXMAX(8206)
+
+2005-05-14 13:47  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-05-14 13:16  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	remove some optimization options which is not supported by gcc4.
+
+2005-05-14 12:31  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	fix debug built problem on the machine without memset()
+
+2005-05-14 08:00  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	changed log(x/y) as log(x)-log(y), when FAST_LOG.
+
+2005-05-14 06:53  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix built problem when USE_IEEE754_HACK but not USE_FAST_LOG.
+
+2005-05-14 03:43  takehiro
+
+	* debian/: changelog, control (takehiro-2002_05_07-experimental):
+
+	patch from Jack (jablko), including the bug report #1201172
+
+2005-05-12 17:40  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	supress magic numbers
+
+2005-05-11 15:51  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	for better portability, do not use "long long", use uint64_t instead.
+
+2005-05-11 15:50  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	remove unused portion of window coefs.
+
+2005-05-11 15:14  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	optimizing mask_add(), part 2.
+	- faster log() -> trncate() calculation for IEEE754 HACK.
+
+2005-05-11 14:59  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	optimizing mask_add() (part 1)
+
+2005-05-10 17:24  takehiro
+
+	* libmp3lame/: psymodel.c, machine.h
+	  (takehiro-2002_05_07-experimental):
+
+	optimizing PE calculation.
+
+2005-05-10 17:10  takehiro
+
+	* libmp3lame/: tables.c, machine.h
+	  (takehiro-2002_05_07-experimental):
+
+	use integer calculation @ fast_log2().
+	This is a preparation for farther speed optimizations.
+
+2005-05-06 01:06  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix typo.
+
+2005-05-04 17:21  takehiro
+
+	* libmp3lame/tables.h (takehiro-2002_05_07-experimental):
+
+	fix typo
+
+2005-05-04 17:01  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen by hand.
+
+2005-05-04 17:00  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	- do not use "-march" option for the case of cross build.
+	- added comments about SPARC + IEEE754 hack
+
+2005-05-04 16:58  takehiro
+
+	* libmp3lame/: quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	update x^(3/4) hack.
+	- use IEEE754 HACK version of fabs()
+	- better "digital silent" detection. not use sum, but use maximum.
+
+2005-05-04 16:57  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	common expression reduction.
+
+2005-04-26 16:08  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix selection of the band to increase the scalefactor, when all the band have no
+	audible noise.
+
+2005-04-25 16:35  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix handling of SCALEFAC_ANYTHING_GOES in calc_noise().
+	This sometimes makes assertion failure when with --substep option.
+
+2005-04-24 10:28  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix it skips clipping when with --decode option.
+
+2005-04-23 18:25  takehiro
+
+	* libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental):
+
+	clean up.
+
+2005-04-23 18:20  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	Handmade aprox. code to calculate x^(3/4) for IEEE754 machines.
+	On MacOSX + G4, the speed gain is arround 14% !
+
+2005-04-23 15:31  takehiro
+
+	* libmp3lame/gain_analysis.c (takehiro-2002_05_07-experimental):
+
+	supress warnings
+
+2005-04-23 15:11  takehiro
+
+	* testcase.mp3, frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/gtkanal.c, frontend/main.c, include/lame.h,
+	  libmp3lame/lame.c, libmp3lame/mpglib_interface.c
+	  (takehiro-2002_05_07-experimental):
+
+	use floating values for the data between frontend and encoding core.
+
+2005-04-23 10:10  takehiro
+
+	* libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental):
+
+	prevent to re-initialization.
+
+2005-04-23 10:08  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	add error check for lame_decoe_init()
+	fix comment.
+
+2005-04-23 09:57  takehiro
+
+	* libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental):
+
+	clean up
+
+2005-04-23 09:56  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	clean up endianness.
+	fix mp3 decoding.
+
+2005-04-23 08:42  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	tuning masking parameter balance for long/short blocks.
+
+2005-04-23 08:11  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix memory copy size in CBR_2nd_iteration().
+	This bug causes assertion failure when CBR with -h option.
+
+2005-04-23 08:07  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	reduce memory copy size.
+
+2005-04-23 07:57  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	little bit better initial value for quantization factor search.
+
+2005-04-23 07:55  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	reduce memory copy size.
+
+2005-04-22 17:39  takehiro
+
+	* mpglib/interface.c (takehiro-2002_05_07-experimental):
+
+	supress warnings with GCC4.0
+
+2005-04-21 16:36  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	oops, stupid bug in loop counter... sorry.
+
+2005-04-21 15:42  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	improve the spreading function for the lower frequency,
+	where the resolution of frequency is not sufficient for phsycho-analysis.
+
+2005-04-21 15:36  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	clean up.
+
+2005-04-21 15:03  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	verbose the configuration message.
+
+2005-04-17 17:28  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	clean up arround lame_print_internals()
+
+2005-04-17 16:16  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, main.c, main.h, parse.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up endianness detection and configuration.
+
+2005-04-17 15:49  takehiro
+
+	* frontend/: get_audio.c, get_audio.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up MAX_U_32_NUM definition
+
+2005-04-17 15:42  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	general clean up.
+
+2005-04-17 15:35  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix assertion failure when CBR encoding.
+
+2005-04-17 12:49  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	clean up options.
+	- make some options as experimental.
+	- fix floating point/integer argument.
+
+2005-04-17 11:01  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	optimized best_huffman_divide(), by removing needless call of choose_table().
+
+2005-04-16 15:58  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	general clean up.
+	- supress magic numbers
+	- use putbits16() instead of putbits24(), where it can.
+	- trivial loop counter optimization
+
+2005-04-16 13:55  takehiro
+
+	* testcase.mp3, libmp3lame/psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	ATH value adjustment for M/S channels.
+
+2005-04-16 13:53  takehiro
+
+	* libmp3lame/bitstream.c, frontend/brhist.c, frontend/main.c
+	  (takehiro-2002_05_07-experimental):
+
+	supress warnings
+
+2005-04-16 10:42  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	reduce conditional jumps
+
+2005-04-16 10:42  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	added (FLOAT) cast in fast_log() macros.
+
+2005-04-13 14:12  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	oops, I disabled the new code...
+
+2005-04-13 14:11  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	one more fix for the delay.
+
+2005-04-13 13:50  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	fix frame delay
+
+2005-04-13 13:41  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	optimize lossless coding efficiency and speed (mainly for low bitrate).
+
+2005-04-09 17:50  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	optimized bitstream copy code.
+
+2005-04-09 17:29  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	one more reduction of needless divide point search in best_huffman_divide()
+
+2005-04-09 09:58  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	prevent needless search of best_huffman_divide().
+
+2005-04-04 01:20  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	optimize best_scalefac_store()
+	- only call noquant_count_bits() when it is really needed.
+	- skip the band with the SCALEFAC_ANYTHING_GOES.
+
+2005-04-03 18:28  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	little bit better lossless coding.
+
+2005-04-03 18:27  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	make assertion condition strictly.
+
+2005-04-03 17:42  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	one more off by one... oops.
+
+2005-04-03 17:24  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix off-by-one bug.
+
+2005-04-03 12:25  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	use the theoretical minimum value of xr34.
+
+2005-04-03 11:57  takehiro
+
+	* frontend/: gtkanal.c, mp3x.c (takehiro-2002_05_07-experimental):
+
+	fix (part of) mp3x display delay problem
+
+2005-04-03 11:32  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix table selection
+
+2005-04-03 05:50  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	reduce calling ixmax() and simplify count_bits()
+
+2005-04-02 18:32  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	potential fix for floating point exception when analysing MPEG2 Layer3 encoding by mp3x.
+
+2005-04-02 17:06  takehiro
+
+	* frontend/timestatus.c (takehiro-2002_05_07-experimental):
+
+	reduce calling GetRealTime()
+
+2005-04-02 16:45  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	Try to find the better quantization factor in the higher frequncy band,
+	even when it fails to encode without the noise in the lower frequency band.
+
+2005-04-02 16:21  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the loop condition.
+
+2005-04-02 14:54  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	do not use putbits24(), where the length to write is lesser than 18.
+
+2005-04-02 14:02  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix off-by-one bug in best_huffman_divide()
+
+2005-04-02 12:21  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix comments and reduce the table size.
+
+2005-04-02 12:13  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	simplify cont_bit_noESC_from4() and add comments.
+
+2005-04-02 11:56  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	remove needless memory clear.
+
+2005-04-02 07:28  takehiro
+
+	* libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	Now alpha 14.
+	- Dramatical VBR speed improvement.
+	  10-20% on typical archtecture (i86, Alpha, Sparc), and 95% on G4.
+	  CBR also gains but it is little (2% on the typical arch, 30% on G4).
+	- New and improved ATH level autoadjustment.
+	- Use subblock gain more (CBR and VBR).
+	- Fix quantization bug in count1 region, which causes annoying noise in high-freq.
+
+2005-04-02 07:16  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	supress magic numbers.
+
+2005-03-29 15:07  takehiro
+
+	* libmp3lame/: machine.h, quantize.c, tables.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	supress magic numbers.
+
+2005-03-28 17:26  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	it seems thmath.h decreases spped very much on Alpha system.
+
+2005-03-28 16:58  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix debug/release build is reverted and warnings
+
+2005-03-28 16:57  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	fix built on 64bit machines (I checked it on Alpha and AMD64)
+
+2005-03-28 09:44  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	adjust message width
+
+2005-03-28 03:51  takehiro
+
+	* libmp3lame/: quantize.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix SCALEFAC_ANYTHING_GOES bug finally! now it gains speed improvement arround 15%.
+
+	and fix count1 region quantization.
+
+2005-03-28 03:50  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	added alignment check when debug build.
+
+2005-03-27 17:48  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix treatment of scale factor band with "anything goes".
+	But it seems there're still bugs arround it.
+
+2005-03-27 16:45  takehiro
+
+	* libmp3lame/: machine.h, quantize.c, quantize_pvt.h, tables.c,
+	  tables.h, takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix it may use preflag on short blocks.
+	use integer value of quantization adjustments.
+
+2005-03-27 15:22  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	fix comments one more.
+
+2005-03-27 11:57  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	fixed comments
+
+2005-03-27 09:32  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	code clean up.
+
+2005-03-26 19:58  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	fix comment
+
+2005-03-26 19:54  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	do not call scale_bitcounter() to check the scalefac values is valid or not.
+	(spped up arround 1.5%)
+
+2005-03-26 19:37  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it recognize (scalefac=SCALEFAC_ANYTHING_GOES) + (subblock gain = 2) as
+	not an amplified band.
+
+2005-03-26 10:39  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	suppress magic numbers
+
+2005-03-26 09:48  takehiro
+
+	* frontend/: main.c, timestatus.c
+	  (takehiro-2002_05_07-experimental):
+
+	reduce calling lame_get_frameNum()
+
+2005-03-23 03:08  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	use subblock_gain more when VBR.
+
+2005-03-23 03:06  takehiro
+
+	* libmp3lame/: machine.h, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	cleanup
+
+2005-03-22 16:58  takehiro
+
+	* libmp3lame/: tables.c, takehiro.c, tables.h
+	  (takehiro-2002_05_07-experimental):
+
+	make scfsi_band[] as static variable.
+
+2005-03-22 13:42  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	remove gabages.
+	oops...
+
+2005-03-22 13:40  takehiro
+
+	* libmp3lame/: quantize_pvt.h, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	more precise ROUNDFAC definition.
+
+2005-03-22 07:13  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix built problem on old (not C99) compilers.
+
+2005-03-21 16:24  takehiro
+
+	* libmp3lame/: encoder.h, quantize.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	reduce memory copy size.
+
+2005-03-21 14:38  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	Fix loop variable initialization.
+	This will fix decreasing bitrate too much on VBR.
+
+	Zerofy "not audible" region at first to increase the speed.
+
+2005-03-20 17:28  bouvigne
+
+	* libmp3lame/: encoder.c, lame.c, presets.c, quantize.c,
+	  quantize.h:
+
+	allow masking adjustements in ABR/CBR
+
+2005-03-19 18:34  bouvigne
+
+	* libmp3lame/version.h:
+
+	alpha 10
+
+2005-03-19 17:51  bouvigne
+
+	* libmp3lame/presets.c:
+
+	updated vbr 0/1/2/3 presets
+
+2005-03-19 16:09  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix MPEG2/Layer3 encoding.
+
+2005-03-19 16:05  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2005-03-19 16:04  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	try to use "preflag" more often.
+
+2005-03-19 15:04  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	also use nssfb21 in short blocks
+
+2005-03-19 15:03  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	typo
+
+2005-03-19 14:44  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	updated psfb21 analog silence detection
+
+2005-03-19 10:41  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	improve (lossless) scalefactor compression
+
+2005-03-19 09:43  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	supress magic numbers
+
+2005-03-19 08:48  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	reduce table size.
+
+2005-03-19 08:21  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-03-19 08:08  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	fix CPU specific optimization option.
+
+2005-03-19 07:33  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2005-03-18 16:31  takehiro
+
+	* libmp3lame/: bitstream.c, machine.h, psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	sign bit hack for IEEE754
+
+2005-03-18 16:03  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	simplify
+
+2005-03-18 13:24  takehiro
+
+	* debian/: control, rules (takehiro-2002_05_07-experimental):
+
+	sync with the HEAD.
+
+2005-03-18 05:26  rbrito
+
+	* debian/changelog, debian/control, debian/rules, doc/man/lame.1:
+
+	Slight modifications to debian packaging (with more to come).
+	Minor changes to the frontend manpage.
+
+2005-03-17 16:46  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	added (FLOAT) cast (I hope this is last).
+
+2005-03-17 16:41  takehiro
+
+	* libmp3lame/: gain_analysis.c, lame.c, psymodel.c, quantize.c,
+	  tags.c (takehiro-2002_05_07-experimental):
+
+	added "(FLOAT)" cast
+	remove redundant #include
+
+2005-03-17 15:03  takehiro
+
+	* frontend/rtp.c (takehiro-2002_05_07-experimental):
+
+	fix build problem on cygwin.
+
+2005-03-17 14:34  takehiro
+
+	* config.h.in, configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-03-17 14:28  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	do not check the winsocket.
+	this is the preparation for fixing bugid #1164417
+
+2005-03-16 16:07  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	IEEE754 hack for quantizing 0/1 region.
+
+2005-03-16 14:53  takehiro
+
+	* config.h.in, configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-03-16 14:52  takehiro
+
+	* configure.in, libmp3lame/machine.h
+	  (takehiro-2002_05_07-experimental):
+
+	check tgmath.h and use it.
+
+2005-03-15 16:31  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	do not output error message when with --silent.
+
+2005-03-15 15:49  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen.
+
+2005-03-15 15:48  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	play with compiler options on G4. I've got 14% gain from it.
+
+2005-03-15 15:37  takehiro
+
+	* mpglib/interface.c (takehiro-2002_05_07-experimental):
+
+	supress warning.
+
+2005-03-15 00:26  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	yet another -Y thing: calc_xmin does not compute upto max_nonzero_coeff
+	in the -Y case.
+
+2005-03-14 22:32  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	bugfix for vbr-new when sub block gain violates IXMAXVAL constrain in -Y case
+
+2005-03-14 21:53  robert
+
+	* libmp3lame/quantize_pvt.c:
+
+	removed an assert in calc_noise_core_c
+	cod_info->count1 == 0 seems to be a common case
+
+2005-03-14 15:18  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up.
+
+2005-03-14 14:53  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	Separate preflag check from scale bit counting.
+	It changes preflag, but it is undesirable for VBR encoding.
+
+2005-03-14 14:38  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	IEEE754 hack for quantization in count1 region.
+
+2005-03-14 13:31  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	display 'LR+i' as '%' character.
+
+2005-03-13 17:20  robert
+
+	* libmp3lame/presets.c:
+
+	removing placebo -bx from fast presets
+	it's a placebo with vbr-old too, but keep it that way a little bit longer
+
+2005-03-13 17:14  takehiro
+
+	* configure.in, configure (takehiro-2002_05_07-experimental):
+
+	yasm needs -m amd64 to output the elf64 objects.
+
+2005-03-13 17:11  takehiro
+
+	* libmp3lame/i386/: cpua.nas, nasm.h
+	  (takehiro-2002_05_07-experimental):
+
+	now it can be compiled on x86-64 linux (FC3). but still remains lot of work...
+
+2005-03-13 17:01  robert
+
+	* frontend/mp3x.c:
+
+	forgot to commit this one, removed unused parameter from usage parameter list
+
+2005-03-13 14:46  robert
+
+	* libmp3lame/: encoder.c, set_get.c, version.c, version.h:
+
+	removing unused ATH auto adjust types. JDs is now the only one
+
+2005-03-13 14:43  robert
+
+	* ACM/ACM.cpp:
+
+	version
+
+2005-03-13 14:42  robert
+
+	* frontend/: main.c, parse.c, parse.h:
+
+	print helptext for internal switches only when internal switches are available
+
+2005-03-13 12:58  takehiro
+
+	* libmp3lame/i386/: Makefile.am, Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	changed include path option, -i -> -I
+
+2005-03-13 12:31  takehiro
+
+	* libmp3lame/: lame.c, i386/Makefile.am, i386/Makefile.in,
+	  i386/cpu_feat.nas, i386/cpua.nas
+	  (takehiro-2002_05_07-experimental):
+
+	changed CPU feature detection code (which is from GOGO3),
+	because the old one uses pushad/popad which is not supported on x86-64.
+
+2005-03-13 10:16  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-03-13 10:15  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	added yasm check, to prepare for asm code on i86_64.
+
+2005-03-12 23:01  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	vbr-new: fixing the -Y bug, that sfb21 wasn't quantized at all
+
+2005-03-12 20:41  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	simplify scfsi[] flag.
+
+2005-03-12 20:41  takehiro
+
+	* libmp3lame/: machine.h, psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up "(double)" cast.
+
+2005-03-12 18:12  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	oops. too much optimized... gi->scalefac[0] may be lesser than 0.
+
+2005-03-12 17:39  bouvigne
+
+	* libmp3lame/lame.c:
+
+	fix: q2 and higher were NOT enabling substep shaping 2
+
+2005-03-12 17:38  bouvigne
+
+	* mpglib/mpg123.h:
+
+	fix for replaygain-accurate
+
+2005-03-12 17:17  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix "stupid" message when -S
+	(bugid #1145932)
+
+2005-03-12 13:58  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	follow variable type change
+
+2005-03-12 13:54  takehiro
+
+	* configure, configure.in, libmp3lame/Makefile.am,
+	  libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	added ppc directory
+
+2005-03-12 12:35  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.h, quantize_pvt.h, tables.c,
+	  tables.h, takehiro.c (takehiro-2002_05_07-experimental):
+
+	reduce variable size and changed these order, to archive better cache performance.
+
+2005-03-11 19:26  takehiro
+
+	* libmp3lame/: psymodel.c, psymodel.h, quantize.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	added "(FLOAT)" cast.
+
+2005-03-11 17:45  takehiro
+
+	* mpglib/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-03-11 17:44  takehiro
+
+	* mpglib/Makefile.am (takehiro-2002_05_07-experimental):
+
+	added layer[123].h to the distribution.
+
+2005-03-11 17:18  takehiro
+
+	* Makefile.in, aclocal.m4, ACM/Makefile.in, ACM/ADbg/Makefile.in,
+	  ACM/ddk/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in,
+	  debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in,
+	  doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in,
+	  include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, mac/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen with the latest gtk.m4
+
+2005-03-11 16:49  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	use max value of loudness.
+
+2005-03-11 16:06  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix a comment
+
+2005-03-11 15:31  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	ATH value should be always same value whatever the value of ATHAdjustLimit is.
+
+2005-03-11 15:29  takehiro
+
+	* libmp3lame/: psymodel.c, version.h
+	  (takehiro-2002_05_07-experimental):
+
+	implement tonality-aware ATH adjustment.
+
+2005-03-11 15:28  takehiro
+
+	* libmp3lame/psymodel.h (takehiro-2002_05_07-experimental):
+
+	enlarge ATH adjustment range to clarify the flaw of ATH adjustment algorithm.
+
+2005-03-11 13:58  takehiro
+
+	* debian/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen... soryy I made it on cygwin...
+
+2005-03-11 11:14  takehiro
+
+	* libmp3lame/: bitstream.c, newmdct.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	added "(FLOAT)" cast.
+
+2005-03-11 10:27  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	remove C++ style comments
+
+2005-03-11 10:18  takehiro
+
+	* libmp3lame/tables.h (takehiro-2002_05_07-experimental):
+
+	make sfBandIndex[] as static.
+
+2005-03-11 10:11  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	fix build problem when without decoder (--disable-decoder)
+
+2005-03-11 09:41  takehiro
+
+	* configMS.h (takehiro-2002_05_07-experimental):
+
+	fix build problem with Makefile.unix
+
+2005-03-11 09:40  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	supress warnings when without decoder (--disable-decoder)
+
+2005-03-11 09:40  takehiro
+
+	* frontend/: brhist.c, brhist.h (takehiro-2002_05_07-experimental):
+
+	make Console_IO as static.
+
+2005-03-11 09:38  takehiro
+
+	* Makefile.unix (takehiro-2002_05_07-experimental):
+
+	TAKEHIRO_IEEE754_HACK -> USE_IEEE754_HACK
+
+2005-03-11 09:29  takehiro
+
+	* libmp3lame/gain_analysis.c (takehiro-2002_05_07-experimental):
+
+	remove redundant pragma. this one is declared in configMS.h
+
+2005-03-11 03:06  takehiro
+
+	* Makefile.in, ACM/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-03-11 03:05  takehiro
+
+	* ACM/Makefile.am (takehiro-2002_05_07-experimental):
+
+	remove unused file
+
+2005-03-08 23:07  robert
+
+	* Makefile.unix, frontend/parse.c, libmp3lame/VbrTag.c,
+	  libmp3lame/bitstream.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/presets.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h:
+
+	removing some unused member of lame_internal_flags structure
+
+2005-03-06 18:59  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	faster noquant_count_bits
+
+2005-03-06 16:56  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2005-03-06 16:17  bouvigne
+
+	* libmp3lame/: presets.c, version.h:
+
+	updated V3 and V2 presets
+
+2005-03-06 13:17  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	changed 2.0f -> (FLOAT)2.0, for --enable-all-double
+
+2005-03-05 18:26  bouvigne
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c,
+	  vbrquantize.c:
+
+	slightly faster quantization (not totally sure if it is really faster)
+
+	Also fixed a severe bug in ISO quantization when not using the IEEE hack
+
+2005-03-05 13:45  bouvigne
+
+	* configMS.h, libmp3lame/lame.c, libmp3lame/quantize.c,
+	  libmp3lame/util.h:
+
+	update of the intrinsics coding style
+
+2005-03-05 12:40  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	minor speed increase in calc_noise
+
+2005-03-03 17:01  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	fix IS ratio display.
+
+2005-03-03 16:59  takehiro
+
+	* frontend/: main.c, timestatus.c
+	  (takehiro-2002_05_07-experimental):
+
+	print out histgram even when CBR encoding.
+
+2005-03-02 17:50  takehiro
+
+	* config.h.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-03-02 17:46  takehiro
+
+	* configure, configure.in (takehiro-2002_05_07-experimental):
+
+	fix --enable-double-float does not work at all.
+
+2005-03-02 17:01  takehiro
+
+	* config.h.in (takehiro-2002_05_07-experimental):
+
+	the previous one contains gabages... regen.
+
+2005-03-02 16:59  takehiro
+
+	* libmp3lame/util.c (takehiro-2002_05_07-experimental):
+
+	fix debug build on some non-x86 linux machines.
+
+2005-03-02 16:58  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix for some 64bit machines (ie. Alpha)
+
+2005-03-02 15:35  takehiro
+
+	* configure, config.h.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-03-01 16:59  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	add check for vecLib/vDSP.h, to prepare for Altivec optimization.
+
+2005-02-28 22:45  bouvigne
+
+	* libmp3lame/: quantize_pvt.c, quantize_pvt.h, util.h:
+
+	calc_noise is back to the C version
+
+2005-02-28 16:52  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	some IEEE754 hack for the CPU with small cache.
+
+2005-02-27 22:03  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	calc_noise:
+	fixed an assertion failure in frames with no big_values
+
+2005-02-27 20:43  bouvigne
+
+	* libmp3lame/: quantize_pvt.c, quantize_pvt.h, util.h:
+
+	sse version of calc_noise (speedup is very small)
+
+2005-02-27 17:40  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it sometimes fail to encode the short block.
+
+2005-02-27 15:08  bouvigne
+
+	* configMS.h, libmp3lame/quantize.c, libmp3lame/util.h:
+
+	slightly faster init_xrpow_core_sse
+
+2005-02-27 14:25  takehiro
+
+	* libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	now alpha13
+
+	- replaygain radio/accurate is implemented.
+	  * including replaygain support even when the input is mp3 file.
+	    this is not supported on the current LAME3.x
+
+	- support "TLEN" ID3v2 tag.
+
+	- fix frame # estimation when the input is mp3.
+
+	- fix VBR tag infomation leakage.
+
+	- fix mpeg1 layer1,2 decoder bug.
+
+	- Robert's new eye candy for the frontend.
+
+	- one more reentrant work for the MP3 decoder
+
+	- SSE version of FFT, done by Gilad Raichshtain
+
+	- small optimizations. but replaygain makes it slow down much,
+	  the optimizations are hidden by it...
+
+	- some PPC code added from Robert Stiles and Hans-Peter Dusel.
+	  But not work at all, at least currently.
+
+2005-02-27 14:16  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	sync with the main branch.
+	- Robert's new eye candy.
+
+2005-02-26 14:06  takehiro
+
+	* frontend/: brhist.c, main.c, main.h, parse.c, timestatus.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix duplicated variable of "brhist"
+
+2005-02-26 09:38  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	added TLEN tag when id3v2 tag is used.
+	(RFE #1064076)
+
+2005-02-26 06:21  takehiro
+
+	* frontend/get_audio.c:
+
+	fix mp3 frame # estimation (bugid #934072).
+
+2005-02-26 05:41  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix # of mp3 frames estimation (bugid #934072).
+
+2005-02-25 19:01  bouvigne
+
+	* configMS.h:
+
+	intrinsics support for ICL
+
+2005-02-25 01:21  robert
+
+	* frontend/: brhist.c, timestatus.c:
+
+	RH_HIST: don't print unused channel modes and block types
+
+2005-02-24 00:27  robert
+
+	* frontend/brhist.c:
+
+	fix scrolling problem I introduced with the last commit
+
+2005-02-23 17:58  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	slightly faster calc_noise
+
+2005-02-22 02:06  robert
+
+	* libmp3lame/psymodel.c:
+
+	Compile time option to enable GPSYCHO like block type switching in NSPSYTUNE.
+	Due to differences in convolution, the switching does not happen exactly
+	as in GPSYCHO. (disabled by default, edit psymodel.c to activate)
+
+2005-02-19 22:47  robert
+
+	* frontend/: brhist.c, brhist.h, main.c:
+
+	some statistics about block type distribution
+
+2005-02-19 18:48  bouvigne
+
+	* configMS.h:
+
+	conditionnal intrinsics support for MSVC (probably also works for ICL)
+
+2005-02-19 15:32  bouvigne
+
+	* libmp3lame/: lame.c, quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  util.h:
+
+	SSE intrinsic version of init_xrpow
+	It is now using 1% of total time (using 4% in the standard version)
+
+2005-02-15 06:39  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	fix for old compilers.
+
+2005-02-14 17:01  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	added MP3 transcoding TODO.
+
+2005-02-14 15:46  takehiro
+
+	* libmp3lame/tags.c, testcase.mp3
+	  (takehiro-2002_05_07-experimental):
+
+	fix information leakage when VBR tag write out.
+
+2005-02-14 15:14  takehiro
+
+	* Makefile.am, Makefile.in, testcase.mp3
+	  (takehiro-2002_05_07-experimental):
+
+	added tag itself to test when "make test"
+
+2005-02-14 13:15  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	fix it crashes with floating point exception when without --clipdetect option.
+
+2005-02-14 13:12  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.h, tags.c
+	  (takehiro-2002_05_07-experimental):
+
+	make the clip detection work.
+
+2005-02-14 13:11  takehiro
+
+	* libmp3lame/gain_analysis.c (takehiro-2002_05_07-experimental):
+
+	do not use "double"
+
+2005-02-14 12:58  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	updated
+
+2005-02-14 12:54  takehiro
+
+	* libmp3lame/gain_analysis.c (takehiro-2002_05_07-experimental):
+
+	clean up.
+	- remove duplicated pragma.
+	- do not unroll manually.
+
+2005-02-13 16:35  takehiro
+
+	* libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental):
+
+	make it reentrant.
+
+2005-02-13 14:42  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	minor speedup
+
+2005-02-12 16:51  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	oops, enbugged...
+	now --replaygain-accurate runs (at least it does not crash).
+
+2005-02-12 16:31  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix decoder initialization when --replaygain-accurate.
+
+2005-02-12 16:30  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	cleanup
+
+2005-02-12 15:59  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	prepare for --replaygain-accurate. only preparation. not works.
+
+2005-02-12 15:58  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	added/cleaned up the replaygain related APIs.
+
+2005-02-12 08:32  takehiro
+
+	* frontend/main.c, frontend/main.h, frontend/parse.c,
+	  libmp3lame/bitstream.c, libmp3lame/encoder.h,
+	  libmp3lame/gain_analysis.c, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	replaygain support (1)
+	- fast replaygain now works.
+
+2005-02-09 01:45  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	code simplification
+
+2005-02-08 11:06  takehiro
+
+	* libmp3lame/: Makefile.am, Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	fix mingw build problem, as is done on the main branch by Robert.
+
+2005-02-07 22:02  robert
+
+	* configure.in, libmp3lame/Makefile.am, libmp3lame/Makefile.in:
+
+	fixing mingw32 configure problems
+
+2005-02-07 13:45  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	added (FLOAT) cast to the floating point constants.(one more)
+
+2005-02-07 12:28  takehiro
+
+	* libmp3lame/: encoder.h, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	reduce malloc/free as is done in the main branch by Robert.
+
+2005-02-06 23:05  robert
+
+	* libmp3lame/: quantize.c, vbrquantize.c, vbrquantize.h:
+
+	some MSVC warning level 4 issues resolved
+
+2005-02-06 20:23  robert
+
+	* libmp3lame/: quantize.c, takehiro.c, vbrquantize.c:
+
+	resolved compiler warnings
+
+2005-02-06 19:49  robert
+
+	* libmp3lame/: lame.c, machine.h, quantize_pvt.c, util.c, util.h,
+	  vbrquantize.c:
+
+	lame.c: fixed lost break in lame_init_parms
+		reduced calloc/free calls (where called once per frame, now once per run)
+	machine.h: removed IIPOW20
+	util.c, util.h: removed VBR_t, added in_buffer_[0/1] to lame_internal_flags
+	vbrquantize.c: fixed some small rounding problem in quantize routines
+
+2005-02-05 14:14  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	eleminating dead code
+	expanding preprocessor defines
+	works probably not with GPsycho anymore, but NSPSYTUNE only (G.not tested)
+	doesn't try to use 126 bits at minimum per granule anymore, less bloating
+	on mono like signals where the difference signal is almost zero.
+
+2005-02-05 13:32  bouvigne
+
+	* libmp3lame/version.h:
+
+	bumped alpha
+
+2005-02-05 13:31  bouvigne
+
+	* libmp3lame/lame.c:
+
+	enabled ath adjustment for abr/cbr
+
+2005-02-04 18:34  bouvigne
+
+	* libmp3lame/lame.c:
+
+	sorry, I shouldn't have commited this one
+
+2005-02-02 04:35  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	remove comma, which is not allowed in C++ (but allowed in C)
+
+2005-02-02 04:11  takehiro
+
+	* libmp3lame/: psymodel.c, set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	reduce warning when with "-W" option.
+
+2005-02-01 10:29  bouvigne
+
+	* libmp3lame/: bitstream.c, lame.c, takehiro.c:
+
+	reduced warnings
+
+2005-01-30 22:31  robert
+
+	* Makefile.unix, libmp3lame/vbrquantize.c:
+
+	scalefactor allocation should work now as expected
+
+2005-01-30 22:27  robert
+
+	* libmp3lame/: machine.h, quantize_pvt.c, quantize_pvt.h:
+
+	off by one bug:
+	we do access iipow20 by values in [0,Q_MAX2] inclusive,
+	that makes Q_MAX2+1 entries in total
+
+2005-01-30 19:34  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	there's no GPSYCHO.
+
+2005-01-30 19:13  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-01-30 19:13  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	fix automatic CPU specific optimization on cygwin.
+
+2005-01-30 18:01  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen.
+
+2005-01-30 18:00  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	hope this will fix the build failure on MinGW + NASM
+
+2005-01-30 16:00  takehiro
+
+	* libmp3lame/: encoder.h, lame.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	optimize the layout of the coefficients for resampling.
+
+2005-01-30 15:51  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix it outputs message even when with --silent.
+
+2005-01-30 14:49  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	added cast to the floating point constants (one more)
+
+2005-01-30 14:42  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	added cast to floating point constants.
+
+2005-01-30 12:31  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	use bit-consumption to estimate the "goodness" of quantization,
+	as is done in LAME 3.x.
+
+2005-01-29 19:40  bouvigne
+
+	* libmp3lame/presets.c:
+
+	updated vbr presets 9 to 4
+
+2005-01-29 18:42  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	fixed a crash
+
+2005-01-29 18:11  bouvigne
+
+	* libmp3lame/: quantize_pvt.c, quantize_pvt.h, takehiro.c:
+
+	quantize_xrpow: also re-use previously computed data in short blocks
+
+2005-01-25 21:47  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	X9: more bits into reservoir
+
+2005-01-23 18:07  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.h,
+	  libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	added replaygain/nogap API
+	added replaygain commandline option.
+
+2005-01-23 18:07  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2005-01-23 18:06  takehiro
+
+	* HACKING (takehiro-2002_05_07-experimental):
+
+	update current state.
+
+2005-01-23 16:25  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	oops, quantize_xrpow optimization has been accidentally disabled in november
+
+2005-01-23 14:27  bouvigne
+
+	* libmp3lame/lame.c:
+
+	reinstated old q1 (increase only 1 sf per iteration)
+
+2005-01-22 18:15  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	problem with q1 and q0 finally found.
+	I am unable to trace it prior to "the big 3.94 merge".
+
+2005-01-22 09:19  takehiro
+
+	* libmp3lame/: tags.c, tags.h (takehiro-2002_05_07-experimental):
+
+	fix for unsigned/singed comparison warning.
+
+2005-01-20 17:10  takehiro
+
+	* libmp3lame/libmp3lame_vc6.dsp (takehiro-2002_05_07-experimental):
+
+	added fftsse.nas support
+	                                   /\\ - \\/
+
+2005-01-20 17:07  takehiro
+
+	* Makefile.MSVC, Makefile.unix (takehiro-2002_05_07-experimental):
+
+	support SSE version of FFT.
+
+2005-01-20 16:38  takehiro
+
+	* libmp3lame/quantize.c:
+
+	to clarify the relationship of "if-then-else" and suppress warnings from gcc,
+	added braces.
+
+2005-01-20 16:35  takehiro
+
+	* libmp3lame/i386/: Makefile.am, Makefile.in, choose_table.nas,
+	  fftsse.nas, ffttbl.nas (takehiro-2002_05_07-experimental):
+
+	clean up. remove unused code and tables, and update comments.
+
+2005-01-20 16:28  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2005-01-20 16:28  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2005-01-19 16:08  takehiro
+
+	* libmp3lame/: tables.c, i386/Makefile.am, i386/Makefile.in,
+	  i386/fftsse.nas, i386/ffttbl.nas
+	  (takehiro-2002_05_07-experimental):
+
+	patched version of FHT_SSE (by Gilad Raichshtain).
+	and support code for it (by me).
+
+2005-01-18 07:04  takehiro
+
+	* libmp3lame/bitstream.c, frontend/get_audio.c
+	  (takehiro-2002_05_07-experimental):
+
+	suppress warnings on MSVC6
+
+2005-01-16 18:19  takehiro
+
+	* libmp3lame/bitstream.c, libmp3lame/lame.c, mpglib/interface.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix for when --disable-decoder
+
+2005-01-16 18:12  takehiro
+
+	* mpglib/interface.h (takehiro-2002_05_07-experimental):
+
+	added prototype declaration of decode_init_for_replaygain()
+
+2005-01-16 18:08  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix memory leak when RG used. This is enbugged by the previos commit.
+
+2005-01-16 18:00  takehiro
+
+	* libmp3lame/: bitstream.c, lame.c, mpglib_interface.c
+	  (takehiro-2002_05_07-experimental):
+
+	prepare for ReplayGain merge.
+
+2005-01-15 18:12  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	to prevent a floating point exception, add a limit to retry.
+
+2005-01-15 18:10  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2005-01-15 17:15  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	use libsndfile when input is unknown RIFF-wave format
+
+2005-01-15 14:15  takehiro
+
+	* libmp3lame/libmp3lame_vc6.dsp (takehiro-2002_05_07-experimental):
+
+	libmp3lame/version.c was removed.
+
+2005-01-15 14:08  takehiro
+
+	* .cvsignore (takehiro-2002_05_07-experimental):
+
+	added configure-stamp
+
+2005-01-15 14:07  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	update frontend TODO.
+
+2005-01-15 14:02  takehiro
+
+	* Makefile.MSVC, Makefile.unix (takehiro-2002_05_07-experimental):
+
+	libmp3lame/version.c was removed.
+
+2005-01-15 12:56  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2005-01-15 12:56  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	always use libsndfile if it is found.
+
+2005-01-15 12:30  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix mp3 input....oops.
+
+2005-01-15 12:27  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix endianness of RIFF wave PCM.
+
+2005-01-15 12:05  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, gtkanal.c, main.c, main.h,
+	  parse.c (takehiro-2002_05_07-experimental):
+
+	cleaning up LIBSNDFILE, part 3.
+
+	use libsndfile only when the frontend does not know how to handle the
+	input file format.
+
+2005-01-15 10:54  takehiro
+
+	* frontend/rtp.h (takehiro-2002_05_07-experimental):
+
+	make them static
+
+2005-01-15 10:53  takehiro
+
+	* frontend/mp3rtp.c (takehiro-2002_05_07-experimental):
+
+	make those which can be static as static.
+
+2005-01-15 09:43  takehiro
+
+	* frontend/: get_audio.c, parse.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up arround libsndfile, part 2.
+
+2005-01-15 09:30  takehiro
+
+	* frontend/: get_audio.c, get_audio.h
+	  (takehiro-2002_05_07-experimental):
+
+	part of cleaning up LIBSNDFILE
+
+2005-01-15 07:25  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, gtkanal.c, parse.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up MPEG Layer 1,2,3 input
+
+2005-01-13 19:18  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha
+
+2005-01-13 19:17  bouvigne
+
+	* libmp3lame/: quantize.c, quantize_pvt.h:
+
+	use bits in quant_comp
+
+2005-01-13 18:54  bouvigne
+
+	* libmp3lame/presets.c:
+
+	updated ath values for abr/cbr
+
+2005-01-13 18:20  bouvigne
+
+	* frontend/gtkanal.c, libmp3lame/lame-analysis.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/quantize_pvt.h:
+
+	Replaced X9 by the former X10 (ssd).
+	The abr/cbr modes are using this comparison
+
+2005-01-13 16:28  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix rounding of bitrate calculation
+
+2005-01-12 18:24  takehiro
+
+	* mpglib/: common.c, layer1.c, layer2.c
+	  (takehiro-2002_05_07-experimental):
+
+	patches from the latest debian package, including some boundary check code.
+
+2005-01-10 17:38  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, quantize.h
+	  (takehiro-2002_05_07-experimental):
+
+	changed one function name, iteration_loop -> CBR_iteration_loop
+
+2005-01-10 17:11  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix it always output the banner even when with --silent/--quiet.
+
+2005-01-10 14:48  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	testcase for alpha12
+
+2005-01-10 13:17  takehiro
+
+	* libmp3lame/quantize_pvt.h (takehiro-2002_05_07-experimental):
+
+	remove outdated comments
+
+2005-01-10 13:16  takehiro
+
+	* libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	update alpha version and psymodel version
+	- fix too much slow down with higher VBR quality (like -V0)
+	- changed long/short block switching code.
+
+2005-01-10 13:13  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	changed VBR strategy to prevent "slow down" when the higher quality (like -V0)
+	is selected.
+
+	When we cannot encode the frame without noticible distortion with the allowed
+	bitrate, simply encode the frame with the highest allowed bitrate.
+
+2005-01-10 13:10  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it abort when higher VBR. enbug at the previous comit. sorry.
+
+2005-01-10 12:38  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	for better error message
+
+2005-01-10 12:21  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	better use of "anything goes" scalefactor band when VBR.
+	faster and smaller bitrate without any quality regression (theoretically)
+
+2005-01-10 10:06  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	changed block switching to use "sum" of energy in subblocks,
+	instead of their "max".
+
+	and improve comments.
+
+2005-01-10 09:23  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	seems it cannot build on Linux and some Unix.
+	to fix this, I changed max() -> Max().
+
+2005-01-09 17:31  bouvigne
+
+	* frontend/gtkanal.c, libmp3lame/lame-analysis.h:
+
+	display SSD in mp3x
+
+2005-01-09 17:31  bouvigne
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h:
+
+	do not compute noise if best quant has no distorted band and current quant
+	is bigger than the best one
+
+2005-01-09 09:19  takehiro
+
+	* frontend/: get_audio.h, gtkanal.c, mp3x.c
+	  (takehiro-2002_05_07-experimental):
+
+	cosmetic changes (fix comments and so on)
+
+2005-01-09 09:14  takehiro
+
+	* frontend/mp3rtp.c (takehiro-2002_05_07-experimental):
+
+	clean up, mainly fixing comments
+
+2005-01-09 09:06  takehiro
+
+	* libmp3lame/: Makefile.am, Makefile.in, set_get.c, version.c
+	  (takehiro-2002_05_07-experimental):
+
+	merged version.c into set_get.c and fixed comments (there's no GPSYCHO support)
+
+2005-01-08 11:47  bouvigne
+
+	* libmp3lame/version.h:
+
+	bumped alpha
+
+2005-01-08 11:46  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	limited ATH effect in short blocks.
+	This is fundamentally wrong, but otherwise it produces bad quality
+
+2005-01-08 10:58  bouvigne
+
+	* libmp3lame/: lame.c, presets.c, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h:
+
+	updated VBR presets to match the cbr/abr changes
+	(also corrected the --cbr behavior)
+
+2005-01-08 10:56  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2005-01-05 14:23  takehiro
+
+	* frontend/: main.c, main.h, mp3x.c, parse.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove "lame_XXX" function to separate name space
+
+2005-01-05 11:08  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	updated. BTW, it seems plusv site is vanished...
+
+2005-01-01 18:19  takehiro
+
+	* configure, configure.in (takehiro-2002_05_07-experimental):
+
+	adjust spacing
+
+2004-12-31 14:42  takehiro
+
+	* frontend/: get_audio.c, main.c, main.h, parse.c
+	  (takehiro-2002_05_07-experimental):
+
+	one more clean up arround get_audio
+
+2004-12-31 14:33  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	simplify
+
+2004-12-31 12:22  takehiro
+
+	* frontend/.cvsignore (takehiro-2002_05_07-experimental):
+
+	added mp3rtp to ignore
+
+2004-12-31 12:07  takehiro
+
+	* frontend/main.c:
+
+	merge 1.73.2.34 -> 1.73.2.35
+	fix it outputs CR even when --silent/--quiet
+	(bug #973302)
+
+2004-12-31 11:56  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix it outputs CR even when --silent/--quiet
+	(bug #973302)
+
+2004-12-31 11:26  takehiro
+
+	* frontend/mp3rtp.c:
+
+	fix buffer overrun(same in my experimental branch).
+
+2004-12-31 11:23  takehiro
+
+	* frontend/mp3rtp.c (takehiro-2002_05_07-experimental):
+
+	fix buffer overrun(related to bug #1036590)
+
+	# but still it does not work correctly
+
+2004-12-31 07:37  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	adjust ABR quality/bitrate control
+
+2004-12-27 16:13  bouvigne
+
+	* libmp3lame/lame.c:
+
+	cbr/abr: adjusted lowpass
+
+2004-12-27 15:32  bouvigne
+
+	* libmp3lame/presets.c:
+
+	abr/cbr: adjusted m/s and short/long
+
+2004-12-27 10:03  takehiro
+
+	* config.h.in (takehiro-2002_05_07-experimental):
+
+	added for large(>2GB) file support.
+
+2004-12-19 18:20  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix scalefactor band region... oops.
+
+2004-12-19 18:14  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix the calculation of scalefactor value when VBR.
+
+	In the band whose allowed noise threshold is very high, we do not need to
+	encode the quantized values. Now LAME uses it properly.
+
+2004-12-19 17:16  takehiro
+
+	* libmp3lame/quantize_pvt.h (takehiro-2002_05_07-experimental):
+
+	added parenthis to avoid some side effects.
+
+2004-12-13 18:16  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	changed the order of members to localize the write access of memory.
+
+2004-12-13 18:15  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	added hard limits of threshold for ABR, to prevent too much degration
+
+2004-12-13 17:45  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it sometimes slows down too much.
+
+2004-12-13 17:16  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	change threshold for short blocks same as that of long blocks.
+
+2004-12-13 17:04  takehiro
+
+	* config.h.in (takehiro-2002_05_07-experimental):
+
+	TAKEHIRO_IEEE754 -> USE_IEEE754
+
+2004-12-13 15:09  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-12-13 14:01  takehiro
+
+	* DEFINES, Makefile.MSVC, configMS.h, configure.in,
+	  libmp3lame/bitstream.c, libmp3lame/machine.h,
+	  libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	TAKEHIRO_IEEE754_HACK -> USE_IEEE754_HACK
+
+2004-12-13 14:01  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	changed a commet.
+
+2004-12-13 12:40  takehiro
+
+	* mpglib/layer3.c (takehiro-2002_05_07-experimental):
+
+	fix MPEG2 decoding, from foobar2k
+
+2004-12-12 18:08  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	use MDCT filter in -q5 and the better.
+
+2004-12-12 17:52  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix typo
+
+2004-12-12 17:52  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix table value initialization.
+
+2004-12-12 17:51  takehiro
+
+	* libmp3lame/newmdct.c (takehiro-2002_05_07-experimental):
+
+	fix filtering not working completely... oops.
+
+2004-12-12 10:57  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	fix comment
+
+2004-12-12 10:47  takehiro
+
+	* libmp3lame/: encoder.h, lame.c, newmdct.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	new filtering algorithm. Better resolution (110Hz @ fs=44.1kHz)
+	and "not" slow much.
+
+	but not enabled by default.
+
+2004-12-12 08:26  takehiro
+
+	* libmp3lame/i386/ssesub.c (takehiro-2002_05_07-experimental):
+
+	test implementation of SSE support with imtrinsic.
+
+	TODO:
+	- how to build it and configure support ?
+	- need more functions to implement.
+
+2004-12-10 17:56  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization in lossless coding.
+
+2004-12-10 02:35  takehiro
+
+	* libmp3lame/: encoder.h, lame.c, tables.c, i386/choose_table.nas,
+	  i386/cpu_feat.nas (takehiro-2002_05_07-experimental):
+
+	MMX2 support
+
+2004-12-10 00:21  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-12-09 17:36  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	cosmetic changes & reduce warnings.
+
+2004-12-09 17:29  takehiro
+
+	* libmp3lame/: quantize.c, i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	MMX version of xr_max()
+	make VBR/ABR 1% faster.
+
+2004-12-09 17:05  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	merge from main branch.
+	- changed words; "default: foobar" -> "default=foobar"
+	- enable bitrate histogram by default
+
+2004-12-05 18:10  takehiro
+
+	* libmp3lame/: bitstream.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix encoding failure of velvet.wav with CBR 128
+
+2004-12-05 18:09  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	cosmetic change
+
+2004-12-05 17:59  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	considering the shape of window function when long/short block switching.
+
+2004-12-05 12:18  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	regen with "tag fixed" version.
+
+2004-12-05 12:16  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	fix VBR(LAME) tag contains a gabage.
+
+2004-12-02 16:29  takehiro
+
+	* frontend/.indent.pro, libmp3lame/.indent.pro, misc/.indent.pro
+	  (takehiro-2002_05_07-experimental):
+
+	I think no one uses .indent.pro
+	so I remove them.
+
+2004-12-02 16:27  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	better threshold controll for ABR.
+
+2004-11-30 19:00  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it may overflow
+
+2004-11-30 18:57  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	VBR speed optimization
+
+2004-11-30 18:55  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	fix assertion
+
+2004-11-30 18:54  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	optimization by changing table values.
+
+2004-11-30 10:19  takehiro
+
+	* configMS.h (takehiro-2002_05_07-experimental):
+
+	fix for MSVC "inline" keyword
+
+2004-11-30 09:39  takehiro
+
+	* libmp3lame/: encoder.h, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	precalculate width information
+
+2004-11-30 08:58  takehiro
+
+	* libmp3lame/: encoder.h, lame.c, quantize.c, quantize_pvt.h,
+	  takehiro.c (takehiro-2002_05_07-experimental):
+
+	table size reduction
+
+2004-11-30 08:55  takehiro
+
+	* libmp3lame/newmdct.c (takehiro-2002_05_07-experimental):
+
+	clean up.
+
+2004-11-30 07:59  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	generalized signbits encoding hack for IEEE754
+
+2004-11-30 07:52  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	IEEE754 hack for sign bit.
+
+2004-11-30 07:41  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix decoding... oops...
+
+2004-11-30 01:07  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	cleanup
+
+2004-11-30 01:05  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	tuning VBR scalefactor prediction and fix treatment of almost silent scalefactor.
+
+2004-11-29 23:41  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	fix ATHlower is always "0".
+
+2004-11-29 18:01  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	fix comments
+
+2004-11-29 18:01  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	changed VBR scalefactor prediction method.
+	use "previous" scalefactor's values as predicted value.
+
+2004-11-29 16:46  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix for out of memory.
+
+2004-11-29 04:51  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	remove unused definitions
+
+2004-11-29 04:51  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	remove console.h
+
+2004-11-28 19:10  bouvigne
+
+	* libmp3lame/: quantize_pvt.c, quantize_pvt.h, takehiro.c:
+
+	some FLOAT -> int
+
+2004-11-28 19:09  takehiro
+
+	* frontend/: Makefile.am, Makefile.in, console.c, console.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused files.
+
+2004-11-28 18:21  takehiro
+
+	* Dll/BladeMP3EncDLL.c:
+
+	added brancket to fix bugid#1003342 on sf.net
+
+2004-11-28 17:15  takehiro
+
+	* frontend/get_audio.c, frontend/parse.c, libmp3lame/lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	"-s" option is now prior to the frequency data in .wav file header.
+
+2004-11-28 15:21  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	changed double constants into FLOAT type
+
+2004-11-28 14:47  takehiro
+
+	* libmp3lame/: lame.c, mpglib_interface.c, quantize.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	To optimize more, changed sign of gfc->width[] (now they are minus value)
+
+2004-11-28 14:24  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2004-11-28 14:09  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2004-11-28 14:01  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	now ABR is based on VBR, so the -q setting has no meaning.
+
+2004-11-28 13:58  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	changed table type int -> char, to avoid cache line conflict.
+
+2004-11-28 13:40  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	little bit optimizing
+
+2004-11-28 12:58  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-11-28 12:57  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	oops... use "-mcpu" and "-mtune" by checking gcc version.
+
+2004-11-28 11:38  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	use calculation instead of table.
+	(encoding results may be different from previous versions, but that's "lossless" difference)
+
+2004-11-28 11:06  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	make them static
+
+2004-11-28 10:33  takehiro
+
+	* configure, configure.in (takehiro-2002_05_07-experimental):
+
+	changed -mcpu -> -mtune, because newer gcc doesn't like -mcpu.
+
+2004-11-28 08:47  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-11-28 08:47  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	changed optimization option
+
+2004-11-27 19:43  takehiro
+
+	* Makefile.MSVC, Makefile.in, Makefile.unix, aclocal.m4, configure,
+	  ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.am, frontend/Makefile.in,
+	  frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/lame_vc6.dsp, frontend/main.c, frontend/mp3rtp.c,
+	  frontend/mp3x_vc6.dsp, frontend/portableio.c,
+	  frontend/portableio.h, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	remove portableio.[ch]
+	use automake 1.9.2 to regen the auto* stuffs.
+
+2004-11-27 17:28  takehiro
+
+	* frontend/: get_audio.c, portableio.c, portableio.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove  Read32BitsHighLow()
+
+2004-11-27 17:21  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix file size reading
+
+2004-11-27 17:21  takehiro
+
+	* frontend/: portableio.c, portableio.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused functions.
+
+2004-11-27 09:57  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	remove AIFF support from LAME standard input code.
+	if you need an AIFF support, use libsndfile instead.
+
+2004-11-23 18:38  takehiro
+
+	* configure, configure.in, frontend/get_audio.c
+	  (takehiro-2002_05_07-experimental):
+
+	support libsndfile 1.0.x
+	(and remove support that of 0.x)
+
+2004-11-23 15:18  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization.
+
+2004-11-23 15:18  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	- ABR quality adjustment.
+	(oops, I forget to commit in the previous one)
+
+2004-11-23 15:17  takehiro
+
+	* libmp3lame/: quantize.c, encoder.h
+	  (takehiro-2002_05_07-experimental):
+
+	- ABR quality adjustment (little bit).
+	- manually inlining finish_VBR_coding()
+
+2004-11-23 09:46  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	supress magic numbers
+
+2004-11-23 08:27  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization by reducing branch.
+
+2004-11-21 18:45  takehiro
+
+	* libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	now alpha 11, including new ABR
+
+2004-11-21 18:45  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	clean up
+
+2004-11-21 18:41  takehiro
+
+	* libmp3lame/: encoder.h, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	brand new ABR algorith.
+	- simply adjust the psycho-threshold by checking (target bitrate) vs.
+	 (current bitrate)
+
+2004-11-21 18:32  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	fix VBR tag is completely messed up!
+
+2004-11-21 12:28  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.h, lame.c, psymodel.c,
+	  quantize.c, quantize_pvt.h, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the initialization of gr_info[][]
+
+2004-11-21 12:26  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	cosmetic change
+
+2004-11-21 12:25  takehiro
+
+	* libmp3lame/tables.h (takehiro-2002_05_07-experimental):
+
+	changed comments
+
+2004-11-21 12:23  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	optimize in the case of width = 2.
+
+2004-11-21 10:45  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, main.c
+	  (takehiro-2002_05_07-experimental):
+
+	use 32bit input even when MP3 decoding, to prepare better precision mp3 decoder.
+	remove "get_audio16()" function, because now it is not needed at all.
+
+2004-11-20 18:43  takehiro
+
+	* frontend/: gtkanal.c, main.c (takehiro-2002_05_07-experimental):
+
+	To make mp3x use 32bit integer encoding interface.
+	Because it has used 16bit interface, it could not analyze the 32bit input data.
+	Now it is fixed.
+
+2004-11-20 11:49  takehiro
+
+	* frontend/gpkplotting.c (takehiro-2002_05_07-experimental):
+
+	merge from main branch.
+	- more explicit display of noise values
+
+2004-11-17 19:54  bouvigne
+
+	* libmp3lame/: quantize.c, util.h:
+
+	noise shaping type 3:
+	amplify bands within 50% of distortion,
+	then refine by amplifying the most distorted band
+
+2004-10-24 14:26  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha
+
+2004-10-24 14:25  bouvigne
+
+	* libmp3lame/lame.c:
+
+	reworked -q values:
+	noise_shaping_amp 2 removed
+	full Huffman search removed in q0
+	full outer loop search enabled in q0
+
+2004-10-24 14:21  bouvigne
+
+	* libmp3lame/: quantize.c, util.h:
+
+	full outer loop search:
+	allows to search for better quantization until global_gain==255
+
+2004-09-18 10:20  takehiro
+
+	* ACM/ACM.cpp (takehiro-2002_05_07-experimental):
+
+	sync with main branch (r1.17)
+	- fix by Dmitriy Startsev
+
+2004-09-18 10:09  takehiro
+
+	* Dll/BladeMP3EncDLL.c (takehiro-2002_05_07-experimental):
+
+	fix bug item #1003342
+
+2004-08-19 19:49  bouvigne
+
+	* doc/html/history.html:
+
+	added 3.96.1
+
+2004-08-19 19:36  bouvigne
+
+	* doc/html/modes.html:
+
+	spelling, clarifications
+
+2004-07-28 20:33  robert
+
+	* configure, configure.in (RELEASE__3_96-bugfix-branch):
+
+	updating configure to version number 3.96.1
+
+2004-07-21 18:59  bouvigne
+
+	* doc/html/: history.html, index.html
+	  (RELEASE__3_96-bugfix-branch):
+
+	updated for 3.96.1
+
+2004-07-21 18:52  bouvigne
+
+	* ACM/: ACM.cpp, ACMStream.cpp, acm.rc
+	  (RELEASE__3_96-bugfix-branch):
+
+	sync fixes from main branch
+
+2004-07-21 18:46  bouvigne
+
+	* ACM/ACM.cpp:
+
+	fix by Dmitriy Startsev
+
+2004-07-11 18:12  bouvigne
+
+	* ACM/acm.rc:
+
+	updated version number because of recent fixes
+
+2004-07-11 18:11  bouvigne
+
+	* ACM/ACMStream.cpp:
+
+	fixed a potential crash
+
+2004-07-11 18:05  bouvigne
+
+	* ACM/ACM.cpp:
+
+	Should fix the display issue under win95
+
+2004-07-11 17:11  bouvigne
+
+	* ACM/ACM.cpp:
+
+	fix crash when used through directshow.
+	It still does not work in this configuration, but at least it does not crash anymore.
+
+2004-06-27 19:32  robert
+
+	* libmp3lame/psymodel.c (RELEASE__3_96-bugfix-branch):
+
+	fixed short block detection using mid and side channels
+
+2004-06-27 13:02  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	fixed short block detection using mid and side channels
+
+2004-06-26 17:08  robert
+
+	* Makefile.unix, ACM/ACM.cpp, libmp3lame/gain_analysis.c,
+	  libmp3lame/gain_analysis.h, libmp3lame/lame.c,
+	  libmp3lame/psymodel.c, libmp3lame/vbrquantize.c,
+	  libmp3lame/version.c, libmp3lame/version.h
+	  (RELEASE__3_96-bugfix-branch):
+
+	back porting some bug fixes into 3.96 stable branch
+
+	patch by takehiro:
+
+	 fix bug id 921798
+	 http://sourceforge.net/tracker/index.php?func=detail&aid=921798&group_id=290&atid=100290
+
+	 This is reported as bug for "BCC", but it may happen for every compiler.
+
+	patch by olcios:
+
+	 A better fix for the FP x86 problem. Provided by Andrew Church. Modified by olcios.
+
+	patch by bouvigne:
+
+	 restored use of padding when not using bit reservoir
+
+	patch by robert:
+
+	 bug fix for lame crashing occasionally when using --vbr-new
+
+2004-06-26 15:35  bouvigne
+
+	* libmp3lame/encoder.c:
+
+	lame_encode_frame_init
+
+2004-06-20 17:28  bouvigne
+
+	* doc/html/history.html, libmp3lame/lame.c:
+
+	restored use of padding when not using bit reservoir
+
+2004-06-18 19:15  bouvigne
+
+	* libmp3lame/: bitstream.c, encoder.c, l3side.h, lame.c,
+	  mpglib_interface.c, newmdct.c, psymodel.c, quantize.c,
+	  quantize_pvt.c, quantize_pvt.h, reservoir.c, takehiro.c, util.c,
+	  VbrTag.c, util.h, vbrquantize.c, vbrquantize.h, version.h:
+
+	FLOAT8 -> FLOAT
+
+2004-06-06 15:31  bouvigne
+
+	* frontend/: gpkplotting.c, gtkanal.c:
+
+	more explicit display of noise values
+
+2004-06-06 14:15  bouvigne
+
+	* frontend/gtkanal.c:
+
+	display more scalefactor band splitting lines.
+	(as in exp branch)
+
+2004-06-06 09:48  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2004-06-05 15:46  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	small speedup: init_xrpow only up to max non-zero coeff
+
+2004-05-31 17:35  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	reduced the number of calls to quantization function
+
+2004-05-27 23:55  robert
+
+	* libmp3lame/version.h:
+
+	now at 3.97 alpha 2
+
+2004-05-27 23:52  robert
+
+	* libmp3lame/: takehiro.c, vbrquantize.c:
+
+	bug fix for lame crashing occasionally when using --vbr-new
+	PS: scalefactor allocation is still not optimal
+
+2004-05-26 21:37  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	fixed a stupid bug
+
+2004-05-26 21:04  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	fixed a bug in quantize_xrpow, but it is still crashing
+	Oddly, cbr/abr are working fine, and low vbr settings are also working fine.
+	-V2 is not working
+
+2004-05-23 13:16  bouvigne
+
+	* libmp3lame/: quantize_pvt.c, quantize_pvt.h, takehiro.c, util.h:
+
+	Use function pointer to select between quantization methods.
+	This should ease plugin of vectorized versions
+
+2004-05-23 12:47  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	factorized code which is selecting which lines to quantize
+
+2004-05-23 12:43  bouvigne
+
+	* configMS.h:
+
+	version
+
+2004-05-23 06:23  takehiro
+
+	* libmp3lame/: tables.c, tables.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	make some tables as static
+
+2004-05-23 04:23  takehiro
+
+	* libmp3lame/i386/: choose_table.nas, fft3dn.nas, quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	fix possible link problem on cygwin
+
+2004-05-22 16:18  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	fix cygwin build
+
+2004-05-22 14:26  takehiro
+
+	* libmp3lame/: encoder.h, quantize_pvt.h, tables.c, takehiro.c,
+	  i386/choose_table.nas (takehiro-2002_05_07-experimental):
+
+	reduce MMX code, because C code is faster than asm one :p
+	and trivial coding tweaks.
+
+2004-05-22 14:02  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	optimization by reducing conditional jumps
+
+2004-05-22 13:53  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	optimization by changing multiply -> shift
+
+2004-05-22 10:54  takehiro
+
+	* libmp3lame/: takehiro.c, i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	faster choose_table_*() implimentation. use cached value of ix_max().
+
+2004-05-22 09:14  takehiro
+
+	* libmp3lame/: takehiro.c, i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	changed choose_table_*() API, for further optimizations.
+
+2004-05-16 16:57  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	choose_from2 is only used when table=1 or 3.
+
+2004-05-16 16:54  takehiro
+
+	* libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	added ReplayGain tag output.
+
+2004-05-16 16:49  takehiro
+
+	* include/lame.h, libmp3lame/encoder.h, libmp3lame/lame.c,
+	  libmp3lame/tags.c (takehiro-2002_05_07-experimental):
+
+	Changed API of tag-output function making it possible to return the error code.
+	and clean up arround tag output code.
+
+2004-05-16 16:47  takehiro
+
+	* libmp3lame/gain_analysis.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-05-16 16:46  takehiro
+
+	* frontend/: get_audio.c, main.c, portableio.c, portableio.h
+	  (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2004-05-16 12:48  takehiro
+
+	* Makefile.unix (takehiro-2002_05_07-experimental):
+
+	to follow that amiga_mpega.c is removed.
+
+2004-05-16 12:47  takehiro
+
+	* frontend/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-05-15 13:06  takehiro
+
+	* Makefile.MSVC, libmp3lame/libmp3lame_vc6.dsp
+	  (takehiro-2002_05_07-experimental):
+
+	added gain_analysis.[ch]
+
+2004-05-15 13:04  takehiro
+
+	* ACM/LameACM.inf (takehiro-2002_05_07-experimental):
+
+	(very experimental thing) added "register/unregister program"
+
+2004-05-15 13:03  takehiro
+
+	* ACM/TODO (takehiro-2002_05_07-experimental):
+
+	it always "preset" so the itmes are removed.
+
+2004-05-15 12:58  takehiro
+
+	* Makefile.unix (takehiro-2002_05_07-experimental):
+
+	fix testcase
+	added gain_analysis
+
+2004-05-15 10:37  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-05-15 10:09  takehiro
+
+	* frontend/: Makefile.am, amiga_mpega.c
+	  (takehiro-2002_05_07-experimental):
+
+	do not use amiga_mpega.c. use mpg123 instead.
+
+2004-05-15 08:56  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.h, gain_analysis.c
+	  (takehiro-2002_05_07-experimental):
+
+	added replaygain calculation code.
+	(but not enabled yet)
+
+2004-05-14 19:29  aleidinger
+
+	* Makefile.in, ACM/Makefile.in, ACM/ADbg/Makefile.in,
+	  ACM/ddk/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in,
+	  debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in,
+	  doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in,
+	  include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, mac/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in:
+
+	regen with new auto* version
+
+2004-05-14 19:26  aleidinger
+
+	* configure:
+
+	regen with new auto* version
+
+2004-05-14 19:22  aleidinger
+
+	* aclocal.m4:
+
+	regen with new auto* version
+
+2004-05-14 19:20  aleidinger
+
+	* frontend/depcomp, libmp3lame/depcomp, mpglib/depcomp, depcomp,
+	  install-sh, missing:
+
+	update to a new version
+
+2004-05-14 19:12  aleidinger
+
+	* testcase.mp3:
+
+	update it to have a more sane number
+
+2004-05-14 19:11  aleidinger
+
+	* Makefile.am:
+
+	Tell the users that they do not have to care about the output of make test.
+
+2004-05-14 17:29  takehiro
+
+	* libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-05-14 17:11  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	reduce warning
+
+2004-05-14 16:55  takehiro
+
+	* libmp3lame/Makefile.am (takehiro-2002_05_07-experimental):
+
+	added gain_analysis.[ch]
+
+2004-05-05 06:34  takehiro
+
+	* libmp3lame/: lame.c, mpglib_interface.c
+	  (takehiro-2002_05_07-experimental):
+
+	free the decoding work area of replaygain analysis.
+
+2004-05-05 06:29  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix memory leakage when it uses decoding functions.
+
+2004-05-05 06:29  takehiro
+
+	* libmp3lame/: gain_analysis.c, gain_analysis.h
+	  (takehiro-2002_05_07-experimental):
+
+	sync with the latest version
+
+2004-05-05 06:27  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	fix for the machine without memset()
+
+2004-05-05 06:23  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix for the machine without memset()
+
+2004-05-05 06:22  takehiro
+
+	* frontend/: get_audio.c, main.c
+	  (takehiro-2002_05_07-experimental):
+
+	one more AIFF cleanup
+
+2004-05-05 06:18  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, portableio.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up AIFF related code. but still it cannot read AIFF file...
+
+2004-05-05 06:02  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, main.c, mp3rtp.c
+	  (takehiro-2002_05_07-experimental):
+
+	reduce warning
+
+2004-05-05 05:55  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	remove AMIGA_MPEG support.
+	use mpg123 instead.
+
+2004-04-25 13:08  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	fix "stop/plot" button working.
+	Thanx reporting, Gaby.
+
+2004-04-25 12:42  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix obvious bugs...
+
+2004-04-25 12:33  bouvigne
+
+	* frontend/gtkanal.c:
+
+	fixed mp3x monopolizing processor in its idle loop
+
+2004-04-25 10:18  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	merged into lame.c
+
+2004-04-25 10:07  takehiro
+
+	* libmp3lame/: Makefile.in, libmp3lame_vc6.dsp
+	  (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-04-25 09:47  takehiro
+
+	* Makefile.MSVC, Makefile.unix, frontend/brhist.c, include/lame.h,
+	  libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/encoder.h, libmp3lame/lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	merged encoder.c into lame.c.
+
+	remove lame_bitrate_kpbs(). use bitrate_table[][] directly instead of it.
+
+2004-04-25 09:06  takehiro
+
+	* libmp3lame/: encoder.h, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	reduce memory usage by moving maxXR[] from gi to gfc.
+
+2004-04-25 06:13  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	fix bug id 921798
+	http://sourceforge.net/tracker/index.php?func=detail&aid=921798&group_id=290&atid=100290
+
+	This is reported as bug for "BCC", but it may happen for every compiler.
+
+2004-04-24 18:29  olcios
+
+	* libmp3lame/gain_analysis.h:
+
+	changed some constants' types to long
+
+2004-04-24 17:47  olcios
+
+	* libmp3lame/: gain_analysis.c, gain_analysis.h:
+
+	A better fix for the FP x86 problem. Provided by Andrew Church. Modified by olcios.
+
+2004-04-24 17:02  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix it access to the log2tab[LARGE_BITS]
+
+2004-04-24 16:58  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it always use the bit pressure algorith for short blocks on long blocks.
+
+2004-04-24 16:42  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	remove one mp3x TODO item (but still many TODOs about mp3x...)
+
+2004-04-24 16:33  takehiro
+
+	* testcase.mp3, include/lame.h, libmp3lame/bitstream.c,
+	  libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/tags.c
+	  (takehiro-2002_05_07-experimental):
+
+	one more error code clean up.
+
+2004-04-24 16:31  takehiro
+
+	* mpglib/: interface.c, layer3.c
+	  (takehiro-2002_05_07-experimental):
+
+	cosmetic change and comment style fix.
+
+2004-04-24 16:30  takehiro
+
+	* mpglib/mpglib.h (takehiro-2002_05_07-experimental):
+
+	patch from Dmitriy Startsev.
+	(yes, this is from Dmitriy... sorry)
+
+2004-04-24 16:27  takehiro
+
+	* libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental):
+
+	to check the "free-ed memory access"
+
+2004-04-24 16:26  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x cannot displays short mp3 file (it segfaults).
+
+2004-04-24 13:36  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix flush code
+
+2004-04-24 13:09  takehiro
+
+	* include/lame.h, libmp3lame/lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	update error code.
+
+2004-04-24 11:09  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.h, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix comments and cosmetic change
+
+2004-04-24 10:44  takehiro
+
+	* libmp3lame/: bitstream.c, lame.c, tags.c, tags.h, util.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix CRC calculation
+	remove redundant include
+	added some comments about flushing
+
+2004-04-24 10:40  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	remove commnts, which are the same as in lame.h
+
+2004-04-24 10:39  takehiro
+
+	* libmp3lame/psymodel.c, libmp3lame/quantize.c, include/lame.h,
+	  libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-04-18 18:11  takehiro
+
+	* libmp3lame/: lame.c, tables.c, tags.c, util.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up arround VBR Tag frame size.
+	clean up arround "POSTDELAY"
+
+2004-04-18 17:30  takehiro
+
+	* Makefile.MSVC, Makefile.unix (takehiro-2002_05_07-experimental):
+
+	follow the filename changes
+
+2004-04-18 17:24  takehiro
+
+	* libmp3lame/: util.c, util.h (takehiro-2002_05_07-experimental):
+
+	fix build problem on Linux
+
+2004-04-18 17:16  takehiro
+
+	* libmp3lame/libmp3lame_vc6.dsp (takehiro-2002_05_07-experimental):
+
+	follow the file name change.
+
+2004-04-18 17:10  takehiro
+
+	* mpglib/interface.c (takehiro-2002_05_07-experimental):
+
+	remove redundant include
+
+2004-04-18 17:10  takehiro
+
+	* libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-04-18 17:09  takehiro
+
+	* libmp3lame/: Makefile.am, VbrTag.c, VbrTag.h, bitstream.c,
+	  bitstream.h, encoder.c, id3tag.c, id3tag.h, lame.c, tags.c,
+	  tags.h, util.c, util.h (takehiro-2002_05_07-experimental):
+
+	merged "VbrTag.c" and "id3tag.c" into one (tags.c)
+	merged "VbrTag.h" and "id3tag.h" into one (tags.h)
+	simplify the CRC related code.
+
+2004-04-18 12:59  takehiro
+
+	* mpglib/interface.c (takehiro-2002_05_07-experimental):
+
+	fix mpglib problem. The patch is from Kristian Hermansen.
+	(forwarded by Dmitriy Startsev)
+
+2004-04-18 12:43  takehiro
+
+	* libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, encoder.c,
+	  encoder.h, id3tag.c, id3tag.h, lame.c, newmdct.c, psymodel.c,
+	  quantize_pvt.h, tables.c, tables.h
+	  (takehiro-2002_05_07-experimental):
+
+	* large clean up arround Tags and Header.
+	  - directly output the Tags/Headers instead of using add_dummy_byte()
+
+	reduce memory usage by using "union"
+
+2004-04-18 11:42  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	added MP3X bug as TODO.
+
+2004-04-18 11:11  takehiro
+
+	* libmp3lame/: VbrTag.c, bitstream.c, encoder.c, encoder.h, lame.c,
+	  newmdct.c, psymodel.c, quantize.c, tables.c, takehiro.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up lame_t structure.
+
+2004-04-18 10:32  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	fix MP3X monopolizing the processor in its idle loop.
+
+2004-04-14 22:15  robert
+
+	* frontend/get_audio.c, mpglib/common.c, mpglib/common.h,
+	  mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/interface.c,
+	  mpglib/layer1.c, mpglib/layer2.c, mpglib/layer2.h,
+	  mpglib/layer3.c, mpglib/layer3.h, mpglib/mpg123.h,
+	  mpglib/mpglib.h, mpglib/tabinit.c:
+
+	fixing the decoding issue with the reported "Christmas" song.
+	I've taken Takehiro's modifications and getting the same output
+	as he does on his 4.0 branch. Imho this is not the best solution
+	to the given problem, but it works for now.
+
+2004-04-14 16:48  takehiro
+
+	* Dll/BladeMP3EncDLL.c (takehiro-2002_05_07-experimental):
+
+	fix build problem reported by PAN-san.
+
+2004-04-13 17:21  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix fatal bug in scalefactor value lossless coding.
+
+2004-04-12 12:29  aleidinger
+
+	* debian/lame.docs:
+
+	PRESETS.draft does not exists anymore.
+
+2004-04-11 18:16  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	adjust ATH adjustment.
+
+2004-04-11 18:15  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix "1 sample" delay
+
+2004-04-11 17:24  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x FFT energy display.
+
+2004-04-11 15:39  glessard
+
+	* frontend/main.c, include/lame.h, libmp3lame/set_get.c:
+
+	Added two sets of set/get functions to the API. They modify and read the
+	nogap_total and nogap_current variables of the internal_flags struct.
+	Added calls to these functions to the gapless-encoding loop of the frontend.
+
+2004-04-11 15:06  aleidinger
+
+	* ChangeLog:
+
+	update
+
+2004-04-11 15:04  aleidinger
+
+	* configure:
+
+	regen
+
+2004-04-11 15:00  aleidinger
+
+	* config.h.in:
+
+	Add some missing LARGEFILE pieces. This patch is also in the generated
+	lame-3.96 tarball, it just enters the CVS repository for 3.97 for
+	organizational reasons.
+
+2004-04-11 14:58  aleidinger
+
+	* configure.in:
+
+	Welcome to lame 3.97.
+
+2004-04-11 14:27  takehiro
+
+	* libmp3lame/: encoder.c, encoder.h, lame.c, set_get.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	merged gfc->num_channels & gfc->channels_in
+	some trivial clean up.
+
+2004-04-11 13:54  takehiro
+
+	* libmp3lame/VbrTag.c, libmp3lame/encoder.h, libmp3lame/lame.c,
+	  libmp3lame/set_get.c, libmp3lame/tables.c, libmp3lame/util.c,
+	  libmp3lame/util.h, include/lame.h
+	  (takehiro-2002_05_07-experimental):
+
+	changed error/debug/normal message output code.
+
+2004-04-11 13:10  takehiro
+
+	* debian/: changelog, lame.docs, rules
+	  (takehiro-2002_05_07-experimental):
+
+	updated for lame4
+
+2004-04-11 13:09  takehiro
+
+	* libmp3lame/: encoder.c, encoder.h, lame.c, mpglib_interface.c,
+	  tables.c (takehiro-2002_05_07-experimental):
+
+	clean up the members of structure lame_t.
+
+2004-04-11 13:08  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	fix build problem when --disable-analysis-hook
+
+2004-04-11 13:05  bouvigne
+
+	* libmp3lame/version.h:
+
+	3.97a1
+
+2004-04-11 13:03  bouvigne
+
+	* libmp3lame/version.h:
+
+	release 3.96
+
+2004-04-11 13:03  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2004-04-11 13:02  bouvigne
+
+	* debian/changelog:
+
+	updated debian changelog
+
+2004-04-11 13:01  bouvigne
+
+	* libmp3lame/presets.c:
+
+	use X9 to select abr/cbr quantization,
+	use sfscale up to 160kbps
+
+2004-04-11 12:50  bouvigne
+
+	* Makefile.in:
+
+	manually updated Makefile.in
+
+2004-04-11 12:12  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen (by hand)
+
+2004-04-11 12:10  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	fix confusion arround "decoder" and "decode"
+
+2004-04-11 11:58  takehiro
+
+	* libmp3lame/lame-analysis.h, frontend/gtkanal.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2004-04-11 11:57  takehiro
+
+	* libmp3lame/: encoder.c, encoder.h, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	one more fix for "very the beginig samples"
+
+2004-04-11 11:55  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it sometimes goes into infinite loop when with i-stereo.
+
+2004-04-10 16:58  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x display delay.
+
+2004-04-10 16:56  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	remove redandunt code.
+
+2004-04-10 16:48  takehiro
+
+	* libmp3lame/: encoder.c, encoder.h, lame.c, newmdct.c, psymodel.c,
+	  quantize.c, set_get.c (takehiro-2002_05_07-experimental):
+
+	fix "start" delay and reduce buffer size.
+	still there's known bugs in mp3x and the tail part encoding.
+
+2004-04-10 16:15  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix trivial bug when stereo input
+
+2004-04-10 15:43  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, gtkanal.c, lametime.c,
+	  lametime.h, main.c, mp3rtp.c (takehiro-2002_05_07-experimental):
+
+	frontend code fix and clean up.
+	- fix it cut the beginning 17 samples when input is .wav file.
+	- fix function names. remove "lame_" prefix from the functions which is not
+	  LAME API.
+	- and some trivial clean up.
+
+2004-04-10 13:23  takehiro
+
+	* frontend/gpkplotting.c (takehiro-2002_05_07-experimental):
+
+	remove unused definition
+
+2004-04-10 12:08  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	clarify the comment
+
+2004-04-04 15:13  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	reduce POSTDELAY when MPEG2 layer3
+
+2004-04-04 12:49  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.h,
+	  libmp3lame/lame.c, libmp3lame/set_get.c, libmp3lame/tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	rename ns-(bass|alto|treble) options and their implementation.
+
+2004-04-04 12:45  takehiro
+
+	* mpglib/layer3.c (takehiro-2002_05_07-experimental):
+
+	always support MPEG1.
+
+2004-04-04 12:33  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2004-04-04 11:55  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2004-04-04 11:54  takehiro
+
+	* libmp3lame/: util.c, machine.h
+	  (takehiro-2002_05_07-experimental):
+
+	include file clean up.
+
+2004-04-04 11:52  takehiro
+
+	* libmp3lame/id3tag.c (takehiro-2002_05_07-experimental):
+
+	replace snprintf() with strncat() and so on, for some old systems.
+
+2004-04-03 19:30  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	work arround for short blocks with i-stereo bug.
+	and some simplification of i-stereo code.
+
+2004-04-03 19:25  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	display more scalefactor band splitting lines.
+
+2004-04-03 17:35  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix uninitialized memory access (found by valgrind).
+
+2004-04-03 17:28  bouvigne
+
+	* frontend/gtkanal.c, libmp3lame/lame-analysis.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/quantize_pvt.h:
+
+	Add X9 quantization selection method.
+	It increases applaud.wav substancially.
+	Not enabled by default
+
+2004-04-03 17:14  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	try to find better scalefactor combination when i-stereo.
+
+2004-04-03 17:07  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	remove one condition which is always stisfied.
+
+2004-04-03 13:17  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	better bit allocation when substep noise shaping.
+
+2004-04-02 16:37  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix "all even" hack.
+
+2004-04-02 15:54  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	better bit allocation for CBR.
+	- increase bit allocation on start/end blocks, where the effect of
+	  best_huffman_divide() is very weak.
+	- increase bit allocation when --substep is enabled.
+
+	some trivial clean up.
+
+2004-03-30 15:49  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix it sometimes crashes with -q0 or -q1 + CBR
+
+2004-03-28 16:14  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial simplification
+
+2004-03-28 13:11  bouvigne
+
+	* libmp3lame/version.h:
+
+	3.96 beta 2
+
+2004-03-28 13:10  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2004-03-28 13:10  bouvigne
+
+	* libmp3lame/presets.c:
+
+	updated minimal bitrate for V1 and V2
+
+2004-03-28 12:41  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	reduce array size
+
+2004-03-28 12:16  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.c, encoder.h, lame.c,
+	  quantize.c, tables.c, tables.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	warning fix, cleanup, and cosmetic change.
+
+2004-03-28 12:16  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	there is already VC6 project file. We (maybe) need .net project/solution file.
+
+2004-03-28 11:29  takehiro
+
+	* frontend/mp3x.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	remove lame_encode_finish() API
+
+2004-03-28 11:28  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	fixed mixed block statics
+	trivial optimization/clean up
+
+2004-03-27 17:08  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	- use calc_sfb_noise() and calc_sfb_noise_fast() do not return minus value.
+	- little better CBR_2nd_bitalloc()
+
+2004-03-27 14:50  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	reduce table size.
+
+2004-03-27 14:49  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix warnings
+
+2004-03-27 12:38  takehiro
+
+	* libmp3lame/: bitstream.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-03-27 11:18  takehiro
+
+	* libmp3lame/: bitstream.c, tables.c, tables.h
+	  (takehiro-2002_05_07-experimental):
+
+	simplification arround huffman code output
+
+2004-03-27 09:47  takehiro
+
+	* libmp3lame/: bitstream.c, quantize.c, quantize_pvt.h, tables.c,
+	  takehiro.c (takehiro-2002_05_07-experimental):
+
+	clean up. fix warning and trivial optimizations.
+
+2004-03-27 08:31  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	updated
+
+2004-03-27 07:48  takehiro
+
+	* libmp3lame/: bitstream.c, tables.c, tables.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the code arround huffman coding with the escape sequence.
+
+2004-03-23 22:17  robert
+
+	* libmp3lame/vbrquantize.c, Makefile.unix:
+
+	rewritten vbr-new
+
+	the scalefactor allocation functions take into account now, that some
+	minimal scalefactor has to be used (the less IXMAX_VAL case)
+
+	the output of vbr-new is not bit identical to previous ones, but the
+	code is much more straight forward now.
+
+2004-03-23 22:11  robert
+
+	* libmp3lame/util.c:
+
+	patch for resampling code, found by Takehiro
+
+	this patch removes some unneccessary integer rounding
+	resulting mp3s where bit identical, but resampling is faster now
+
+2004-03-23 03:07  olcios
+
+	* frontend/parse.c:
+
+	fixed a compile-time issue in --longhelp
+
+2004-03-23 01:57  olcios
+
+	* USAGE, doc/html/switchs.html, doc/man/lame.1, frontend/main.c,
+	  frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/bitstream.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c,
+	  libmp3lame/util.h:
+
+	1. added --noreplaygain switch that disables RG   2. added --replaygain-fast switch that complements --replaygain-accurate. The new switch is enabled by default in the frontend.   3. Made RG analysis no longer default in libmp3lib. RG can still be fully controlled via the libmp3lib interface, but for other interfaces, like DLL or ACM, that provide no RG control, RG analysis is now _disabled_.     4. updated documentation
+
+2004-03-21 17:53  takehiro
+
+	* frontend/parse.c, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h,
+	  libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/lame.c, libmp3lame/version.c, mpglib/interface.c
+	  (takehiro-2002_05_07-experimental):
+
+	more API clean up and cosmetic changes.
+
+2004-03-21 17:51  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	faster float comparison when FLOAT is float.
+	some cosmetic changes
+
+2004-03-21 17:14  takehiro
+
+	* libmp3lame/VbrTag.c, libmp3lame/bitstream.c,
+	  libmp3lame/bitstream.h, libmp3lame/encoder.c,
+	  libmp3lame/encoder.h, libmp3lame/id3tag.c,
+	  libmp3lame/lame-analysis.h, libmp3lame/lame.c,
+	  libmp3lame/machine.h, libmp3lame/newmdct.c,
+	  libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.h, libmp3lame/tables.c,
+	  libmp3lame/tables.h, libmp3lame/takehiro.c, mpglib/interface.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up APIs and variable names (to fix warnings when -Wshadow)
+
+2004-03-21 16:27  takehiro
+
+	* include/lame.h, libmp3lame/VbrTag.c, libmp3lame/id3tag.c,
+	  libmp3lame/lame-analysis.h, libmp3lame/machine.h,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/quantize.c, libmp3lame/set_get.c,
+	  libmp3lame/takehiro.c, libmp3lame/version.h
+	  (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-03-21 15:51  takehiro
+
+	* libmp3lame/: machine.h, psymodel.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up arround IEEE754 hack.
+
+2004-03-21 15:47  takehiro
+
+	* libmp3lame/: VbrTag.c, encoder.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused "nogap" related variables.
+
+2004-03-21 15:41  takehiro
+
+	* libmp3lame/: VbrTag.c, encoder.c, encoder.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix invalid vbr header output when ABR.
+	merge gfc->frameNum and gfc->nVbrNumFrames.
+
+2004-03-21 14:51  takehiro
+
+	* libmp3lame/: encoder.h, psymodel.c, psymodel.h, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove magic numbers
+
+2004-03-21 14:32  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	header file style/comment fix.
+
+2004-03-21 14:32  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2004-03-21 14:31  takehiro
+
+	* mpglib/: layer3.c, mpg123.h (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2004-03-21 14:31  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	remove obsolete API.
+
+2004-03-21 13:51  takehiro
+
+	* ACM/DecodeStream.h, frontend/gtkanal.c, frontend/mp3x.c,
+	  frontend/parse.c, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h,
+	  libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/id3tag.c,
+	  libmp3lame/lame-analysis.h, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize.h, libmp3lame/set_get.c, libmp3lame/tables.c,
+	  libmp3lame/tables.h, libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/util.h, libmp3lame/version.c, mpglib/layer3.c,
+	  mpglib/mpglib.h (takehiro-2002_05_07-experimental):
+
+	clean up header files.
+
+2004-03-21 13:00  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	new testcase
+
+2004-03-21 12:37  takehiro
+
+	* libmp3lame/: encoder.c, quantize.c, quantize.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up APIs of set_frame_pinfo()
+
+2004-03-21 12:34  takehiro
+
+	* libmp3lame/: lame.c, set_get.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up arround buffer flush.
+	and remove "mf_samples_to_encode" from lame_t.
+
+2004-03-21 12:33  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2004-03-21 11:55  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, quantize.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up and "possible" bug of resampling code.
+	- calculate resampling value with "sample_t" instead of "int".
+	- moved resampling initialization code into tables.c
+
+2004-03-21 10:37  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	oops, remove gabage...
+
+2004-03-21 10:34  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.c, psymodel.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up internal APIs
+
+2004-03-21 10:33  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix prototype declaration, to clarify all the ASM code cannot run when FLOAT!=float
+
+2004-03-21 07:12  takehiro
+
+	* libmp3lame/: lame.c, util.c (takehiro-2002_05_07-experimental):
+
+	header file clean up (I hope it works...)
+
+2004-03-21 07:10  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	do not use calloc in lame_encode_* functions.
+	and moved some functions for better conjunctions.
+
+2004-03-21 07:09  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2004-03-21 05:08  takehiro
+
+	* ACM/main.cpp (takehiro-2002_05_07-experimental):
+
+	fix build problem on mingw
+
+2004-03-20 17:28  takehiro
+
+	* libmp3lame/: lame.c, util.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	move fill_buffer() function and make it static and bit optimizing.
+
+2004-03-20 16:04  takehiro
+
+	* libmp3lame/: quantize.c, util.h, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	Faster quantization code, based on the ideas from the main line (done by Gaby).
+	about 2% faster on VBR. The same algorithm can be applied to the CBR, but
+	currently is not.
+
+2004-03-19 22:09  olcios
+
+	* libmp3lame/gain_analysis.c:
+
+	changed the pre-processor condition related to the x86's extended FP bug when compiled by GCC with optimizations
+
+2004-03-19 18:18  olcios
+
+	* libmp3lame/gain_analysis.c:
+
+	improved comment
+
+2004-03-19 13:17  olcios
+
+	* libmp3lame/gain_analysis.c:
+
+	workaround for the gcc ceil() bug when compiled with optimizations
+
+2004-03-18 22:00  olcios
+
+	* libmp3lame/gain_analysis.h:
+
+	fixed compile-time problem with uint32_t on gcc
+
+2004-03-18 16:11  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix uninitialized memory access.
+
+2004-03-18 14:27  aleidinger
+
+	* libmp3lame/: gain_analysis.c, gain_analysis.h:
+
+	Replace Uint32_t and Int32_t with uint32_t and int32_t. There are only few
+	instances of them used, so there's no need to typedef new types for them.
+
+	I hope this fixes problems on OSX reported on lame-dev.
+
+	While I'm here, fix a cast (rgData->sampleWindow is long, not int).
+
+2004-03-17 18:56  aleidinger
+
+	* libmp3lame/: bitstream.c, gain_analysis.c, gain_analysis.h,
+	  lame.c:
+
+	- remove config.h (prerequisite) include from gain_analysis.h
+	- make sure prerequisites get included in every file before gain_analysis.h
+
+2004-03-14 18:22  bouvigne
+
+	* libmp3lame/gain_analysis.h:
+
+	solved the potential data type problem
+
+2004-03-14 17:13  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/VbrTag.h, libmp3lame/bitstream.c,
+	  libmp3lame/encoder.c, libmp3lame/id3tag.c, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/tables.c,
+	  libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h,
+	  mpglib/layer3.c, mpglib/mpg123.h, mpglib/tabinit.c
+	  (takehiro-2002_05_07-experimental):
+
+	cosmetic changes.
+
+2004-03-14 16:19  takehiro
+
+	* ACM/readme.txt (takehiro-2002_05_07-experimental):
+
+	sync main branch
+
+2004-03-14 16:18  takehiro
+
+	* ACM/ACMStream.cpp (takehiro-2002_05_07-experimental):
+
+	sync main branch.
+
+2004-03-14 16:15  takehiro
+
+	* libmp3lame/libmp3lame_vc6.dsp (takehiro-2002_05_07-experimental):
+
+	fix MSVC6+NASM compilation
+
+2004-03-14 16:00  takehiro
+
+	* ACM/main.cpp (takehiro-2002_05_07-experimental):
+
+	oops, I removed too much.
+
+2004-03-14 13:47  takehiro
+
+	* frontend/brhist.h, libmp3lame/bitstream.c, libmp3lame/encoder.c,
+	  libmp3lame/tables.c, libmp3lame/takehiro.c, libmp3lame/util.c
+	  (takehiro-2002_05_07-experimental):
+
+	cosmetic and reduce warnings
+
+2004-03-14 12:46  takehiro
+
+	* libmp3lame/: bitstream.h, machine.h, psymodel.c, quantize_pvt.h,
+	  tables.c, util.h (takehiro-2002_05_07-experimental):
+
+	fix build problem on vanilla(without ICC) VC6.
+	better ATH handling for psymodel
+	and some minor cosmetic change
+
+2004-03-14 12:44  takehiro
+
+	* libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-03-14 12:43  takehiro
+
+	* libmp3lame/: gain_analysis.c, gain_analysis.h
+	  (takehiro-2002_05_07-experimental):
+
+	backport from the main branch.
+	(only copied. not working currently).
+
+2004-03-14 11:50  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	better 8kHz/128kbps bit allocation.
+
+2004-03-14 06:17  takehiro
+
+	* mpglib/interface.c (takehiro-2002_05_07-experimental):
+
+	sync main branch (fix freeformat decoding bug done by Robert Hegemann)
+
+2004-03-13 14:06  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix a warning.
+
+2004-03-13 13:00  takehiro
+
+	* Dll/BladeMP3EncDLL.c (takehiro-2002_05_07-experimental):
+
+	fix build problem on VC6+debug mode
+
+2004-03-13 12:59  takehiro
+
+	* libmp3lame/libmp3lame_vc6.dsp (takehiro-2002_05_07-experimental):
+
+	fix build problem on VC6
+
+2004-03-11 23:43  olcios
+
+	* libmp3lame/bitstream.c:
+
+	fixed a bug related to the usage of mpglib when decoding on the fly
+
+2004-03-11 19:35  olcios
+
+	* libmp3lame/lame.c:
+
+	fixed compile-time problem when mpglib is disabled
+
+2004-03-10 20:49  robert
+
+	* doc/html/: contributors.html, history.html:
+
+	history
+
+2004-03-10 00:50  robert
+
+	* mpglib/interface.c:
+
+	patch for freeformat decoding bug
+
+2004-03-09 19:04  bouvigne
+
+	* libmp3lame/lame.c:
+
+	typo
+
+2004-03-09 00:35  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	found a sample which did not give bit identical result with the previous
+	patch. found out why and corrected it, so now the results for
+	find_scalefac_ave_[x34|ISO] are identical to the original code,
+	but --preset fast standard is ~7 percent faster now.
+
+2004-03-08 04:13  takehiro
+
+	* mpglib/layer1.c (takehiro-2002_05_07-experimental):
+
+	fix layer1 compilation problem.
+
+2004-03-08 04:12  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused label
+
+2004-03-08 04:04  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix alignment work and build problem with icl(MS-Windows)
+
+2004-03-08 00:54  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	faster "find_scalefac_ave_[x34|ISO]":
+	this patch gave bit identical results on all tested samples compared to
+	previous version, so I'm pretty much confident that I don't introduce
+	a new bug here.
+	the speeding up of this functions results in an overall speed increase of
+	almost 7 percent for --preset fast standard
+
+2004-03-07 23:55  robert
+
+	* Makefile.unix, Makefile.MSVC:
+
+	in case of single precision (FLOAT8==float) we have to make sure that
+	the mpglib uses REAL==float too. otherwise the decoder will moan about
+	too small buffers
+
+2004-03-07 14:18  takehiro
+
+	* mpglib/interface.c (takehiro-2002_05_07-experimental):
+
+	no Xing-VBR header except layer 3
+
+2004-03-06 17:52  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix it ignores --scale option.
+
+2004-03-06 17:37  takehiro
+
+	* libmp3lame/i386/fft3dn.nas (takehiro-2002_05_07-experimental):
+
+	remove Japanese comments.
+
+2004-03-06 16:32  takehiro
+
+	* libmp3lame/: psymodel.h, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	revert the last psymodel change, and implement the better way to archive
+	more precise frequency analysis in the lower frequency region. This is
+	done by changing frequency -> bark conversion equation.
+
+2004-03-06 16:02  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	remove Jananese comments.
+
+2004-03-06 15:36  bouvigne
+
+	* libmp3lame/version.h:
+
+	entering beta stage
+
+2004-03-06 15:34  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2004-03-01 22:21  robert
+
+	* configMS.h, libmp3lame/version.h:
+
+	we are now at 3.96 alpha 4
+
+2004-03-01 22:20  robert
+
+	* libmp3lame/psymodel.c:
+
+	bug fix: the highly optimized loops did an off by one access resulting
+	in often invalid energy and threshold calculations. (both psy models
+	affected). added a workaround and some assertions.
+
+2004-03-01 15:11  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix for testcase... (oops, simple mistake)
+
+2004-02-29 19:55  robert
+
+	* libmp3lame/: bitstream.c, takehiro.c:
+
+	fixing the "huffman decode overrun" and "mp3x problem"
+
+2004-02-29 18:20  bouvigne
+
+	* doc/html/: contributors.html, history.html:
+
+	no message
+
+2004-02-29 18:12  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix for 8kHz with 128kbps.
+
+2004-02-29 17:58  takehiro
+
+	* libmp3lame/: psymodel.c, psymodel.h, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	better partitioning for psymodel calculation (very much experimental!)
+
+2004-02-29 17:17  takehiro
+
+	* mpglib/layer1.c:
+
+	fix layer1 decoding bug
+
+2004-02-29 17:16  takehiro
+
+	* mpglib/layer1.c (takehiro-2002_05_07-experimental):
+
+	fix monural file decoding bug in layer1, reported by Goran Markovic.
+
+2004-02-26 17:20  takehiro
+
+	* frontend/get_audio.c:
+
+	fixed Layer2 decoding bug reported by Goran Markovic
+
+2004-02-26 16:31  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fixed Layer2 decoding issue, reported by Goran Markovic.
+
+2004-02-25 22:10  robert
+
+	* libmp3lame/util.c:
+
+	fixing some aliasing problem in fastlog2 calculation
+
+2004-02-25 21:46  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	getting rid of a warning about a function being defined but not used
+
+2004-02-25 21:46  robert
+
+	* libmp3lame/gain_analysis.c:
+
+	fixing code relying on compiler implementation details
+
+2004-02-25 21:41  robert
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/VbrTag.c, libmp3lame/set_get.c,
+	  libmp3lame/util.c:
+
+	getting rid of some compiler warnings:
+	- about too long string constants
+	- about C++ stylish comments
+	there is still a warning about the use of a C99 hexadecimal floating
+	constant in portableio.c. will this compile on older C-compilers?
+
+2004-02-24 02:18  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	testcase with new huffman coding.
+
+2004-02-24 01:57  olcios
+
+	* libmp3lame/lame.c:
+
+	fixed a bug with --resample and ReplayGain analysis of input data. With certain parameters the data sent to analysis was mangled (some samples missing, some doubled, some in the wrong order). With most natural music the error wasn't vast (below 1dB), but with e.g. a sine wave the gain error was audible.
+
+2004-02-23 19:48  bouvigne
+
+	* libmp3lame/gain_analysis.h:
+
+	now works under gcc, but I am not sure about the typedefs on different platforms.
+
+2004-02-23 18:53  bouvigne
+
+	* libmp3lame/: gain_analysis.h, util.h:
+
+	moved replaygain_t to gain_analysis.h
+
+2004-02-23 14:50  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	improve lossless coding when all the quantized values in the same scalefactor band are even number.
+
+2004-02-22 21:17  bouvigne
+
+	* libmp3lame/: bitstream.c, gain_analysis.c, gain_analysis.h,
+	  lame.c, util.c, util.h:
+
+	made ReplayGain reentrant
+
+2004-02-22 21:16  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	yet another "usefullsize" bug (found by passing the python tests)
+
+2004-02-22 21:14  bouvigne
+
+	* test/: CBRABR.op, VBR.op, misc.op, shortCBRABR.op, shortVBR.op:
+
+	Updated test files.
+	As the cbr/abr and vbr ones are quite long, I also added some short ones.
+
+2004-02-17 00:37  robert
+
+	* libmp3lame/lame.c:
+
+	bug fix: in mono mode all block type where of short type due to forced
+	block type coupling
+
+2004-02-16 21:51  robert
+
+	* libmp3lame/gain_analysis.c:
+
+	bug fix by John Edwards (48 kHz replay gain segmentation fault)
+
+2004-02-15 21:39  robert
+
+	* libmp3lame/: lame.c, vbrquantize.c:
+
+	standard ISO quantization for vbr-mtrh
+
+2004-02-15 19:05  robert
+
+	* libmp3lame/: lame.c, takehiro.c:
+
+	bug fix: usefullsize may become negativ due to some optimizations
+
+2004-02-15 13:09  takehiro
+
+	* libmp3lame/id3tag.c (takehiro-2002_05_07-experimental):
+
+	sprintf -> snprintf and some trivial clean up.
+
+2004-02-15 01:20  robert
+
+	* libmp3lame/takehiro.c:
+
+	a simple -V9 -f line lets LAME crash,
+	there seems to be something wrong with scalefactor width
+	at least my inserted assertions indicate this
+
+2004-02-10 02:04  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	try to make some use of max_nonzero_coeff in vbr-mtrh
+
+2004-02-08 21:58  takehiro
+
+	* frontend/: brhist.c, get_audio.c, get_audio.h, gtkanal.c,
+	  lame.dsp, main.c, mp3rtp.c, parse.c, timestatus.c, timestatus.h
+	  (takehiro-2002_05_07-experimental):
+
+	misc clean ups.
+	- gfp/gfc things
+	- mp3 decoding patch from Dmitriy Startsev
+	- remove an old file
+
+2004-02-08 21:57  takehiro
+
+	* mpglib/interface.c (takehiro-2002_05_07-experimental):
+
+	mp3 decoding patch from Dmitriy Startsev
+
+2004-02-08 19:00  bouvigne
+
+	* libmp3lame/presets.c:
+
+	reduced the number of short blocks
+
+2004-02-08 14:08  bouvigne
+
+	* Makefile.am, lame.dsw:
+
+	removed old workspace
+
+2004-02-08 12:44  bouvigne
+
+	* libmp3lame/: quantize_pvt.c, takehiro.c:
+
+	inverted a while statement, some int ->unsigned.
+	I hope that they will be safe this time.
+
+2004-02-08 03:10  robert
+
+	* libmp3lame/takehiro.c:
+
+	sorry Gabriel, reverting your signed->unsigned patch due to exceptions
+	while encoding awe32_20sec.wav using --preset standard
+
+2004-02-08 03:06  robert
+
+	* libmp3lame/quantize_pvt.c:
+
+	sorry Gabriel, reverting your signed->unsigned patch because of
+	exceptions in awe32_20sec.wav using --preset standard
+
+2004-02-08 03:01  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	bug fix: scalefactors may have been read from uninitialized memory
+
+2004-02-08 02:12  robert
+
+	* libmp3lame/: takehiro.c, vbrquantize.c:
+
+	calculating xrpow_max for vbr_mtrh too
+
+2004-02-07 19:38  bouvigne
+
+	* libmp3lame/: quantize_pvt.c, takehiro.c:
+
+	some int -> unsigned int
+
+2004-02-06 16:56  takehiro
+
+	* frontend/get_audio.c, mpglib/interface.c:
+
+	mp3 decoding patch from Dmitriy Startsev
+
+2004-02-04 20:17  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha because of the fixed crash
+
+2004-02-04 20:16  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	fixed a crash in quantize_xrpow occuring when using low bitrates (32kbps)
+
+2004-02-02 15:20  olcios
+
+	* USAGE, doc/html/switchs.html:
+
+	reworded the RG part. Discussed with: Alexander Leidinger
+
+2004-02-02 14:17  olcios
+
+	* testcase.mp3:
+
+	oops, committed an experimental file, reverting back to 1.80
+
+2004-02-02 13:28  aleidinger
+
+	* configure:
+
+	regen
+
+2004-02-02 13:25  aleidinger
+
+	* configure.in:
+
+	Add a check for 64 bit off_t's ("LARGEFILE" support).
+
+	This may not be enough as lame uses ints and longs where other types
+	may be more correct, but it may work in some cases.
+
+	HOWTO provided by:	Dan Nelson <dnelson@allantgroup.com>
+
+2004-02-02 13:02  aleidinger
+
+	* doc/man/lame.1:
+
+	 - reformatted the replaygain part (less than 80 characters per line)
+	 - reworded some parts
+	 - add a note about the decoder requierement for the --decode,
+	   --replaygain-accurate and --clipdetect options
+
+	Discussed with:	Aleksander Korzynski
+
+2004-02-02 12:58  aleidinger
+
+	* config.h.in, configure:
+
+	regen
+
+2004-02-02 12:57  aleidinger
+
+	* configMS.h:
+
+	Add the DECODE_ON_THE_FLY define in the HAVE_MPGLIB case.
+
+2004-02-02 12:57  aleidinger
+
+	* configure.in, include/lame.h:
+
+	- enable bitrate histogram by default
+	  discussed with Gabriel in Sept. 03
+
+	- define DECODE_ON_THE_FLY for the replaygain feature in the HAVE_MPGLIB
+	  case too (moved from include/lame.h, I think it's cleaner this way)
+	  discussed with Aleksander Korzynski
+
+2004-02-02 12:38  aleidinger
+
+	* libmp3lame/id3tag.c:
+
+	Patch from Ti Kan <ti@amb.org>:
+	---snip---
+	Below is a patch to make Lame 3.95.1 compile and run on AIX, HP-UX,
+	IRIX, Solaris, UnixWare, SCO Open Server and SunOS 4.1.x.
+
+	The change involves the call to snprintf() in libmp3lame/id3tag.c.,
+	but snprintf() is not available on many of these platforms.  I know
+	that in general replacing snprintf() with sprintf() removes a layer
+	of string buffer overflow protection, but in this case it should
+	be safe because the size of string is bounded.
+	---snip---
+
+2004-01-31 20:05  olcios
+
+	* testcase.mp3, frontend/main.c, libmp3lame/lame.c:
+
+	disabled peak sample detection when LAME tag is not written into the file
+
+2004-01-29 16:39  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2004-01-29 16:31  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha because of the fixed crashes
+
+2004-01-29 16:26  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	fixed bug #886989
+
+2004-01-26 14:00  olcios
+
+	* USAGE, doc/html/switchs.html, doc/man/lame.1, frontend/parse.c:
+
+	updated documentation and --longhelp on RG
+
+2004-01-26 12:05  olcios
+
+	* frontend/main.c, frontend/main.h, frontend/parse.c,
+	  include/lame.h, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h,
+	  libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/set_get.c,
+	  libmp3lame/util.h:
+
+	removed ReportLameTagProgress (it is not LAME API). Fixed --replaygain-accurate and --clipdetect.
+
+2004-01-25 10:12  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	fix a bug when the malloc is failed.
+
+2004-01-25 10:06  takehiro
+
+	* libmp3lame/: lame.c, VbrTag.c (takehiro-2002_05_07-experimental):
+
+	fix id3v2 tag output
+
+2004-01-25 10:05  takehiro
+
+	* libmp3lame/: VbrTag.h, id3tag.c, id3tag.h, quantize.h
+	  (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2004-01-25 08:44  takehiro
+
+	* libmp3lame/id3tag.c (takehiro-2002_05_07-experimental):
+
+	fix total track number buffer overrun bug.
+
+2004-01-25 08:34  takehiro
+
+	* libmp3lame/id3tag.c (takehiro-2002_05_07-experimental):
+
+	remove unused prototype
+
+2004-01-25 08:33  takehiro
+
+	* frontend/parse.c, libmp3lame/id3tag.c, libmp3lame/util.h
+	  (takehiro-2002_05_07-experimental):
+
+	total track ID3 tag, requested at sf.net (Request ID #630803)
+	http://sourceforge.net/tracker/index.php?func=detail&aid=630803&group_id=290&atid=350290
+
+2004-01-25 08:30  takehiro
+
+	* lame_vc6.dsw (takehiro-2002_05_07-experimental):
+
+	sync with the main branch.(related mp3x projects)
+
+2004-01-25 08:28  takehiro
+
+	* frontend/lame.dsw (takehiro-2002_05_07-experimental):
+
+	remove old files.
+
+2004-01-25 05:45  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	added message about "--preset medium"
+
+2004-01-24 17:37  takehiro
+
+	* ACM/: ACM.cpp, ACM.h, ACMStream.cpp, ACMStream.h,
+	  AEncodeProperties.cpp, DecodeStream.cpp, main.cpp
+	  (takehiro-2002_05_07-experimental):
+
+	fix build problem(I hope...)
+
+2004-01-24 17:31  takehiro
+
+	* frontend/main.h (takehiro-2002_05_07-experimental):
+
+	sync the main branch.
+	- include limits.h only when there's the header.
+
+2004-01-24 17:28  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	sync with the main branch.
+	- remove message output during reading AIFF file.
+
+2004-01-21 13:50  aleidinger
+
+	* Makefile.in, ACM/Makefile.in, Dll/Makefile.in,
+	  frontend/Makefile.in, libmp3lame/Makefile.in, mpglib/Makefile.in:
+
+	regen
+
+2004-01-21 13:48  aleidinger
+
+	* frontend/main.h:
+
+	only include limits.h if it is present on the system
+
+2004-01-21 10:17  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	missing {} in last fix
+
+2004-01-21 09:41  bouvigne
+
+	* ACM/ACM.dsw, ACM/Makefile.am, ACM/lameACM.dsp, Makefile.B32,
+	  Makefile.DJGPP, Makefile.am, PRESETS.draft, README.B32,
+	  README.DJGPP, Dll/Example.dsp, Dll/Example.dsw,
+	  Dll/MP3EncDll.dsp, Dll/MP3EncDll.dsw, Dll/Makefile.am,
+	  frontend/Makefile.am, frontend/lame.dsp, frontend/lame.dsw,
+	  frontend/mp3x.dsp, frontend/mp3x.dsw, libmp3lame/Makefile.am,
+	  libmp3lame/libmp3lame.dsp, mpglib/Makefile.am, mpglib/mpglib.dsp:
+
+	removed old unmaintained files
+
+2004-01-20 18:41  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	fixed a crash:
+	sometimes quantization could overflow because of big xr_pow values
+
+2004-01-20 17:04  takehiro
+
+	* Dll/Makefile.mingw32 (takehiro-2002_05_07-experimental):
+
+	remove unused include path
+
+2004-01-20 16:24  takehiro
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h, Example.cpp,
+	  Makefile.mingw32 (takehiro-2002_05_07-experimental):
+
+	DLL build and minor message fix. but we may need API fix, too...
+
+2004-01-20 06:22  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	do not include "internal" header file.
+
+2004-01-18 15:54  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-01-18 15:52  takehiro
+
+	* config.h.in, configure.in, mac/Precompile_Common.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove ieee754_float64_t
+
+2004-01-18 13:51  takehiro
+
+	* frontend/gtkanal.c, libmp3lame/quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	mp3x: fix mean bits display when mono or mpeg2
+
+2004-01-18 13:48  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	make it sure not to call "experimental" switches when it is not DEBUG mode or ALPHA version.
+
+2004-01-18 13:21  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	fix typo
+
+2004-01-18 12:52  takehiro
+
+	* Makefile.am, Makefile.in, PRESETS.draft, lame.dsw, ACM/ACM.dsw,
+	  ACM/Makefile.am, ACM/Makefile.in, ACM/lameACM.dsp,
+	  Dll/Example.dsp, Dll/Example.dsw, Dll/MP3EncDll.dsp,
+	  Dll/MP3EncDll.dsw, Dll/Makefile.am, Dll/Makefile.in,
+	  frontend/Makefile.am, frontend/Makefile.in, frontend/mp3x.dsp,
+	  frontend/mp3x.dsw, frontend/mp3x_vc6.dsp, libmp3lame/Makefile.am,
+	  libmp3lame/Makefile.in, libmp3lame/libmp3lame.dsp,
+	  mpglib/Makefile.am, mpglib/Makefile.in, mpglib/mpglib.dsp
+	  (takehiro-2002_05_07-experimental):
+
+	remove all the outdated files.
+	copied mp3x_vc6.dsp from main branch.
+
+2004-01-18 12:51  takehiro
+
+	* libmp3lame/: quantize.c, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-01-18 12:47  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-01-18 12:47  takehiro
+
+	* config.h.in, configure.in, libmp3lame/tables.c,
+	  libmp3lame/tables.h, libmp3lame/takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	replace "unsigned long long" -> "uint64_t"
+
+2004-01-18 12:46  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-01-17 18:33  takehiro
+
+	* include/lame.h, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h,
+	  libmp3lame/bitstream.c, mpglib/interface.c
+	  (takehiro-2002_05_07-experimental):
+
+	moved VBR header related code. now the vbr header structure is in lame.h.
+	This means applications can use the VBR header information via it.
+
+2004-01-17 18:21  takehiro
+
+	* libmp3lame/lame-analysis.h (takehiro-2002_05_07-experimental):
+
+	remove unused definition
+
+2004-01-17 18:19  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-01-17 18:14  takehiro
+
+	* libmp3lame/: bitstream.c, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix assert() condition.
+	remove unused function.
+
+2004-01-17 18:08  takehiro
+
+	* frontend/main.c, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove ReportLameTagProgress(). it is not LAME API at all...
+
+2004-01-17 18:07  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-01-17 17:56  takehiro
+
+	* libmp3lame/: encoder.h, lame.c, machine.h, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	include file clean up.
+
+2004-01-17 17:44  takehiro
+
+	* libmp3lame/mpglib_interface.c, mpglib/interface.c,
+	  mpglib/interface.h, mpglib/mpglib.h
+	  (takehiro-2002_05_07-experimental):
+
+	changed InitMP3() and ExitMP3() API.
+
+2004-01-17 17:37  takehiro
+
+	* libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	remove freegfc() prototype
+
+2004-01-17 17:35  takehiro
+
+	* libmp3lame/: util.c, lame.c (takehiro-2002_05_07-experimental):
+
+	simplify freegfc()
+
+2004-01-17 17:04  takehiro
+
+	* frontend/brhist.c, frontend/console.c, frontend/get_audio.c,
+	  frontend/gpkplotting.c, frontend/gtkanal.c, frontend/main.c,
+	  frontend/mp3rtp.c, frontend/rtp.c, include/lame.h,
+	  libmp3lame/lame-analysis.h, libmp3lame/machine.h,
+	  libmp3lame/mpglib_interface.c, mpglib/common.c,
+	  mpglib/decode_i386.c, mpglib/interface.c, mpglib/layer1.c,
+	  mpglib/layer2.c, mpglib/layer3.c, mpglib/mpg123.h
+	  (takehiro-2002_05_07-experimental):
+
+	renamed "stereo" -> "channels" to make things more clear.
+	remove unused definitions.
+
+2004-01-17 14:25  takehiro
+
+	* README.B32, README.DJGPP (takehiro-2002_05_07-experimental):
+
+	too much old. removed.
+
+2004-01-17 14:23  takehiro
+
+	* API, HACKING, ACM/ACMStream.h, ACM/DecodeStream.h,
+	  Dll/BladeMP3EncDLL.c, Dll/Makefile.mingw32, dshow/Encoder.h,
+	  frontend/brhist.c, frontend/brhist.h, frontend/get_audio.c,
+	  frontend/get_audio.h, frontend/gtkanal.c, frontend/gtkanal.h,
+	  frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c,
+	  frontend/parse.c, frontend/parse.h, frontend/timestatus.c,
+	  frontend/timestatus.h, include/lame.h, libmp3lame/Makefile.am,
+	  libmp3lame/Makefile.in, libmp3lame/VbrTag.c, libmp3lame/VbrTag.h,
+	  libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/id3tag.c,
+	  libmp3lame/id3tag.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/libmp3lame_vc6.dsp,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/newmdct.h, libmp3lame/psymodel.c,
+	  libmp3lame/psymodel.h, libmp3lame/quantize.c,
+	  libmp3lame/quantize.h, libmp3lame/quantize_pvt.h,
+	  libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/tables.c,
+	  libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h,
+	  mpglib/Makefile.am, mpglib/Makefile.in, mpglib/common.c,
+	  mpglib/common.h, mpglib/dct64_i386.c, mpglib/decode_i386.c,
+	  mpglib/interface.c, mpglib/interface.h, mpglib/layer1.c,
+	  mpglib/layer1.h, mpglib/layer2.c, mpglib/layer2.h,
+	  mpglib/layer3.c, mpglib/layer3.h, mpglib/mpg123.h,
+	  mpglib/mpglib.h (takehiro-2002_05_07-experimental):
+
+	Large API clean up.
+	To make MP3 decoding function reentrant, we need to replace the all API...
+
+	all the variables are now marked as "INTERNAL" and applications cannot
+	access them directly.
+
+	"lame_global_flags" structure is removed. Use "lame_t" instead.
+
+2004-01-17 14:11  takehiro
+
+	* Makefile.B32, Makefile.DJGPP (takehiro-2002_05_07-experimental):
+
+	They are too much outdated. removed.
+
+2004-01-17 11:34  takehiro
+
+	* config.h.in, configure.in, frontend/brhist.c,
+	  frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/gpkplotting.c, frontend/gtkanal.c, frontend/main.c,
+	  frontend/main.h, frontend/parse.c, frontend/portableio.c,
+	  libmp3lame/mpglib_interface.c, mac/Precompile_Common.h,
+	  mpglib/common.c, mpglib/interface.c, mpglib/layer2.c,
+	  mpglib/layer3.c, mpglib/mpg123.h
+	  (takehiro-2002_05_07-experimental):
+
+	cleanup. remove unused functions/definitions.
+
+2004-01-17 10:51  takehiro
+
+	* frontend/parse.h (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2004-01-17 10:45  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	fix usage message of --priority
+
+2004-01-17 10:17  takehiro
+
+	* frontend/get_audio.c, frontend/main.c, frontend/parse.c,
+	  frontend/portableio.c, frontend/portableio.h, include/lame.h,
+	  libmp3lame/VbrTag.c, libmp3lame/lame.c, libmp3lame/tables.c,
+	  mpglib/common.c, mpglib/common.h, mpglib/tabinit.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused code and old APIs.
+	make some functions/arrays static.
+
+2004-01-17 09:35  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix it does not write id3v2 at all.
+	make bitrate table static.
+
+2004-01-15 19:05  aleidinger
+
+	* frontend/parse.c:
+
+	We should not need errno... introduced in the last commit, remove it.
+
+2004-01-15 19:04  aleidinger
+
+	* frontend/parse.c:
+
+	Different fix for the priority parsing bug, uses less code.
+
+	Tested by:	Gabriel
+
+2004-01-15 13:54  bouvigne
+
+	* doc/html/history.html, ACM/TODO, doc/html/index.html,
+	  doc/html/switchs.html:
+
+	doc, history
+
+2004-01-15 11:15  bouvigne
+
+	* include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c:
+
+	made lame.h identical with or without DECODE_ON_THE_FLY.
+	made gfp identical with or without DECODE_ON_THE_FLY.
+
+2004-01-15 01:24  olcios
+
+	* USAGE, frontend/parse.c, libmp3lame/lame.c:
+
+	changed the behaviour of --clipdetect to force RG analysis on decoded data (not input data).  Updated --longhelp and documentation
+
+2004-01-14 14:38  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	minor code change in mask_add
+
+2004-01-14 14:16  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	minor code change in mask_add
+
+2004-01-13 19:23  bouvigne
+
+	* frontend/parse.c:
+
+	isnumber ->is_number
+
+2004-01-13 18:35  glessard
+
+	* frontend/get_audio.c:
+
+	Removed a spurious fprintf that occurred during AIFF-C decoding.
+
+2004-01-13 17:36  bouvigne
+
+	* USAGE:
+
+	ReplayGain ->89dB
+
+2004-01-13 17:30  takehiro
+
+	* frontend/get_audio.c:
+
+	fix mp3 decoding...
+
+2004-01-13 13:30  bouvigne
+
+	* frontend/parse.c:
+
+	fixed issue when --priority is not followed by a number but by another
+	argument.
+
+	Btw, the situation is the same with a lot of other settings.
+
+2004-01-13 12:36  bouvigne
+
+	* libmp3lame/version.h:
+
+	3.96a1
+
+2004-01-12 18:09  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	bit better diveding point of huffman coding.
+
+2004-01-12 17:23  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	updated
+
+2004-01-12 16:54  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, set_get.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	implement lame_set_maskingadjust() and lame_set_maskingadjust_short() as is in LAME3.x branch.
+
+	get_XX functions are not yet coded.
+
+2004-01-12 16:50  takehiro
+
+	* libmp3lame/: lame.c, set_get.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix it ignores --athlower and --athcurve option (always use default setting)
+	and clean up ATH related functions.
+
+2004-01-12 14:49  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	better mp3 file header analysis (and bugfix).
+
+2004-01-12 13:44  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	consider subblock position when calculating the PE value
+	(usually, subblock 3 needs more bits than subblock 1)
+
+2004-01-12 13:40  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-01-12 09:03  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2004-01-12 08:59  bouvigne
+
+	* libmp3lame/gain_analysis.c:
+
+	changed RG level to 89dB
+
+2004-01-12 08:42  bouvigne
+
+	* libmp3lame/version.h:
+
+	back into 3.95 because of the fixed crash
+
+2004-01-12 08:41  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	fixed a potential crash with fast vbr (introduced by myself)
+
+2004-01-12 07:17  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	added "--sameblock" option, to help the playback problems on some buggy decoders.(like some DVD/CD-R mp3 player)
+
+2004-01-12 06:50  takehiro
+
+	* frontend/parse.c, libmp3lame/set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up quality setting.
+
+2004-01-11 15:39  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix for short block i-stereo band mis-selection.
+
+2004-01-11 15:01  bouvigne
+
+	* libmp3lame/lame.c:
+
+	small cleanup in the lowpass/samplefreq selection code
+
+2004-01-11 14:39  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	quick fix for i-stereo. it accidentially uses i-stereo on the scalefactor
+	where we do not want to use (and where we do not set the direction).
+
+2004-01-11 14:04  takehiro
+
+	* config.h.in, configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-01-11 13:37  takehiro
+
+	* configure.in, mac/Precompile_Common.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove IEEE854_float80
+
+2004-01-11 12:46  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-01-11 12:45  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix the fatal reservoir usage bug.
+	- meaning of "--nores" was opposite.
+	- it does not use reservoir at all when VBR.
+
+2004-01-11 12:02  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	fix Tag problem when CBR.
+
+2004-01-11 12:01  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-01-11 11:56  takehiro
+
+	* frontend/mp3rtp.c (takehiro-2002_05_07-experimental):
+
+	rtp cannot send vbr header.
+
+2004-01-11 11:37  takehiro
+
+	* libmp3lame/: VbrTag.c, VbrTag.h
+	  (takehiro-2002_05_07-experimental):
+
+	make PutLameVBR() as static
+
+2004-01-11 11:22  aleidinger
+
+	* configure:
+
+	regen
+
+2004-01-11 11:20  aleidinger
+
+	* configure.in:
+
+	Welcome to 3.96.
+
+2004-01-11 10:21  bouvigne
+
+	* libmp3lame/version.h:
+
+	We are now in 3.96
+
+2004-01-11 10:03  takehiro
+
+	* frontend/: get_audio.c, get_audio.h
+	  (takehiro-2002_05_07-experimental):
+
+	ignore the MPEG header whose layer is not same as the filename.
+
+2004-01-11 09:56  takehiro
+
+	* frontend/get_audio.h (takehiro-2002_05_07-experimental):
+
+	fix build problem with libsndfile.
+
+2004-01-11 02:21  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	remove unused tables.
+
+2004-01-11 01:19  takehiro
+
+	* testcase.mp3, libmp3lame/tables.c, libmp3lame/tables.h,
+	  libmp3lame/takehiro.c, libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	choose from 4 code table when ixmax = 2, 3, ..., 7
+
+2004-01-10 22:47  takehiro
+
+	* libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	cosmetic
+
+2004-01-10 21:20  olcios
+
+	* doc/html/history.html:
+
+	cosmetic
+
+2004-01-10 20:38  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x sometimes crashes.
+
+2004-01-10 20:31  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen by hand
+
+2004-01-10 20:29  takehiro
+
+	* Makefile.B32, Makefile.unix, config.h.in, configure.in,
+	  frontend/mp3x.dsp (takehiro-2002_05_07-experimental):
+
+	remove symbol HAVE_GTK
+
+2004-01-10 20:20  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2004-01-10 20:16  takehiro
+
+	* frontend/mp3x.c, libmp3lame/lame.c, libmp3lame/set_get.c,
+	  libmp3lame/set_get.h, mpglib/layer3.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up and fix analyzer hook related code.
+
+2004-01-10 20:15  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2004-01-10 19:34  takehiro
+
+	* libmp3lame/: bitstream.c, tables.c, tables.h, takehiro.c,
+	  i386/choose_table.nas (takehiro-2002_05_07-experimental):
+
+	clean up huffman coding tables.
+
+2004-01-10 19:24  takehiro
+
+	* testcase.mp3, libmp3lame/bitstream.c, libmp3lame/tables.c,
+	  libmp3lame/takehiro.c, libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	little bit better huffman coding when ix_max = 2
+
+2004-01-10 18:25  takehiro
+
+	* testcase.mp3, libmp3lame/tables.c, libmp3lame/tables.h,
+	  libmp3lame/takehiro.c, libmp3lame/i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	little bit better huffman coding when ix_max is 1.
+
+2004-01-10 17:28  olcios
+
+	* USAGE:
+
+	cosmetic change
+
+2004-01-10 16:14  takehiro
+
+	* libmp3lame/lame.c:
+
+	fix the display of lowpass fileter config.
+
+2004-01-10 16:01  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	main line merge.
+	- Gaby's VBRtag fix (do not include the vbr header into the vbr seek table as it breaks a player).
+
+2004-01-10 15:57  takehiro
+
+	* ACM/ACMStream.cpp (takehiro-2002_05_07-experimental):
+
+	main line merge
+	- Gaby's buffer size fix.
+
+2004-01-10 12:59  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	added one more error check.
+
+2004-01-10 12:31  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	update
+
+2004-01-10 12:29  aleidinger
+
+	* testcase.mp3:
+
+	testcase for 3.95
+
+2004-01-10 12:29  takehiro
+
+	* doc/html/history.html:
+
+	added mpglib fix
+
+2004-01-10 12:18  aleidinger
+
+	* ChangeLog:
+
+	update CVS history
+
+2004-01-10 12:13  aleidinger
+
+	* libmp3lame/version.h:
+
+	Preperation for 3.95 RELEASE.
+
+	Please notify me and Gabriel in case you change something from this
+	point in time upto the 3.96 version bump.
+
+2004-01-10 12:10  aleidinger
+
+	* doc/html/history.html:
+
+	faster on PPC
+
+2004-01-10 12:03  aleidinger
+
+	* libmp3lame/util.h:
+
+	do not use FastLog implicitely
+
+2004-01-10 12:02  aleidinger
+
+	* configMS.h:
+
+	explicit use of FastLog
+
+2004-01-10 11:42  aleidinger
+
+	* configure:
+
+	regen
+
+2004-01-10 11:35  aleidinger
+
+	* configure.in:
+
+	- use the IEEE 754 hack and FastLog on x86 and PPC only
+	- make the use of FastLog explicit
+
+	PPC performance:
+		1GHz G4
+		"Standard"   : 396 s (100%)
+		FastLog      : 371 s ( 93%)
+		FastLog, 754 : 365 s ( 92%)
+		754          : 388 s ( 98%)
+
+		2GHz G5 (dual), cbr, vbr
+		"Standard"   : 166 s (100%), 328 s (100%)
+		FastLog      : 169 s (102%), 338 s (102%)
+		FastLog, 754 : 148 s ( 90%), 288 s ( 88%)
+		754          : 145 s ( 87%), 279 s ( 85%)
+
+	On a G5 we shouldn't use FastLog (I assume highly optimized for G5 log*()
+	routines in the standard math library), but configure doesn't know ATM how
+	do check for a G5.
+
+2004-01-10 10:38  takehiro
+
+	* frontend/get_audio.c:
+
+	backport from my experimental branch to fix the crash when invalid input.
+
+2004-01-10 10:27  takehiro
+
+	* mpglib/: common.c, interface.c, layer1.c, layer3.c:
+
+	backport from my experimenhtal branch, to fix the crash when invalid input.
+
+2004-01-10 09:55  takehiro
+
+	* doc/html/history.html:
+
+	effetc->affect reported at sf.net (BugID #867502)
+
+2004-01-08 19:55  olcios
+
+	* libmp3lame/gain_analysis.c:
+
+	comment update (clarification)
+
+2004-01-08 19:14  olcios
+
+	* USAGE:
+
+	Removed --replaygain from USAGE, because it had been defaulted and the option removed from LAME. Updated information on --replaygain-accurate.
+
+2004-01-08 15:58  bouvigne
+
+	* configMS.h, doc/html/history.html, doc/html/index.html:
+
+	predicted release date: January 11th
+
+2004-01-07 17:58  aleidinger
+
+	* frontend/Makefile.in:
+
+	regen
+
+2004-01-07 17:57  aleidinger
+
+	* frontend/Makefile.am:
+
+	Add mp3x_vc6.dsp.
+
+	Requested by:	Gabriel
+
+2004-01-07 17:35  bouvigne
+
+	* README.WINGTK, lame_vc6.dsw, frontend/lame_vc6.dsp,
+	  frontend/mp3x_vc6.dsp, libmp3lame/libmp3lame_vc6.dsp,
+	  mpglib/mpglib_vc6.dsp:
+
+	added back mp3x to the VC6 projects
+
+2004-01-07 15:57  aleidinger
+
+	* configure:
+
+	regen
+
+2004-01-07 15:51  aleidinger
+
+	* configure.in:
+
+	- bump version to 3.95
+	- disable layer1 decoding by default
+	- reword the layer options and some option descriptions
+	- enable the use of the fast log function on every CPU (for x86 this
+	  is implicit by the ieee hack)
+
+2004-01-07 15:26  aleidinger
+
+	* config.h.in:
+
+	add the fast log option
+
+2004-01-07 13:26  bouvigne
+
+	* mpglib/mpglib_vc6.dsp:
+
+	disable layer I
+
+2004-01-06 14:38  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha
+
+2004-01-06 13:53  bouvigne
+
+	* libmp3lame/VbrTag.c:
+
+	do not include the vbr header into the vbr seek table as it breaks a player
+
+2004-01-05 18:58  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix ABR bitrate
+	changed VBR quality <-> compression ratio mapping.
+	changed gfc->masking_lower setting
+
+2004-01-05 17:51  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix a warning.
+	reduce prefetch length.
+
+2004-01-05 16:25  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2004-01-05 16:19  bouvigne
+
+	* ACM/ACMStream.cpp:
+
+	fixed a buffer requirement error
+
+2004-01-05 09:45  bouvigne
+
+	* libmp3lame/: l3side.h, quantize.c, takehiro.c:
+
+	faster count_bits
+
+2004-01-05 07:35  takehiro
+
+	* mpglib/common.c (takehiro-2002_05_07-experimental):
+
+	one more fix for seg.fault
+
+2004-01-05 07:30  takehiro
+
+	* mpglib/common.c (takehiro-2002_05_07-experimental):
+
+	fix seg.fault (not good way, indeed)
+
+2004-01-05 07:16  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	fix typo and disable LAYER1 decoding by default.
+
+2004-01-05 07:15  takehiro
+
+	* libmp3lame/i386/Makefile.in, configure
+	  (takehiro-2002_05_07-experimental):
+
+	regen
+
+2004-01-05 07:14  takehiro
+
+	* libmp3lame/i386/Makefile.am (takehiro-2002_05_07-experimental):
+
+	fix build problem
+
+2004-01-05 06:47  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	more strict syncword check when no LAYER1/2 support.
+
+2004-01-04 19:45  takehiro
+
+	* libmp3lame/: lame.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	finished fixing mono encoding (initialization problem of inter-channel masking value)
+	remove useless code in stereo->mono mix down.
+	fix ATH adjustment code initialization.
+
+2004-01-04 17:35  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix mono-mode bitrate selection.
+
+2004-01-04 15:39  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix the condition to use freeformat or not.
+
+2004-01-04 11:04  bouvigne
+
+	* libmp3lame/lame.c:
+
+	corrected -k
+
+2004-01-03 17:08  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up and fix comments.
+
+2004-01-03 16:47  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2004-01-03 16:22  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix possible highpass filter display problem.
+
+2004-01-03 16:17  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	changed short block switching threshold for 8/16 kbps.
+
+2004-01-03 04:11  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix "FATAL" typo.
+	some code clean up.
+
+2004-01-03 04:10  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix for mono encoding.
+
+2004-01-02 19:53  bouvigne
+
+	* libmp3lame/lame.c:
+
+	changed quality mapping
+
+2004-01-02 19:51  bouvigne
+
+	* libmp3lame/takehiro.c:
+
+	faster count_bits
+
+2004-01-02 19:49  bouvigne
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c,
+	  vbrquantize.c:
+
+	Faster quantizations
+	Only 5% speedup when using Takehiro's ieee754 hack, but about 60%
+	speedup otherwise. (Should please Mac users)
+
+2004-01-02 09:02  takehiro
+
+	* mpglib/common.c (takehiro-2002_05_07-experimental):
+
+	check emphasis bits in mpeg header.
+
+2004-01-01 17:52  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	fix warning on mingw (and probabry VC)
+
+2004-01-01 17:51  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	changed function name, lame_decode_fromfile -> decode_fromfile because it is not LAME standard API.
+
+2004-01-01 17:23  takehiro
+
+	* mpglib/layer1.c (takehiro-2002_05_07-experimental):
+
+	fix stereo value handling.
+
+2004-01-01 15:22  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix location where emphasis is recorded.
+
+2004-01-01 15:21  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	prepare for better MP3 header detection.
+
+2003-12-31 19:07  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix assertion condition.
+	fix i-stereo bit usage counting.
+
+2003-12-31 04:27  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-12-30 19:10  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up.(code to check the MAX_BITS is moved)
+
+2003-12-30 18:52  takehiro
+
+	* libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	ok, new years present.
+	here goes alpha10!
+
+2003-12-30 18:47  takehiro
+
+	* ACM/ddk/.cvsignore (takehiro-2002_05_07-experimental):
+
+	added to ignore Makefile
+
+2003-12-30 18:46  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it makes invalid mp3 file when 320kbps.
+
+2003-12-30 18:45  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	added one more check.
+	trivial coding clean up.
+
+2003-12-30 17:12  takehiro
+
+	* Makefile.in, aclocal.m4, configure, ACM/Makefile.in,
+	  ACM/ADbg/Makefile.in, ACM/ddk/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	regen with automake1.7.9, autoconf 2.59 on cygwin.
+
+2003-12-30 13:03  takehiro
+
+	* testcase.mp3, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up.
+
+2003-12-30 12:28  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix masking_lower hadling
+
+2003-12-30 12:26  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	do not store FFT value when not using analyzer
+
+2003-12-30 10:23  takehiro
+
+	* configure, ACM/Makefile.in, ACM/ddk/Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-12-30 10:19  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2003-12-29 18:45  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, quantize.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	hadling masking_lower is moved to quantize.c from psymodel.c
+	fix bug in threshold calculation of short block last sfb.
+	better intensity stereo band selection.(do not use IS at lower frequency)
+	fix comments
+
+2003-12-29 18:09  takehiro
+
+	* libmp3lame/newmdct.c (takehiro-2002_05_07-experimental):
+
+	omit MDCT calculation beyond cutoff.
+	The gain(for MDCT) is arround 15% when 18kHz cutoff.
+
+2003-12-29 08:05  takehiro
+
+	* libmp3lame/: set_get.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	reservoir size fix for 320kbps over.
+
+2003-12-29 08:05  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	added one error check.
+
+2003-12-28 15:41  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix reservoir max size configuration.
+
+2003-12-28 13:57  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix free format detection. 320kbps is not always free format.
+
+2003-12-28 12:48  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	fix MPEG2 scalefactor output.
+
+2003-12-28 12:47  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	better error detection for debug mode.
+
+2003-12-28 12:11  takehiro
+
+	* frontend/parse.c, libmp3lame/lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix -k option.
+
+2003-12-28 11:49  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2003-12-28 11:48  takehiro
+
+	* libmp3lame/: psymodel.c, psymodel.h, quantize.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	many cosmetic change and clean up.
+
+2003-12-27 17:45  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	use more fine resolution infomation for block switching.
+
+2003-12-27 14:55  takehiro
+
+	* testcase.mp3, libmp3lame/psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	update testcase
+	clean up psymodel.c
+
+2003-12-27 14:24  takehiro
+
+	* frontend/gtkanal.c, libmp3lame/encoder.c,
+	  libmp3lame/lame-analysis.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/psymodel.h, libmp3lame/quantize.c,
+	  libmp3lame/set_get.c, libmp3lame/tables.c, libmp3lame/util.h,
+	  libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	now psymodel version 0.91-3
+	- new ATH adjustment.
+	  * ATH adjustment per channel, not per granule.
+	- display ATH adjustment value in mp3x.
+	- new long/short block switching code.
+	  * now it is aware of post masking.
+	  * switch to short block when post echo may happen.
+	- better long->short masking (threshold/energy) conversion.
+
+2003-12-23 10:29  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	added one comment.
+
+2003-12-23 10:22  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up.
+
+2003-12-23 10:13  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	tuning/fixing norm[] values of the spreading function.
+
+2003-12-22 16:36  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2003-12-22 09:44  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	reduced warnings
+
+2003-12-21 18:41  bouvigne
+
+	* frontend/: get_audio.c, main.c, parse.c:
+
+	reduced warnings
+
+2003-12-21 18:14  bouvigne
+
+	* libmp3lame/: encoder.c, psymodel.c, psymodel.h, quantize.c,
+	  quantize_pvt.c, quantize_pvt.h, util.h:
+
+	FLOAT8 -> FLOAT
+
+2003-12-21 16:09  takehiro
+
+	* libmp3lame/: psymodel.c, psymodel.h, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	safer threshold calculation arround attack detected position.
+
+2003-12-21 15:12  takehiro
+
+	* configure.in, ACM/Makefile.am (takehiro-2002_05_07-experimental):
+
+	added ACM/ddk directory
+
+2003-12-21 15:06  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	update comment as is done in main line.
+
+2003-12-21 15:03  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix short block ATH scaling and masking threshold.
+
+2003-12-21 13:30  takehiro
+
+	* libmp3lame/: psymodel.c, lame.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	- temporal masking aware short/long block switching.
+	- tuning reduce side value.
+	- fixed long->short block threshold conversion factor.
+	- fixed array declaration bug in short block threshold calculation.
+
+2003-12-21 12:46  bouvigne
+
+	* libmp3lame/: encoder.c, lame.c, presets.c, psymodel.c,
+	  psymodel.h, quantize.c, quantize.h, quantize_pvt.c,
+	  quantize_pvt.h, util.h:
+
+	FLOAT8 -> FLOAT
+
+2003-12-21 12:30  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	remove bval_width[] related code.
+
+2003-12-21 12:25  takehiro
+
+	* mpglib/layer3.c (takehiro-2002_05_07-experimental):
+
+	fix 8kbps decode bug (backport from main line)
+
+2003-12-21 10:16  bouvigne
+
+	* libmp3lame/: VbrTag.c, lame.c, psymodel.c, util.c, util.h:
+
+	FLOAT8 -> FLOAT
+
+2003-12-20 14:48  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	fixed calc_interchannel_masking when encoding to mono
+
+2003-12-20 14:33  bouvigne
+
+	* libmp3lame/lame.c:
+
+	fixed lowpass value for high bitrate vbr profiles
+
+2003-12-20 14:31  bouvigne
+
+	* libmp3lame/version.h:
+
+	Using 3.95 as version number.
+	We will decide latter what to choose about version numbers
+
+2003-12-19 13:55  bouvigne
+
+	* libmp3lame/version.h:
+
+	Moved back to 3.94b in order to not have some 3.95b spreading on the web.
+	We now have to decide if we should go in the 3.94release direction or in the 3.95b direction
+
+2003-12-18 18:47  bouvigne
+
+	* libmp3lame/version.h:
+
+	welcome in 3.95
+
+2003-12-18 17:13  aleidinger
+
+	* ChangeLog:
+
+	ChangeLog for 3.94b.
+
+2003-12-18 15:46  bouvigne
+
+	* libmp3lame/version.h:
+
+	3.94b
+
+2003-12-18 12:54  aleidinger
+
+	* frontend/get_audio.c:
+
+	Takehiro noticed a bug in the pipe fix, it results in a click sound at
+	the end of the encoding of BlackBirds.wav.
+
+	This fix is a merge from the experimental branch and doesn't seem to be
+	harmful while encoding over a pipe, but I'm not sure if I was able to
+	reproduce the situation where the original fix was needed.
+
+	I've tested:
+	  mkfifo pipetest
+	  lame -preset 96 pipetest pipetest.mp3
+	  other shell: cat wav >pipetest
+
+2003-12-17 18:45  bouvigne
+
+	* frontend/parse.c:
+
+	help
+
+2003-12-17 11:52  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	updated comment regarding spreading function
+
+2003-12-15 17:07  bouvigne
+
+	* mpglib/layer3.c:
+
+	fixed 8kHz decoding
+
+2003-12-15 11:48  takehiro
+
+	* ACM/ddk/: Makefile.am, Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	sync with main line
+
+2003-12-14 17:56  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	added some new items.
+	- highpass filter for psycho-analysis.
+	- temporal-masking-aware block switching.
+
+2003-12-14 17:52  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	clean up s3_func() (no results difference)
+	remove normalization and bark width consideration.
+	# hehe, it's now obvious to see which frequency makes strong masking :p
+
+2003-12-12 18:22  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	coding style update.
+	check the INFO sub-chunk in LIST chunk.
+
+2003-12-12 18:21  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix it treat the chunk after data chunk as part of data chunk.
+
+2003-12-12 17:24  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	trivial style update (including comment style, etc).
+
+2003-12-12 16:52  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove nb_1 from gfc.
+
+2003-12-12 16:15  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix last change (oops, I checked-in the wrong version...)
+
+2003-12-12 16:12  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	fix bit reservoir handling when looooooooow bit rate.
+
+2003-12-12 14:31  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-12-12 14:31  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	added error check code.
+
+2003-12-12 13:29  takehiro
+
+	* frontend/main.c, frontend/main.h, frontend/parse.c,
+	  include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up variables in gfc and gfp.
+
+2003-12-09 17:22  olcios
+
+	* frontend/parse.c:
+
+	Fixed typo.
+
+2003-12-09 17:19  olcios
+
+	* frontend/parse.c:
+
+	Fixed an error message.
+
+2003-12-09 16:08  aleidinger
+
+	* ACM/Makefile.in:
+
+	regen
+
+2003-12-09 16:01  aleidinger
+
+	* configure:
+
+	regen
+
+2003-12-09 15:51  aleidinger
+
+	* ACM/ddk/Makefile.in:
+
+	Add the autoconf Makefile.
+
+2003-12-09 15:49  aleidinger
+
+	* configure.in:
+
+	Add the ACM/ddk subdirectory.
+
+2003-12-09 15:49  aleidinger
+
+	* ACM/Makefile.am:
+
+	Add the ddk subdirectory.
+
+2003-12-09 15:48  aleidinger
+
+	* ACM/ddk/Makefile.am:
+
+	Add an automake Makefile.
+
+2003-12-09 15:06  bouvigne
+
+	* libmp3lame/version.h:
+
+	Bump alpha
+
+2003-12-09 15:05  bouvigne
+
+	* frontend/parse.c:
+
+	do not display --r3mix in help
+
+2003-12-09 15:03  bouvigne
+
+	* doc/html/history.html:
+
+	3.94 release date?
+
+2003-12-09 14:59  bouvigne
+
+	* doc/html/: basic.html, examples.html, history.html, index.html,
+	  modes.html, presets.html, switchs.html:
+
+	3.94 documentation
+
+2003-12-08 16:52  bouvigne
+
+	* libmp3lame/VbrTag.c:
+
+	Use integer format for ReplayGain peak value
+
+2003-12-06 20:54  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization.
+
+2003-12-06 20:10  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	make best_huffman_divide() as static.
+	make it do not call best_huffman_divide() twice when vbr.
+
+2003-12-06 19:00  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix warning of quantize_sfb_3DN() prototype declaration.
+	fix pseudo half step bug on 3DNow!/SSE machines.
+
+2003-12-06 17:17  takehiro
+
+	* frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove experimental switches from context structure.
+
+2003-12-06 13:37  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-12-06 11:10  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	reduce subblock gain value.
+
+2003-12-06 07:01  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	VBR code update.
+	- fixed sf value range limit(not fatal, but possible quality degrade in higher VBR quality mode).
+	- adjust the initiail value of scalefactor search for speed up(arround 1 or 2%).CVS: ----------------------------------------------------------------------
+
+2003-12-05 12:49  aleidinger
+
+	* libmp3lame/i386/Makefile.in:
+
+	add missing "
+
+2003-12-04 12:26  aleidinger
+
+	* libmp3lame/i386/Makefile.in:
+
+	nasm -> NASM fix
+
+2003-12-03 16:35  takehiro
+
+	* testcase.mp3, libmp3lame/quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	changed short block noise estimation (max noise -> sum noise).
+
+2003-12-03 15:32  takehiro
+
+	* frontend/rtp.c (takehiro-2002_05_07-experimental):
+
+	sync with main line.
+
+2003-12-03 03:09  olcios
+
+	* include/lame.h:
+
+	comments / doc
+
+2003-12-03 02:18  olcios
+
+	* frontend/get_audio.c, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c:
+
+	Brought back the possibility to run lame_decode_init() more than once
+
+2003-12-03 01:44  olcios
+
+	* frontend/get_audio.c, frontend/parse.c, include/lame.h,
+	  libmp3lame/lame.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/set_get.c:
+
+	Made it impossible to simultaneously use mp3 input and decoding on the fly.
+
+2003-12-01 17:45  takehiro
+
+	* configure, Dll/Makefile.in, frontend/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-12-01 17:44  takehiro
+
+	* libmp3lame/i386/Makefile.am (takehiro-2002_05_07-experimental):
+
+	backport Alex's dirty hack, which is less dirty than mine :)
+
+2003-12-01 17:43  takehiro
+
+	* ltmain.sh (takehiro-2002_05_07-experimental):
+
+	replaced the one from libtool 1.5
+
+2003-12-01 15:45  takehiro
+
+	* frontend/depcomp, libmp3lame/depcomp, misc/depcomp,
+	  mpglib/depcomp (takehiro-2002_05_07-experimental):
+
+	removed unused file (build system uses ../depcomp)
+
+2003-11-29 12:14  aleidinger
+
+	* ChangeLog:
+
+	update
+
+2003-11-29 12:10  aleidinger
+
+	* test/cvscheck.sh:
+
+	add the automated test script which mt used to run every day
+
+2003-11-29 12:09  aleidinger
+
+	* configure:
+
+	regen with autoconf 2.57
+
+2003-11-29 12:06  aleidinger
+
+	* ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/tinyxml/Makefile.in,
+	  Dll/Makefile.in, Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in:
+
+	regen with automake 1.7
+
+2003-11-29 12:05  aleidinger
+
+	* configure.in:
+
+	- Check for some features a little bit earlier.
+	- Fix a AC_DEFINE so the newer tools don't moan.
+
+2003-11-29 12:03  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	HACK HACK HACK, UGLY UGLY HACK!
+
+	make this work with libtool 1.5
+
+	If anybody knows how do this in a more sane way, please teach me how to
+	do it.
+
+2003-11-29 12:01  aleidinger
+
+	* ltmain.sh:
+
+	update with libtool 1.5 version
+
+2003-11-29 12:00  aleidinger
+
+	* aclocal.m4:
+
+	update with newer autotools
+
+2003-11-29 11:59  aleidinger
+
+	* config.h.in:
+
+	add some missing undefs
+
+2003-11-29 11:16  aleidinger
+
+	* frontend/rtp.c:
+
+	fix some errors which are new with gcc 3.x
+
+2003-11-29 09:49  aleidinger
+
+	* frontend/depcomp, libmp3lame/depcomp, mpglib/depcomp:
+
+	use the ones provided by automake 1.7
+
+2003-11-29 09:45  aleidinger
+
+	* missing, mkinstalldirs, depcomp, install-sh:
+
+	use the ones provided by automake 1.7
+
+2003-11-29 09:44  aleidinger
+
+	* config.guess, config.sub:
+
+	use the ones provided with libtool 1.5
+
+2003-11-28 18:23  takehiro
+
+	* frontend/brhist.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/encoder.h, libmp3lame/lame.c, libmp3lame/tables.c,
+	  libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	clean up bitrate histgram code.
+
+2003-11-28 17:53  takehiro
+
+	* libmp3lame/: bitstream.c, lame.c, quantize.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused definition (resample_t)
+	rename Bit_stream_struct -> bit_stream_t
+
+2003-11-28 17:30  takehiro
+
+	* libmp3lame/: VbrTag.c, lame.c, lame_global_flags.h, set_get.c,
+	  tables.c, util.h (takehiro-2002_05_07-experimental):
+
+	move and rename "gfp->exp_nspsytune" => "gfc->nsPsy.tune"
+
+2003-11-28 17:20  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove "ath_over" from III_psy_ratio
+
+2003-11-28 17:17  takehiro
+
+	* libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental):
+
+	make lame_decode1_headersB_clipchoice() as static
+
+2003-11-28 16:48  takehiro
+
+	* libmp3lame/util.c (takehiro-2002_05_07-experimental):
+
+	remove unused code
+
+2003-11-28 16:46  takehiro
+
+	* libmp3lame/: util.c, util.h, i386/cpu_feat.nas
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the CPU feature detection code.
+
+2003-11-28 16:42  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	divide TODO item about encoding quality problem into 2 piece.
+
+2003-11-28 16:38  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix comments.
+
+2003-11-28 16:24  takehiro
+
+	* libmp3lame/: encoder.c, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2003-11-28 16:24  takehiro
+
+	* libmp3lame/: quantize.c, quantize.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix warning
+	simplify the code.
+
+2003-11-28 16:11  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	sync main branch (lowpass adjustment when mono)
+	and trivial clean up.
+
+2003-11-28 16:04  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	remove unused definition
+
+2003-11-28 16:03  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	do not use reservoir when -q 9
+
+2003-11-28 15:58  takehiro
+
+	* USAGE (takehiro-2002_05_07-experimental):
+
+	remove documents about removed options
+
+2003-11-28 15:53  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/quantize.c,
+	  libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	clean up VBR finish code and remove "-F" option.
+	LAME always use VBR_hard_min now.
+
+	The option is quite "FAQ"ed and hacky/dirty work arround to conceal
+	the psymodel flaw.
+
+2003-11-28 15:34  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	changed ResvFrameBegin() arguments.
+
+2003-11-28 15:29  takehiro
+
+	* libmp3lame/: VbrTag.c, encoder.c, quantize.c, quantize.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up pinfo setting code (for analyzer)
+
+2003-11-28 15:16  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial simplification.
+
+2003-11-28 15:16  takehiro
+
+	* libmp3lame/util.c (takehiro-2002_05_07-experimental):
+
+	make gcd() as static.
+
+2003-11-28 15:02  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	resampling code bug is fixed.
+
+2003-11-28 15:01  takehiro
+
+	* libmp3lame/: lame.c, util.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	make fill_buffer_resample as static function.
+	fix the bug in resampling (like from 44099 to 44100) and remove work arround code.
+
+2003-11-28 14:27  bouvigne
+
+	* libmp3lame/set_get.c:
+
+	Disabled replaygain decode because it crashes when using mp3 input
+
+2003-11-28 12:22  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the loudness approx code.
+
+2003-11-27 12:27  takehiro
+
+	* ACM/ddk/msacmdrv.h (takehiro-2002_05_07-experimental):
+
+	sync with mainline
+
+2003-11-27 12:20  takehiro
+
+	* libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, tables.c,
+	  takehiro.c (takehiro-2002_05_07-experimental):
+
+	simplify the function interfaces.
+	remove unused definitions.
+	trivial style update.
+
+2003-11-27 08:24  bouvigne
+
+	* ACM/: readme.txt, ddk/msacmdrv.h:
+
+	Allow compilation of ACM codec without Microsoft platform DDK
+
+2003-11-26 13:06  bouvigne
+
+	* lame_vc6.dsw:
+
+	Updated ACM dependencies
+
+2003-11-25 17:32  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2003-11-25 17:22  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	loop hoisting: loop for writing sideinfo and loop for writing part2/part2_3 is now integrated.
+
+2003-11-25 17:14  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2003-11-25 17:13  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix byte/bit confusion.
+
+2003-11-25 16:53  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	do not write magic strings in the post drain part.
+
+2003-11-25 16:48  takehiro
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix,
+	  config.h.in, configure, configure.in
+	  (takehiro-2002_05_07-experimental):
+
+	update build-system related files for new asm code.
+	(I hope they runs correctly)
+
+2003-11-25 16:43  takehiro
+
+	* frontend/gtkanal.c, libmp3lame/encoder.c, libmp3lame/encoder.h,
+	  libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x block-type display
+
+2003-11-25 15:55  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	psymodel.h is not system header file.
+
+2003-11-25 15:52  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	remove priority setting code.
+	we already have a --priority switch on Windows environment, so we do not
+	need it.
+
+2003-11-25 15:43  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	one more...
+
+2003-11-25 15:20  takehiro
+
+	* libmp3lame/: bitstream.c, bitstream.h, quantize.c, tables.c,
+	  util.h (takehiro-2002_05_07-experimental):
+
+	more simplification arround bit stream write out code.
+
+2003-11-24 18:26  takehiro
+
+	* libmp3lame/: bitstream.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up bitstream write out code.
+	- header(side info) output code is now very simplified.
+	- variable length bitstream output code is now simple and fast.
+
+2003-11-24 17:05  bouvigne
+
+	* libmp3lame/lame.c:
+
+	Do not compute ReplayGain when not using vbr header
+
+2003-11-24 16:13  takehiro
+
+	* libmp3lame/: bitstream.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the bitstream output code.
+
+2003-11-24 14:42  takehiro
+
+	* libmp3lame/: quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	added SSE version of quantize_ISO()
+
+2003-11-24 13:52  bouvigne
+
+	* libmp3lame/lame.c:
+
+	Reduced bandwith when encoding in mono
+
+2003-11-24 13:39  bouvigne
+
+	* libmp3lame/lame.c:
+
+	Fixed low bitrates lowpass and sampling rate values
+	(I probably broke it recently)
+
+2003-11-23 20:13  takehiro
+
+	* frontend/gtkanal.c, libmp3lame/encoder.c,
+	  libmp3lame/lame-analysis.h (takehiro-2002_05_07-experimental):
+
+	update mp3x display (arround block switching parameter).
+
+2003-11-23 20:05  takehiro
+
+	* frontend/parse.c, libmp3lame/VbrTag.c, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/set_get.c, libmp3lame/set_get.h, libmp3lame/tables.c,
+	  libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	remvoe unused features and variables
+	- ms_sparsing()
+	- tune()
+
+2003-11-23 19:47  takehiro
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/psymodel.h, libmp3lame/set_get.c,
+	  libmp3lame/set_get.h, libmp3lame/util.h
+	  (takehiro-2002_05_07-experimental):
+
+	now it always uses same short block switching threshold for L/R/M channel and S channel.
+
+2003-11-23 19:41  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-11-23 19:31  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	short block threshold tuning.
+	(of course, need more...)
+
+2003-11-23 11:22  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up mode extension update code.
+
+2003-11-23 10:45  takehiro
+
+	* libmp3lame/: bitstream.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	simplify bitstream writing code.
+
+2003-11-23 10:27  takehiro
+
+	* libmp3lame/: bitstream.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial clean up.
+
+2003-11-23 10:04  takehiro
+
+	* libmp3lame/encoder.h (takehiro-2002_05_07-experimental):
+
+	fix comments and comment out the unused definitions.
+
+2003-11-23 10:03  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-11-23 10:03  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	fix and simplify the usage message.
+
+2003-11-23 09:47  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	clean up block type update code
+
+2003-11-23 09:46  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-11-23 09:14  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	fix for MPEG2.5 (for the case band width = 2)
+
+2003-11-23 09:09  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	clean up writing table-id code.
+
+2003-11-23 09:08  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-11-23 08:36  takehiro
+
+	* libmp3lame/i386/fft3dn.nas (takehiro-2002_05_07-experimental):
+
+	remove unused code.
+
+2003-11-22 19:41  takehiro
+
+	* libmp3lame/: bitstream.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	optimize bitstream output code.
+
+2003-11-22 19:14  takehiro
+
+	* libmp3lame/i386/: fft.nas, ffttbl.nas
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused files
+
+2003-11-22 19:14  takehiro
+
+	* libmp3lame/i386/: Makefile.am, Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused extra-dist files
+
+2003-11-22 18:58  takehiro
+
+	* libmp3lame/: bitstream.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	optimize writeheader()
+
+2003-11-22 18:39  takehiro
+
+	* ACM/TODO (takehiro-2002_05_07-experimental):
+
+	update
+
+2003-11-22 18:39  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	3DNow! version of count1 region quantization
+
+2003-11-22 18:12  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix message.
+
+2003-11-22 18:11  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-11-22 18:09  takehiro
+
+	* libmp3lame/version.c (takehiro-2002_05_07-experimental):
+
+	added version string to SSE and E3DNow.
+
+2003-11-22 17:43  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix ABR mode sometimes uses 640kbps (!)
+
+2003-11-22 17:40  takehiro
+
+	* libmp3lame/: lame.c, tables.c, i386/fft3dn.nas
+	  (takehiro-2002_05_07-experimental):
+
+	E3DNow! version of fht()
+
+2003-11-22 17:39  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial cleanup
+
+2003-11-22 13:30  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	clean up and merge CBR/ABR code.
+
+2003-11-22 13:19  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	3DNow! version of quantize_ISO()
+
+2003-11-22 13:03  takehiro
+
+	* Dll/Example_vc6.dsw (takehiro-2002_05_07-experimental):
+
+	sync main branch
+	- Corrected the dll example project
+
+2003-11-22 09:03  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	updated
+
+2003-11-22 08:45  takehiro
+
+	* libmp3lame/: quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix warning and build problem
+
+2003-11-22 07:57  takehiro
+
+	* Dll/MP3export.pas (takehiro-2002_05_07-experimental):
+
+	sync main branch.
+	- fix calling convention
+
+2003-11-22 07:56  takehiro
+
+	* Dll/BladeMP3EncDLL.def (takehiro-2002_05_07-experimental):
+
+	added some interface.
+
+2003-11-22 07:55  takehiro
+
+	* Dll/BladeMP3EncDLL.c (takehiro-2002_05_07-experimental):
+
+	sync main branch
+	- display issue fix.
+
+2003-11-22 07:51  takehiro
+
+	* Dll/Makefile.am (takehiro-2002_05_07-experimental):
+
+	sync main branch.
+	- added files for vc6 and mingw.
+
+2003-11-21 17:07  bouvigne
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Display issues
+
+2003-11-21 17:03  takehiro
+
+	* libmp3lame/: quantize.c, takehiro.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	3DNow! version of quantization.
+	and some asm code optimization/clean up.
+
+2003-11-21 16:50  bouvigne
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Minor corrections
+
+2003-11-20 16:04  bouvigne
+
+	* Dll/MP3export.pas:
+
+	Fixed calling convention
+
+2003-11-20 13:30  bouvigne
+
+	* Dll/Example_vc6.dsw:
+
+	Corrected the dll example project
+
+2003-11-20 11:16  bouvigne
+
+	* frontend/get_audio.c, frontend/main.c, frontend/parse.c,
+	  include/lame.h, libmp3lame/set_get.c:
+
+	Changed some Vorbis messages
+
+2003-11-20 11:08  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c:
+
+	Removed mode_automs
+
+2003-11-20 10:57  bouvigne
+
+	* libmp3lame/: fft.c, lame.c, util.c, util.h:
+
+	Removed CPU_features.i387
+
+2003-11-20 10:46  bouvigne
+
+	* libmp3lame/presets.c:
+
+	Aliased r3mix to vbr-mtrh V3
+
+2003-11-19 13:00  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/presets.c:
+
+	anihilated streaming/radio/portable named presets, leaving only the -Vx
+
+2003-11-18 16:18  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2003-11-18 16:11  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	new reservoir handling code for ABR.
+
+2003-11-18 15:37  takehiro
+
+	* testcase.mp3, libmp3lame/bitstream.c
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the sign hadling code.
+
+2003-11-18 15:29  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	simplify the error check code.
+
+2003-11-18 15:21  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	optimize self check code.
+
+2003-11-18 14:03  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	For better/faster encoding, narrowen the frequency region when lower -q.
+
+2003-11-18 13:59  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	updated
+
+2003-11-18 13:57  takehiro
+
+	* libmp3lame/: bitstream.c, quantize.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix bit overflow when i-stereo
+	tuning CBR bit allocation (on_pe() function)
+	clean up finish_iteratio_one().
+
+2003-11-18 13:20  bouvigne
+
+	* libmp3lame/presets.c:
+
+	low vbr-mtrh presets
+
+2003-11-18 12:52  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-11-18 12:51  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix CBR_2nd_bitalloc() (it may makes invalid mp3 frame).
+	remapping -q setting. old -q2 is now -q1
+	enable CBR_2nd_bitalloc() when -q 0,1 and 2
+
+2003-11-18 12:22  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-11-18 12:18  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	new CBR bit allocation/reservoir handling code.
+	still need tuning (there remains some killer samples),
+	but usually brings better result.
+
+2003-11-17 02:31  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix substep noise shaping.
+
+2003-11-16 18:07  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix possible bit counting bug when CBR and higher -q option.
+
+2003-11-16 18:05  takehiro
+
+	* libmp3lame/: lame.c, util.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	do not display the CPU have i387.
+
+2003-11-16 17:57  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix typo
+
+2003-11-16 17:02  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x display.
+
+2003-11-16 16:11  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix ID3v2 tag length when --keeptag.
+
+2003-11-16 12:43  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, main.c
+	  (takehiro-2002_05_07-experimental):
+
+	now --keeptag keeps ID3v2 tag when transcoding.
+
+2003-11-16 11:04  takehiro
+
+	* libmp3lame/: lame.c, machine.h, psymodel.c, set_get.c, tables.c,
+	  util.c, util.h, version.c (takehiro-2002_05_07-experimental):
+
+	update comment style (// -> /* */)
+
+2003-11-16 11:04  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization.
+
+2003-11-16 10:47  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix one more l3_enc initialization
+
+2003-11-16 10:31  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	fix segmentation fault especially when higher VBR quality like -V0.
+
+2003-11-16 10:12  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix trivial(but fatal) bug in short block threshold calculation loop...
+
+2003-11-16 10:08  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix count1 bit-counting (we must zered all zero region because we use 4-stride in count1 region).
+
+2003-11-16 09:55  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix i-stereo+VBR fails to encode (internal buffer inconsistency).
+
+2003-11-15 18:15  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	optimize Huffmancode() by dividing it into tableindex > 15 or not.
+
+2003-11-15 18:14  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-11-15 17:07  takehiro
+
+	* libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2003-11-15 17:05  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, quantize_pvt.h, takehiro.c,
+	  util.h (takehiro-2002_05_07-experimental):
+
+	always use quantize_best() except init_globalgain().
+	and some code clean up.
+
+2003-11-15 11:21  takehiro
+
+	* configure:
+
+	regen
+
+2003-11-15 11:14  takehiro
+
+	* configure.in:
+
+	fix migw build(as is done in the experimental branch)
+
+2003-11-15 10:50  takehiro
+
+	* frontend/get_audio.c:
+
+	fix ambiguous message (Bug ID #830035)
+
+2003-11-14 16:13  bouvigne
+
+	* libmp3lame/lame.c:
+
+	use presets by default when using vbr-mtrh
+
+2003-11-14 13:24  bouvigne
+
+	* libmp3lame/presets.c:
+
+	vbr-mtrh high vbr presets
+
+2003-11-12 17:12  takehiro
+
+	* libmp3lame/: lame.c, util.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	check and display if the CPU supports Extended 3DNow!
+	(no E3DNow! code available yet.)
+
+2003-11-12 15:47  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	fix build problem for newer NASM ...
+
+2003-11-12 06:43  takehiro
+
+	* libmp3lame/i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	fix build problem (on some old nasm)
+
+2003-11-12 06:43  takehiro
+
+	* libmp3lame/i386/cpu_feat.nas (takehiro-2002_05_07-experimental):
+
+	fix build problem
+
+2003-11-11 04:27  takehiro
+
+	* libmp3lame/i386/cpu_feat.nas (takehiro-2002_05_07-experimental):
+
+	added Extended 3DNow! check code.
+
+2003-11-11 04:26  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, util.c, util.h,
+	  i386/cpu_feat.nas (takehiro-2002_05_07-experimental):
+
+	sync main branch (SIMD->SSE change)
+
+2003-11-10 15:41  bouvigne
+
+	* libmp3lame/: fft.c, lame.c, util.c, util.h, i386/cpu_feat.nas:
+
+	SIMD->SSE
+
+2003-11-10 15:31  bouvigne
+
+	* libmp3lame/: lame.c, presets.c:
+
+	Add missing values for vbr_rh -Vx scale
+
+2003-11-10 15:27  takehiro
+
+	* libmp3lame/i386/fft3dn.nas:
+
+	fix cygwin build (with nasm)
+
+2003-11-10 15:27  takehiro
+
+	* libmp3lame/i386/fft3dn.nas (takehiro-2002_05_07-experimental):
+
+	fix cygwin build with nasm
+
+2003-11-10 14:58  bouvigne
+
+	* libmp3lame/: lame.c, presets.c:
+
+	fix lowpass values for low vbr presets
+
+2003-11-10 12:06  bouvigne
+
+	* libmp3lame/: lame.c, presets.c, set_get.c:
+
+	Use presets by default when using vbr_rh
+
+2003-11-09 17:40  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2003-11-09 17:38  takehiro
+
+	* libmp3lame/: quantize.c, tables.c, tables.h, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	3DNow! version of calc_sfb_noise() (for CBR/VBR/ABR)
+	and simplify the look up table structure.
+
+2003-11-09 15:28  takehiro
+
+	* libmp3lame/: quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	3DNow! version of calc_sfb_noise_fast() (for VBR)
+
+2003-11-09 14:35  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	do not call CBR_2nd_bitalloc() when -q >= 6.
+	sometimes it results in an invalid mp3 file.
+
+2003-11-09 14:34  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	revert some part of 1.110.2.190->1.110.2.191.
+
+2003-11-09 09:43  takehiro
+
+	* libmp3lame/: quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	3DNow! version of calc_noise()
+
+2003-11-09 09:11  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-11-09 07:54  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	remove fftsse, fftfpu related code.
+
+2003-11-09 06:24  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	always use -q 5 when VBR because VBR mode needs -q 5
+	(higher -q setting makes no output change and lower -q setting sometimes makes it to encode invalid mp3 file)
+
+2003-11-08 17:51  takehiro
+
+	* libmp3lame/: takehiro.c, i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	revert part of last change, because it may seg-faults when -q 6,7,8,9
+
+2003-11-08 17:45  takehiro
+
+	* libmp3lame/: quantize.c, takehiro.c, i386/choose_table.nas
+	  (takehiro-2002_05_07-experimental):
+
+	changed quantization code. Now it quantizes >8191+15 values into 8191+15.
+
+2003-11-08 17:44  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix precision problem.
+
+2003-11-08 16:38  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	VBR code cleanup and fix minor bug
+	- when there's not enough bits, it may decrease bitrate too much.
+
+2003-11-08 07:00  takehiro
+
+	* libmp3lame/i386/: fftfpu.nas, fftsse.nas
+	  (takehiro-2002_05_07-experimental):
+
+	I cannot make it work and run faster than compiler output. so I removed.
+
+2003-11-07 16:52  takehiro
+
+	* libmp3lame/: encoder.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial code clean up
+
+2003-11-07 16:46  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	optimization
+	- precalc adjusted ATH and use them when mask_add()
+
+2003-11-07 14:54  takehiro
+
+	* libmp3lame/: quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	optimize asm code by dirty hack
+
+2003-11-07 14:53  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization(loop hoist)
+
+2003-11-07 14:37  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix VBR mode...
+
+2003-11-06 17:37  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix trivial bug when non-nasm case
+
+2003-11-06 17:18  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix substep shaping.
+
+2003-11-06 17:13  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	- prevent "double ATH handling" problem.
+	- new xr^(3/4) code for 3DNow! (From the latest gogo)
+	- added multiplication function to sumofsqr_3DN()
+
+2003-11-05 17:13  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	optimize calc_noise() at "0 or 1" region
+
+2003-11-05 14:03  bouvigne
+
+	* libmp3lame/: presets.c, psymodel.c:
+
+	Use Vx scale for presets
+
+2003-11-03 23:15  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix subblock_gain is not used(it ignores the switch).
+	added ugly optimization arround calc_sfb_noise() and calc_sfb_noise_fast().
+
+2003-11-03 22:54  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	clean up substep shaping code bit.
+
+2003-11-03 18:41  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	use 3DNow! more.
+
+2003-11-03 18:16  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	trivial bug fix...
+
+2003-11-03 18:14  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it always uses substep noise shaping (it ignore the option) when VBR.
+
+2003-11-03 18:09  takehiro
+
+	* libmp3lame/: quantize.c, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	added pow075_3DN (3DNow! version of calculating xr^(3/4))
+	added "sum x^2" code for 3DNow! and use it.
+
+2003-11-03 17:44  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	considering the Fourier analysis limitation, it should estimate loudness
+	of lower frequency region when ATH adjustment.
+
+2003-11-03 15:00  bouvigne
+
+	* libmp3lame/: lame.c, presets.c:
+
+	allow vbr presets to not be enforced (preparative work before defaulting)
+
+2003-11-03 14:04  takehiro
+
+	* testcase.mp3, libmp3lame/quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix infinite loop when short blocks. (oops, trivial bug...)
+
+2003-11-02 12:10  takehiro
+
+	* libmp3lame/: machine.h, quantize.c, quantize_pvt.h, takehiro.c,
+	  util.h, i386/quantSSE.nas (takehiro-2002_05_07-experimental):
+
+	Precalculate the fabs(xr).
+	moved xr34[] and absxr[](=fabs(xr)) into gfc.
+	better alignment work for the compiler not support "align".
+
+2003-11-01 20:06  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	more comments update and clean up
+
+2003-11-01 19:50  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	optimize substep noise shaping (trancate_smallspectrums())
+	and count_bits() related code.
+
+2003-11-01 19:30  takehiro
+
+	* libmp3lame/: quantize.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up(fix comments and misleading variable names).
+
+2003-11-01 19:14  takehiro
+
+	* libmp3lame/: quantize.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	more clean up.
+
+2003-11-01 18:47  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	clean up the comments
+
+2003-11-01 18:33  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	more coding style and comment clean up.
+	do not quantize all the band in CBR_2nd_bitalloc(). this increase the speed and  fix bug when -q6,7,8
+
+2003-11-01 18:16  takehiro
+
+	* libmp3lame/: bitstream.c, quantize.c, tables.c, tables.h,
+	  takehiro.c (takehiro-2002_05_07-experimental):
+
+	general code clean up
+	reduce division in calc_noise()
+
+2003-11-01 14:20  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix bug in sfb21 handling code(it mistook dB scale and real scale).
+
+2003-11-01 12:44  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	coding clean up
+
+2003-10-30 15:29  takehiro
+
+	* libmp3lame/: quantize.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	optimize quantization of "must be quantized to 0 or 1" region.
+
+2003-10-30 15:28  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	added new setting, "-q 6"
+
+2003-10-30 14:57  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix small quantization bug in VBR.
+
+2003-10-30 14:17  takehiro
+
+	* libmp3lame/: encoder.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix low bitrate and intensity stereo.
+
+2003-10-30 13:09  bouvigne
+
+	* libmp3lame/lame.c:
+
+	Moved replaygain analysis after resampling. It was causing problems when
+	used with non standard sampling frequencies.
+
+2003-10-27 15:57  takehiro
+
+	* configure.in, configure (takehiro-2002_05_07-experimental):
+
+	added to use TAKEHIRO_IEEE754_HACK on AMD64 machines.
+
+2003-10-26 17:58  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-10-26 16:50  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	update -q mapping and comment.
+	now -q0/-q1 is same as -q2 (-h)
+
+2003-10-26 16:26  takehiro
+
+	* libmp3lame/: lame.c, util.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	more alignment work.
+
+2003-10-26 16:26  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	optimize calc_noise(). as in main branch, it re-uses the previous
+	calc_noise result where its scalefactor value is not changed
+
+2003-10-26 15:22  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	added "SIMD (asm used)" message
+
+2003-10-26 15:22  takehiro
+
+	* libmp3lame/: quantize.c, machine.h
+	  (takehiro-2002_05_07-experimental):
+
+	more alignment work.
+
+2003-10-26 14:54  takehiro
+
+	* libmp3lame/: machine.h, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	alignment work
+
+2003-10-26 14:48  takehiro
+
+	* libmp3lame/: quantize.c, takehiro.c, util.h, i386/Makefile.am,
+	  i386/Makefile.in, i386/nasm.h, i386/quantSSE.nas
+	  (takehiro-2002_05_07-experimental):
+
+	SSE version of calculate xr^(3/4), from gogo-no-coda.
+
+2003-10-26 14:46  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization.
+
+2003-10-26 12:44  takehiro
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize.c,
+	  libmp3lame/tables.c, libmp3lame/takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	update substep noise shaping.
+	- pseudo half step is now default when -q 0 to 4.
+	- in VBR mode, use substep noise shaping if 320kbps is not enough.
+	- changed behaivior of --substep option (see the usage message)
+
+2003-10-26 11:52  takehiro
+
+	* libmp3lame/: encoder.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	more generalized optimization by using gfc->xrMaxNum.
+	- we can also use it now with VBR.
+
+2003-10-26 11:27  takehiro
+
+	* frontend/mp3x.c, include/lame.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix build problem...
+
+2003-10-26 07:43  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	use adjust_global_gain() function when pseudohalf step noise shaping.
+	fix it sometimes exceed the global_gain limit.
+
+2003-10-26 07:38  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix build problem when with DECODE_ON_THE_FLY
+
+2003-10-26 07:14  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix when subblock_gain or scalefactor_scale is used.
+
+2003-10-25 20:53  takehiro
+
+	* libmp3lame/: quantize.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	re-quantizing only on the sfb where "distortion" is found. (faster !)
+
+	revert "double"->"FLOAT" conversion.
+	- it makes some problems on the machine of which FLOAT is REALLY FLOAT
+	  (only 32it precision)
+
+2003-10-25 19:54  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	optimize/debug gi->xrNumMax usage.
+
+2003-10-25 19:45  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	added loop break code by looking the noise in sfb21 because there's no sfb value and we can do nothing with it.
+
+2003-10-25 19:30  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	off by one of max bitrate in VBR.
+
+2003-10-25 19:28  takehiro
+
+	* libmp3lame/: bitstream.c, bitstream.h, encoder.c, lame.c,
+	  set_get.c (takehiro-2002_05_07-experimental):
+
+	clean up
+
+2003-10-25 19:28  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix VBR/ABR with --nores encode.
+
+	and clean up reservoir code.
+
+2003-10-25 19:27  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	fix VbrInit code.
+
+2003-10-25 18:12  takehiro
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix
+	  (takehiro-2002_05_07-experimental):
+
+	fix dependency (remove reservoir.c)
+
+2003-10-25 18:10  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, lame_global_flags.h,
+	  mpglib_interface.c, psymodel.c, quantize.c, quantize.h,
+	  set_get.c, util.h (takehiro-2002_05_07-experimental):
+
+	analysis hook code clean up.
+
+2003-10-25 18:10  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	added decoder thread unsafe problem.
+
+2003-10-25 18:02  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	fix build problem
+
+2003-10-25 15:52  takehiro
+
+	* configure, configure.in, libmp3lame/machine.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove --enable-all-float option from configure, and make --enable-double-float instead.
+
+2003-10-25 07:31  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	faster calc_noise() by using max number of xr.
+
+2003-10-25 07:15  takehiro
+
+	* libmp3lame/: encoder.c, quantize.c, tables.c, takehiro.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	precise number of max xr for long blocks. (faster CBR/ABR)
+	code clean up.
+
+2003-10-25 06:31  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	added mp3x bug.
+
+2003-10-23 12:09  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/presets.c:
+
+	presets
+
+2003-10-22 16:22  takehiro
+
+	* libmp3lame/: encoder.c, quantize.c, takehiro.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	count bits/quantization optimization.
+	- do not quantize/search all zero region where obviously all zero region.
+	  (use previous quantization result to determine the region)
+
+2003-10-22 13:55  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	remove unused definition
+
+2003-10-22 10:21  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	changed "double" -> "FLOAT"
+
+2003-10-22 10:17  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix sometimes preflag does not decrease the bitrate.
+
+2003-10-22 10:16  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-10-22 08:26  takehiro
+
+	* libmp3lame/takehiro.c:
+
+	fix assertion failure reported by Gabriel.
+
+2003-10-22 07:33  takehiro
+
+	* libmp3lame/bitstream.c:
+
+	better debug message
+
+2003-10-22 07:11  takehiro
+
+	* libmp3lame/: libmp3lame.dsp, libmp3lame_vc6.dsp
+	  (takehiro-2002_05_07-experimental):
+
+	update for reservoir code clean up.
+
+2003-10-21 16:31  takehiro
+
+	* libmp3lame/: bitstream.c, bitstream.h, id3tag.c
+	  (takehiro-2002_05_07-experimental):
+
+	one more clean up
+
+2003-10-21 16:31  takehiro
+
+	* DEFINES, TODO (takehiro-2002_05_07-experimental):
+
+	NEW_DRAIN is now defaulted and it solves wmp6.4 problem
+
+2003-10-21 16:22  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	remove duplicated error check
+	make NEW_DRAIN as default
+	code clean up.
+
+2003-10-21 09:05  bouvigne
+
+	* libmp3lame/: set_get.c, set_get.h, vbrquantize.c:
+
+	cleanup
+
+2003-10-20 16:10  olcios
+
+	* doc/html/history.html:
+
+	Added the word "Radio" to the description of the ReplayGain contribution, as it is actually the "Radio" ReplayGain that is computed.
+
+2003-10-20 15:02  takehiro
+
+	* libmp3lame/: VbrTag.c, VbrTag.h, encoder.c
+	  (takehiro-2002_05_07-experimental):
+
+	clean up VBRTAG related code.
+	- now the tag is same when --freeformat 128 and when -b 128
+	- do not make seek table when CBR
+
+2003-10-20 13:19  takehiro
+
+	* libmp3lame/: Makefile.am, Makefile.in, VbrTag.c, bitstream.c,
+	  quantize.c, quantize_pvt.h, reservoir.c, reservoir.h, tables.c,
+	  util.h (takehiro-2002_05_07-experimental):
+
+	large clean up arround reservoir related code
+
+2003-10-20 12:30  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2003-10-20 11:08  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha
+
+2003-10-20 07:20  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	fixed build problem
+
+2003-10-19 23:26  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix comments.
+
+2003-10-19 17:19  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	updated
+
+2003-10-19 17:12  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	simplify the short block noise calculation.
+
+2003-10-19 16:58  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix VBR when i-stereo and completely mono.
+
+2003-10-19 14:14  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	update
+
+2003-10-19 14:05  takehiro
+
+	* libmp3lame/: machine.h, mpglib_interface.c, newmdct.c,
+	  quantize.c, tables.c, util.c (takehiro-2002_05_07-experimental):
+
+	remove FLOAT8 at all.
+
+2003-10-19 14:04  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	"floating" scalefactor optimization when preflag is enabled.
+
+2003-10-19 13:42  takehiro
+
+	* libmp3lame/: bitstream.c, quantize.c, tables.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix MPEG2 Layer3 scalefactor store code.
+	- fix i-stereo mode.
+	- fix preflag usage.
+
+2003-10-19 13:13  takehiro
+
+	* libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	remove unused member
+
+2003-10-19 12:50  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	Fix subband filtering initialization code.
+	I hope this solves "very the 1st frame" problem.
+
+2003-10-19 12:20  takehiro
+
+	* libmp3lame/: bitstream.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	use preflag when MPEG2
+	added istereo bitstream output code when MPEG2
+	(only output code. not support at the bit-allocation).
+
+2003-10-19 11:41  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	oops, I checked in the wrong version ...
+
+2003-10-19 11:39  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	update
+
+2003-10-19 11:37  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, newmdct.c, psymodel.c, psymodel.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix very the 1st frame encoding.
+	at least MPEG2 Layer3 works, but still there's problem...
+
+2003-10-19 06:24  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix warning when not HAVE_GTK
+
+2003-10-19 04:45  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	updated and renumbered.
+
+2003-10-19 04:42  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix max sfb value when preflag+IS
+
+2003-10-19 04:41  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	update comment
+
+2003-10-18 18:05  takehiro
+
+	* libmp3lame/: encoder.c, quantize.c, tables.c, util.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	small clean ups and remove outdated comments.
+
+2003-10-18 17:19  takehiro
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.h, libmp3lame/set_get.c,
+	  libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	use always max_noise as the noise estimation and remove the "quantcomp" selection
+
+2003-10-18 16:54  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	clean up and simplify bin_search_StepSize().
+
+2003-10-18 16:46  takehiro
+
+	* libmp3lame/: bitstream.c, quantize.c, reservoir.c, reservoir.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix for NEW_DRAIN
+	fix for target bitrate display in mp3x
+	and code clean up.
+
+2003-10-18 16:17  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	small clean up
+
+2003-10-18 16:14  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	widen the scalefactor search range when VBR.
+	and use previous frame information to find the scalefactor.
+
+2003-10-18 13:44  takehiro
+
+	* libmp3lame/: VbrTag.c, VbrTag.h, bitstream.c, lame.c, psymodel.c,
+	  quantize.c, util.c, util.h (takehiro-2002_05_07-experimental):
+
+	fix warnings
+
+2003-10-18 13:43  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	short block threshold tuning.
+
+2003-10-18 12:38  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix it sometimes drains too much bits into the ancillary.
+
+2003-10-18 10:42  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	added quality problem.
+
+2003-10-17 14:39  bouvigne
+
+	* libmp3lame/: quantize_pvt.c, quantize_pvt.h:
+
+	One more speedup in calc_noise, but the function is now a little messy
+
+2003-10-17 13:50  bouvigne
+
+	* configMS.h:
+
+	updated version number
+
+2003-10-17 11:49  bouvigne
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h:
+
+	Speedup calc_noise (about 5-10%) by re-using noise values per sfb between
+	successive calls
+
+2003-10-16 15:36  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	tuning short block masking threshold calculation.
+
+2003-10-16 15:12  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.h, newmdct.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the block type update code.
+
+2003-10-16 15:10  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial coding clean up.
+
+2003-10-16 13:26  bouvigne
+
+	* libmp3lame/: VbrTag.c, presets.c:
+
+	Put preset used in tag even when just using -b or --abr
+
+2003-10-16 12:55  bouvigne
+
+	* libmp3lame/VbrTag.c:
+
+	fixed a Lame header bug:
+	-b xxx --preset yyy was putting xxx as minimum bitrate value in the
+	tag instead of the value defined in the preset yyy
+
+2003-10-16 01:32  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	fix warning when not DEBUG mode
+
+2003-10-16 01:30  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, psymodel.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	one more cleanup
+
+2003-10-14 17:56  takehiro
+
+	* libmp3lame/: encoder.c, lame-analysis.h, psymodel.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	one more general code clean up.
+
+2003-10-14 17:37  takehiro
+
+	* testcase.mp3, libmp3lame/VbrTag.c, libmp3lame/bitstream.c,
+	  libmp3lame/quantize.c, libmp3lame/reservoir.c,
+	  libmp3lame/reservoir.h, libmp3lame/tables.c, libmp3lame/util.h
+	  (takehiro-2002_05_07-experimental):
+
+	general clean up.
+
+2003-10-14 16:57  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	write down "i-stereo used or not" to LAME tag.
+
+2003-10-14 16:56  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	remove automs code
+
+2003-10-14 16:54  takehiro
+
+	* testcase.mp3, frontend/parse.c, include/lame.h,
+	  libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c,
+	  libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	remove lame_(set|get)_automs
+	remove "-m a" option
+
+	simplify when no psymodel case (but it has bug in reservoir handling.)
+
+2003-10-14 16:46  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	compress "floating" scalefactors
+
+2003-10-14 12:56  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	treat "LR-i" as same as "LR" when display LR/MS history bar.
+
+2003-10-14 12:23  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix MS_MD_LR_LR will never be selected ...
+
+2003-10-14 12:21  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	update mode/block type selection (mode_ext) code.
+	- now it uses "START-STOP" block type transition.
+	- istereo selection code is now simplified.
+	- and small general code clean ups.
+
+2003-10-13 17:56  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	clean up istereo related code.
+
+2003-10-13 17:52  takehiro
+
+	* Makefile.am, Makefile.in (takehiro-2002_05_07-experimental):
+
+	fix testcase failure when not HAVE_GTK
+
+2003-10-13 17:27  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x sometime assertion failure.
+
+2003-10-13 17:21  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix it forgot to reset the istereo usage sfb when LR_I -> LR_MS
+
+2003-10-13 15:57  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	widen the sf search range on short block.
+	some code clean up.
+
+2003-10-13 15:56  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	tuning tonality estimation of "middle" frequency area.
+
+2003-10-13 15:25  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	clean up VBR code.
+
+2003-10-13 13:50  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	update with alpha 9
+
+2003-10-13 13:48  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	nuke ".raw" from output filename.
+	fix possible buffer overrun.
+
+2003-10-13 13:26  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	use substep noise shaping even when short block.
+	do not substep noise shaping on digital silent channel.
+
+2003-10-13 13:20  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	init code optimization (do not calculate xr^(3/4) beyond cutoff).
+
+2003-10-13 13:19  takehiro
+
+	* libmp3lame/: lame.c, tables.c (takehiro-2002_05_07-experimental):
+
+	use same ath adjustment code for VBR/CBR/ABR
+
+2003-10-13 11:05  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix LR-i stereo selection on short blocks. (I forgot to commit this in alpha9)
+
+2003-10-13 11:02  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix comment.
+
+2003-10-13 10:20  takehiro
+
+	* testcase.mp3, libmp3lame/version.h
+	  (takehiro-2002_05_07-experimental):
+
+	here goes alpha9
+
+2003-10-13 10:19  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, quantize.c, quantize_pvt.h,
+	  takehiro.c (takehiro-2002_05_07-experimental):
+
+	clean up preflag/istereo code.
+
+2003-10-13 10:17  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	one more fix about i-stereo aging bug.
+
+2003-10-13 09:53  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	fix --allshort and --shortthreshold
+
+2003-10-11 20:17  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	changed variable name, cod_info_w -> gi_w
+
+2003-10-11 20:11  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	use best_scalefac when istereo.
+
+2003-10-11 19:45  takehiro
+
+	* libmp3lame/: lame.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up ATH adjustment code.
+
+2003-10-11 19:45  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	do not use athAdjust()
+
+2003-10-11 19:36  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	prepare for "START-STOP" sequence.
+
+2003-10-11 15:11  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix i-stereo aging bug.
+
+2003-10-11 14:11  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.c, psymodel.h, quantize.c,
+	  quantize.h, util.h (takehiro-2002_05_07-experimental):
+
+	trivial optimization (more and more)
+
+2003-10-11 13:42  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2003-10-11 13:39  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-10-11 13:19  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	use subblock_gain and scalefac_scale when i-stereo and CBR/ABR.
+
+2003-10-11 13:13  takehiro
+
+	* libmp3lame/: quantize.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	i-stereo with VBR.
+
+2003-10-11 11:21  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	work arround for mono-input problem when istereo.
+
+2003-10-11 11:09  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix cutoff when i-stereo enabled but not using istereo frame.
+
+2003-10-11 11:05  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	make check_istereo() to be aware of the cutoff.
+
+2003-10-11 10:34  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix off by one bug in loop_break()
+
+2003-10-11 10:29  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix off by one bug in PE calculation (and some code clean up).
+
+2003-10-06 05:09  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	istereo selection code optimization
+
+2003-10-06 04:20  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix scalefactor breakage when istereo case
+
+2003-10-05 18:08  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	reduce istereo usage ratio.
+
+2003-10-05 18:04  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	small clean up
+
+2003-10-05 17:59  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	sync with main branch
+	- Gaby's freeformat vbrtag fix(rev 1.67->1.68).
+
+2003-10-05 17:48  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix LR-i mode selection.
+
+2003-10-05 17:05  takehiro
+
+	* testcase.mp3, frontend/gtkanal.c, libmp3lame/encoder.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize.h
+	  (takehiro-2002_05_07-experimental):
+
+	general mp3x cleanup.
+
+2003-10-05 16:36  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	remove magic numbers
+
+2003-10-05 14:17  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	pe -> bit-allocation update.(revert old one)
+
+2003-10-05 13:59  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix when almost mono input.
+
+2003-10-05 13:29  takehiro
+
+	* libmp3lame/: quantize.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	one more --athonly hack.
+
+2003-10-05 13:21  takehiro
+
+	* libmp3lame/: quantize.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	simplify calc_xmin when "ATH only".
+
+2003-10-05 12:15  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	fix sfb buffer overrun when i-stereo.
+
+2003-10-05 11:54  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	update the algorithm to select the sfb where it uses i-stereo.
+
+2003-10-05 10:37  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix short block cutoff sfb calculation.
+
+2003-10-04 18:27  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	small optimization
+	- noise calculation in "all zero" region.
+	- sfb21 shaping aware loop_break()
+
+2003-10-04 18:26  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	small clean up
+
+2003-10-04 16:57  takehiro
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	VBR quality over 9 (not tuned yet at all).
+
+2003-10-04 16:52  takehiro
+
+	* libmp3lame/: tables.c, util.h, encoder.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	make it default to do noise shaping in sfb21.
+	cutoff-aware PE(perceptual entropy) calculation.
+
+2003-10-02 09:25  takehiro
+
+	* frontend/parse.c:
+
+	fix build problem.(I made a mistake when back porting ...)
+
+2003-10-01 16:13  takehiro
+
+	* mpglib/layer3.c (takehiro-2002_05_07-experimental):
+
+	fix build problem
+
+2003-09-29 17:47  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	tonality estimation tuning ... still need more.
+
+2003-09-29 14:00  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-09-29 00:35  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	fix typo
+
+2003-09-28 16:44  takehiro
+
+	* configMS.h (takehiro-2002_05_07-experimental):
+
+	fix version
+
+2003-09-28 16:42  takehiro
+
+	* USAGE (takehiro-2002_05_07-experimental):
+
+	small update.
+
+2003-09-28 16:32  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	re-enable scfsi usage.
+
+2003-09-28 16:30  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	use scalefactor() macro more.
+
+2003-09-28 16:19  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	tonality estimation fix #1
+	- safer tonality estimation at lower frequency.
+	- tuned sine wave (arround 20Hz) with the option "-v --substep 1"
+
+	- we still need tuning sine wave arround 1kHz.
+
+2003-09-27 18:39  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	"smoothing" the istereo/narrow-stereo/reduce-side values for default setting.
+	and code clean up.
+
+2003-09-27 18:11  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	many small clean up.
+
+	and mp3x update.
+	- display number of scalefactor bands with a distortion.
+	- display total noise.
+
+2003-09-27 17:15  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix display of istereo-ratio and reduce-side factor
+
+2003-09-27 17:14  takehiro
+
+	* libmp3lame/lame-analysis.h (takehiro-2002_05_07-experimental):
+
+	remove unused definition
+
+2003-09-27 17:14  takehiro
+
+	* INSTALL (takehiro-2002_05_07-experimental):
+
+	updated for LAME4
+	- remove outdated compile time options including configure option.
+
+2003-09-27 15:50  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix narrow stereo default setting bug.
+
+2003-09-27 13:13  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	It assumes the noise is monotonic function of the scalefactor, but it is not true.
+	To fix it, I added CBR_2nd_bitalloc() function.
+
+2003-09-27 13:05  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	fix "%" display.
+
+2003-09-27 09:58  takehiro
+
+	* frontend/parse.c, libmp3lame/lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	added --reduce-side option
+
+	added to display side-channel pe reduction factor and narrowen stereo factor,
+	when --verbose.
+
+2003-09-27 08:24  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, quantize.c, set_get.c,
+	  set_get.h, util.h (takehiro-2002_05_07-experimental):
+
+	reduce_ratio option to control MS/LR ratio.
+	need more tuning.
+
+2003-09-27 06:16  takehiro
+
+	* frontend/parse.c:
+
+	added priority control on WIN32, backport from experimental branch.
+
+2003-09-26 13:52  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	remove outdated comment.
+
+2003-09-26 03:50  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	updated
+
+2003-09-25 16:27  takehiro
+
+	* frontend/parse.c, libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/quantize.c, libmp3lame/set_get.c,
+	  libmp3lame/set_get.h, libmp3lame/util.h
+	  (takehiro-2002_05_07-experimental):
+
+	- added --narrowen-stereo option
+	- use narrowen stereo default when lower than 90kbps.
+
+2003-09-25 15:54  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	added priority control option on MS-Windows.
+	(request #649324 @ sf.net)
+
+2003-09-25 13:21  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen by hand.
+
+2003-09-25 13:21  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	fix typo
+
+2003-09-25 13:15  takehiro
+
+	* libmp3lame/i386/Makefile.in (takehiro-2002_05_07-experimental):
+
+	fix automake bug by hand (work arround)
+
+2003-09-24 23:18  takehiro
+
+	* Makefile.in, aclocal.m4, config.guess, config.sub, configure,
+	  depcomp, install-sh, missing, mkinstalldirs, ACM/Makefile.in,
+	  ACM/ADbg/Makefile.in, ACM/tinyxml/Makefile.in, Dll/Makefile.in,
+	  debian/Makefile.in, doc/Makefile.in, doc/html/Makefile.in,
+	  doc/man/Makefile.in, dshow/Makefile.in, frontend/Makefile.in,
+	  frontend/rtp.c, include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, mac/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen with aclocl-1.7, automake-1.7, autoconf-2.57
+
+2003-09-24 23:15  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	fixed mingw build.
+	- socket patch from leighsmith, patch ID #809315 @ sf.net
+
+	socket function is not mandatory when mp3rtp is not built.
+	- bug report from gadibergman, Bug ID #809678 @ sf.net
+
+2003-09-23 18:29  takehiro
+
+	* DEFINES (takehiro-2002_05_07-experimental):
+
+	updated
+
+2003-09-23 18:04  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	it sometime goes into infinite loop when imcomplete wave file...
+
+2003-09-23 17:28  takehiro
+
+	* libmp3lame/: encoder.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	added "narrow stereo image" function.
+	I will add new "right" switch to enable it, but till then,
+	use -X n (0<n<128) option to enable it.
+
+	larger n makes narrowen the stereo image more.
+	This helps quality at lower bitrate (arround 64kbps).
+	My recomendation is "-b 64 -X 30".
+
+2003-09-23 16:07  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	remove unused definition.
+
+2003-09-23 15:56  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial coding clean up.
+
+2003-09-23 15:44  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	new sfb21 treatment hack to make it faster.
+
+2003-09-23 12:37  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	update.
+
+2003-09-21 18:37  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	tuning CBR/ABR preset bit.
+
+2003-09-21 16:16  takehiro
+
+	* libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	bump up to alpha8.
+
+2003-09-21 16:16  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-09-21 16:15  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	revert "bitrate cutdown" code in VBR_2nd()
+
+2003-09-21 16:01  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix it sometimes uses range over sfb value.
+
+2003-09-21 15:47  takehiro
+
+	* libmp3lame/: tables.c, tables.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused definition and array object.
+
+2003-09-21 15:36  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	remove redundant initialization
+	added one more sanity check.
+
+2003-09-21 10:29  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen (by hand :p)
+
+2003-09-21 10:26  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	treat gcc 3.3.x same as 3.2.x
+
+2003-09-12 13:00  bouvigne
+
+	* libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/presets.c,
+	  libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/set_get.c, include/lame.h,
+	  libmp3lame/set_get.h, libmp3lame/util.h, frontend/parse.c:
+
+	--psymodel 1/2 (gpsycho is 1 and nspsytune is 2)
+
+2003-08-31 15:40  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	it should not check sfb21 noise differently.
+
+2003-08-31 09:39  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	remove "reduce bitrate" function from VBR_2nd_bitalloc,
+	which is redundant (it will be done in the VBR_3rd_bitalloc).
+
+2003-08-31 09:21  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix noise shaping stop criteria when we need sfb21 noise shaping.
+
+2003-08-31 09:20  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	added new macro "scalefactor()" to simplify the code.
+
+2003-08-31 08:53  takehiro
+
+	* mpglib/interface.c (takehiro-2002_05_07-experimental):
+
+	fix null pointer access reported by Andreas Westfeld
+
+2003-08-20 16:45  bouvigne
+
+	* libmp3lame/lame.c:
+
+	fixed CBR settings bug
+	(introduced by me)
+
+2003-08-20 16:16  bouvigne
+
+	* libmp3lame/set_get.c:
+
+	fixed an assertion failure on lame_get_interChRatio
+	(introduced by me)
+
+2003-08-17 18:09  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-08-17 18:07  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	sync with main branch (type handling and socket function detection)
+
+2003-08-17 08:12  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	sync main branch (pipe input support)
+
+2003-08-16 10:36  aleidinger
+
+	* doc/html/history.html:
+
+	add entry for the named pipe bug
+
+2003-08-16 10:26  aleidinger
+
+	* frontend/get_audio.c:
+
+	Work around a bug which shows up if the input is a FIFO.
+
+	Tested by:	Ville Herva <vherva@niksula.hut.fi>
+
+2003-08-10 12:48  bouvigne
+
+	* include/lame.h, libmp3lame/lame.c, libmp3lame/presets.c,
+	  libmp3lame/psymodel.h, libmp3lame/set_get.c,
+	  libmp3lame/set_get.h:
+
+	use presets by default for abr/cbr
+
+2003-08-10 10:11  takehiro
+
+	* libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-08-10 10:09  takehiro
+
+	* libmp3lame/: libmp3lame.dsp, libmp3lame_vc6.dsp
+	  (takehiro-2002_05_07-experimental):
+
+	new interface to change internal flags
+
+2003-08-10 10:06  takehiro
+
+	* libmp3lame/Makefile.am (takehiro-2002_05_07-experimental):
+
+	new interface to change internal flags.
+
+2003-08-10 10:05  takehiro
+
+	* libmp3lame/lame.c, libmp3lame/set_get.c, frontend/parse.c,
+	  include/lame.h, libmp3lame/set_get.h
+	  (takehiro-2002_05_07-experimental):
+
+	sync with main branch and fix comments.
+	- changed API name
+	- hidden "internal" flags when stable release (when it will be...)
+
+2003-08-10 10:03  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	fix comment.
+
+2003-08-10 10:03  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix it may use i-stereo at sfb21.
+
+2003-08-10 10:00  takehiro
+
+	* debian/: control, copyright, lame.docs, lame.files, rules
+	  (takehiro-2002_05_07-experimental):
+
+	sync with main branch, except changelog itself.
+
+2003-08-09 18:55  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix for when there's no LIST chunk.
+
+2003-08-09 12:54  takehiro
+
+	* libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	fix warning one more.
+
+2003-08-09 12:00  takehiro
+
+	* libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	fix aliasing warning
+
+2003-08-09 11:30  takehiro
+
+	* libmp3lame/id3tag.c (takehiro-2002_05_07-experimental):
+
+	added definition for MSVC (as Gabriel did in main branch)
+
+2003-07-16 01:29  rbrito
+
+	* debian/: changelog, control, copyright, lame.docs, lame.files,
+	  rules:
+
+	Updated debian packaging.
+
+2003-07-13 10:11  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	RIFF->ID3Tag conversion patch from Charlie Lenahan <CLenahan at fortresstech dot com>
+
+2003-07-11 16:35  aleidinger
+
+	* doc/html/id3.html, doc/man/lame.1, frontend/parse.c:
+
+	Add --ignore-tag-errors, mostly submitted by Adam Luter
+	<Adam.Luter@matchwave.com>.
+
+2003-06-29 15:43  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	revert the latest psymodel update...
+
+2003-06-15 16:52  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	trivial coding style update (comment style change, // ... -> /* ... */ )
+
+2003-06-15 16:48  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	do not output unused information to avoid any confusion.
+
+2003-06-15 15:28  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix almost all the VBR infinite loop problem (I hope)
+
+	general code simplification
+
+2003-06-14 17:52  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	simplified VBR code.
+
+2003-06-14 17:36  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	simplify the VBR code.
+
+	fix more infinite loop in VBR, but still ....
+
+2003-06-14 14:34  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix method 2 of substep shaping.
+	added VBR_3rd_bitalloc() to reduce bitrate little bit.
+
+2003-06-14 14:33  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	one more safer tonality estimation in lower frequency, especially for human voice.
+
+2003-06-14 14:32  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	trivial simplification
+
+2003-06-14 09:32  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix compilation problem on MSVC reported by Yaroslav Efimov
+
+2003-06-14 07:40  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix possible VBR infinite loop... but there are still problems.
+
+2003-06-08 18:19  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix VBR code assumes noise<->scalefactor is a monotonic function.
+
+	some trivial style update
+
+2003-06-08 17:05  takehiro
+
+	* include/lame.h, frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove nspsytune2
+
+2003-06-08 16:58  takehiro
+
+	* include/lame.h, frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	always use ATH adaptive adjustment
+
+2003-06-08 16:56  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up
+
+2003-06-08 16:40  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	experimental LR-i check code (not enabled yet)
+
+2003-06-04 17:47  takehiro
+
+	* Dll/BladeMP3EncDLL.c (takehiro-2002_05_07-experimental):
+
+	sync main branch
+
+2003-06-04 17:42  takehiro
+
+	* Dll/BladeMP3EncDLL.c:
+
+	fix quality setting API(patch for BugID 746439 at sf.net, reported by mikokong).
+
+2003-06-01 18:22  aleidinger
+
+	* libmp3lame/Makefile.in:
+
+	regen
+
+2003-06-01 18:22  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	add new private header
+
+2003-06-01 17:20  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/libmp3lame_vc6.dsp,
+	  libmp3lame/presets.c, libmp3lame/set_get.c, libmp3lame/set_get.h:
+
+	private header for internal set/get interfaces
+
+2003-06-01 16:12  bouvigne
+
+	* libmp3lame/id3tag.c:
+
+	let's use snprintf, with a define for msvc
+
+2003-06-01 12:34  takehiro
+
+	* libmp3lame/: lame.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial simplification
+
+2003-06-01 12:25  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	added --is-ratio switches to set the is-ratio.
+
+	remove descriptions about -X,-Y and -Z.
+
+2003-06-01 12:24  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	added istereo-ratio to display.
+
+2003-06-01 12:19  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	update TODOs and categorize them.
+
+2003-06-01 09:16  takehiro
+
+	* libmp3lame/: lame.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	tuning lower bitrate (arround 64kbps).
+	- improve pe -> bit allocation
+	- changed cutoff, short-threshold.
+
+2003-06-01 09:14  bouvigne
+
+	* libmp3lame/VbrTag.c:
+
+	fix seek table for freeformat
+
+	There is still something strange because with
+	-b128 and
+	-b128 --freeformat
+	I do not get the same seek table
+
+2003-06-01 09:06  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	scfsi debug.
+	- it forgot to initialize scfsi flag when it changes "not istereo" frame to "istereo" frame.
+	- when scfsi is not used at all, do not re-calculate the how many bits are needed to store the scalefactors.
+
+2003-05-31 18:28  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	initialize gfc->l3_side.is_start_sfb_l/s in case not using istereo.
+
+2003-05-31 18:19  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	do not do the istereo related processes when dual stereo mode.
+
+2003-05-31 14:05  bouvigne
+
+	* libmp3lame/id3tag.c:
+
+	ID3 TAG of "Encoder name", backported from experimental branch.
+	Btw snprintf does not exist under msvc, so I used sprintf.
+
+2003-05-31 13:52  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	sync with the main branch (fix VBR tag when freeformat by Gabriel)
+
+2003-05-31 13:30  takehiro
+
+	* libmp3lame/id3tag.c (takehiro-2002_05_07-experimental):
+
+	ID3 TAG of "Encoder name".
+	This is based on the patch from danchr, at http://www.hydrogenaudio.org/index.php?act=ST&f=15&t=9858&
+
+2003-05-31 13:16  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	do not use istereo when "analog-monaural".
+
+2003-05-25 17:00  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix i-stereo frame timing delay.
+
+	do not use i-stereo when completely mono.
+
+2003-05-25 15:34  bouvigne
+
+	* libmp3lame/VbrTag.c:
+
+	corrected the bitrate index of LAME tag in case of freeformat,
+	but the seek table is still wrong
+
+2003-05-25 13:21  takehiro
+
+	* Makefile.in, debian/Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-05-25 13:14  takehiro
+
+	* Makefile.am, debian/Makefile.am
+	  (takehiro-2002_05_07-experimental):
+
+	moved dist-hook, as is in the head branch.
+
+2003-05-25 13:09  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix initialization of "istereo used band" when istereo is not used at all.
+
+2003-05-25 13:04  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix istereo stereo image bug when mono.
+
+2003-05-25 12:28  takehiro
+
+	* include/lame.h, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/set_get.c, libmp3lame/tables.c, libmp3lame/util.h
+	  (takehiro-2002_05_07-experimental):
+
+	psymodel for i-stereo.
+	determine which sfb to use i-stereo by checking similarity of the masking/energy ratios.
+
+2003-05-25 07:31  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	optimize CBR/VBR mode pe<->bit allocation
+
+	trivial simplification arround VBR.
+
+2003-05-25 03:25  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	i-stereo improvement.
+	- auto switching LR-i <=> MS-i
+	- i-stereo aware pe calculation
+
+2003-05-25 01:19  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	added i-stereo frame count display.
+
+2003-05-25 00:59  takehiro
+
+	* TODO (takehiro-2002_05_07-experimental):
+
+	slightly updated about i-stereo.
+
+2003-05-20 12:19  aleidinger
+
+	* debian/Makefile.in, configure:
+
+	regen
+
+2003-05-20 12:17  aleidinger
+
+	* aclocal.m4:
+
+	remove gtk12-config
+
+2003-05-20 12:14  aleidinger
+
+	* Makefile.am, debian/Makefile.am:
+
+	move the dist-hook into the directory where the action happens
+
+2003-05-20 12:13  aleidinger
+
+	* configure.in:
+
+	some enhancements for compiler problems and detection of the right size of some types
+
+2003-05-19 04:20  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-05-19 04:19  takehiro
+
+	* Makefile.in, aclocal.m4, config.guess, config.sub, ltmain.sh,
+	  ACM/Makefile.in, ACM/ADbg/Makefile.in, ACM/tinyxml/Makefile.in,
+	  Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in,
+	  frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  mac/Makefile.in, misc/Makefile.in, mpglib/Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	regen with libtool-1.4.2/automake-1.5 to fix nasm enabled build
+
+2003-05-19 04:17  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	fix compilation problem on "old" compilers
+
+2003-05-19 04:09  takehiro
+
+	* .cvsignore (takehiro-2002_05_07-experimental):
+
+	added stamp-h?, remove stamp-h1
+
+2003-05-18 17:20  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.c, lame.c, lame_global_flags.h,
+	  psymodel.c, quantize.c, tables.c, takehiro.c, util.h, version.h
+	  (takehiro-2002_05_07-experimental):
+
+	initial support of intensity stereo for lower bitrate
+	it will be enabled when 64-112kbps by default.
+
+	now bump up the alpha7.
+
+2003-05-18 16:13  takehiro
+
+	* libmp3lame/version.c (takehiro-2002_05_07-experimental):
+
+	when NASM is not enabled, do not print message about "MMX" or "3dNow!"
+
+2003-05-18 15:05  takehiro
+
+	* Makefile.am:
+
+	added chmod +x debian/rules when make dist.
+
+2003-05-18 15:03  takehiro
+
+	* Makefile.am, Makefile.in, misc/Makefile.am, misc/Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	moved lame.bat
+	added "chmod +x debian/rules" when "make dist" to resolve BugID #578129
+
+2003-05-18 14:15  takehiro
+
+	* Dll/BladeMP3EncDLL.h:
+
+	patch from sf.net, Dll compile with gcc.
+
+2003-05-18 07:04  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix for the environment which "long" is 64bit.
+
+2003-05-18 03:45  takehiro
+
+	* frontend/parse.c, libmp3lame/lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the opening message
+
+2003-05-18 02:35  takehiro
+
+	* frontend/: main.h, parse.c (takehiro-2002_05_07-experimental):
+
+	trivial change and fix warnings
+
+2003-05-18 02:34  takehiro
+
+	* config.guess (takehiro-2002_05_07-experimental):
+
+	oops, I overwrote the older file. revert.
+
+2003-05-18 02:31  takehiro
+
+	* config.sub (takehiro-2002_05_07-experimental):
+
+	oops, I overwrite the older file.
+
+2003-05-18 02:27  takehiro
+
+	* stamp-h.in (takehiro-2002_05_07-experimental):
+
+	removed
+
+2003-05-18 02:21  takehiro
+
+	* USAGE (takehiro-2002_05_07-experimental):
+
+	remove -d and --voice
+	changed recommended setting
+
+2003-05-17 18:49  takehiro
+
+	* frontend/: main.c, mp3x.c, parse.c
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the startup messages
+	fix typo in warning mesage
+
+2003-05-17 18:35  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove all the presets
+
+2003-05-17 17:55  takehiro
+
+	* acconfig.h, ltconfig (takehiro-2002_05_07-experimental):
+
+	removed
+
+2003-05-17 17:51  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-05-17 17:50  takehiro
+
+	* Makefile.in, aclocal.m4, config.guess, config.h.in, config.sub,
+	  configure.in, ltmain.sh, ACM/Makefile.in, Dll/Makefile.in,
+	  debian/Makefile.in, doc/Makefile.in, dshow/Makefile.in,
+	  frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, ACM/ADbg/Makefile.in,
+	  ACM/tinyxml/Makefile.in, mac/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  libmp3lame/i386/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen with autoconf-2.54, automake-1.6, libtool-1.4
+
+2003-05-17 17:22  takehiro
+
+	* Dll/BladeMP3EncDLL.h (takehiro-2002_05_07-experimental):
+
+	BladeMP3EncDLL.h patch for GCC from sf.net
+
+2003-05-15 17:04  takehiro
+
+	* frontend/lametime.c (takehiro-2002_05_07-experimental):
+
+	Fix for SunOS 4, reported by Ti Kan.
+
+2003-05-15 17:02  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix for sunos 4.x, reported by Ti Kan.
+
+2003-05-15 16:57  takehiro
+
+	* configure.in, frontend/brhist.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix for BSDI, which does not have term.h (reported by Ti Kan)
+
+2003-05-15 16:55  takehiro
+
+	* lame.bat, misc/lame.bat (takehiro-2002_05_07-experimental):
+
+	moved lame.bat into misc directory
+
+2003-05-15 15:09  takehiro
+
+	* libmp3lame/: psymodel.c, psymodel.h, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial clean up.
+
+2003-05-15 15:08  takehiro
+
+	* include/lame.h, libmp3lame/set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove set_preset_* functions public.
+
+2003-05-15 15:07  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	new pseudo sfb21 ath handling code (of course, experimental)
+
+2003-05-15 14:58  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	Partial fix of VBR code assuming the qunatizing noise always increase
+	when the scalefactor increase. This makes reduce bitrate arround 40kbps
+	with bloat_test.wav.
+
+	This fix is not perfect, because it still assumes the qunatizing noise always
+	decrease when the scalefactor decrease.
+
+2003-05-15 12:48  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	update default short block threshold
+
+2003-05-15 12:04  takehiro
+
+	* libmp3lame/: psymodel.c, psymodel.h
+	  (takehiro-2002_05_07-experimental):
+
+	tuning MSFIX value with creaking.wav
+	simplified and ATH aware msfix() routine.
+
+2003-05-11 15:03  bouvigne
+
+	* libmp3lame/presets.c:
+
+	updated low bitrate presets.
+	Considering quality, we have:
+	ns1 comp1 > ns1 comp3 >ns2 comp3 >ns2 comp1
+
+2003-05-11 13:15  bouvigne
+
+	* libmp3lame/lame.c, frontend/parse.c, include/lame.h,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c:
+
+	--sfscale, inhibited -Z
+
+2003-05-11 11:33  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	simplified calc_noise() and better_quant().
+
+	update comments.
+
+	tuning ABR/CBR 64/80/192/224 kbps.
+
+2003-05-11 10:18  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	added comments on vbr code (from main branch).
+
+	trivial simplification in find_scalefac()
+
+	prepare for fixing VBR code assumes "quantize noise always decrease when
+	scalefactor decrease".
+
+2003-05-11 09:49  bouvigne
+
+	* libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/set_get.c,
+	  frontend/parse.c, include/lame.h, libmp3lame/util.h:
+
+	--sbgain
+
+2003-05-10 17:56  takehiro
+
+	* testcase.mp3, frontend/parse.c, libmp3lame/lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix for -k option (reported by Robert. thanx)
+
+2003-05-09 14:06  aleidinger
+
+	* frontend/: main.c, lametime.c:
+
+	Fix on SunOs 4, Submitted by: Ti Kan <ti@amb.org>
+
+2003-05-09 13:44  aleidinger
+
+	* frontend/brhist.c:
+
+	fix on BSD/OS 3.x, Submitted by: Ti Kan <ti@amb.org>
+
+2003-05-09 13:14  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	re-enabling the psfb12 analog silence detection. This time, the coeffs should
+	be correct.
+	However, the coding gain is now quite small
+
+2003-05-08 12:58  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	I am disabling the code for psfb12 analog
+	silence detection, as it produces some kind of
+	dropouts. It probably means that there is a bug
+	somewhere inside.
+
+2003-05-04 15:36  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha
+
+2003-05-04 15:35  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/presets.c:
+
+	working on presets
+
+2003-05-03 14:34  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c:
+
+	ability to set vbr smooth (for vbr-mtrh)
+
+2003-05-02 17:38  bouvigne
+
+	* frontend/parse.c:
+
+	internal command line options only available in debug or in alpha.
+
+	This way we should not be worried again by users using non docummented options:
+	they will not be available for them
+
+2003-05-02 16:18  bouvigne
+
+	* libmp3lame/vbrquantize.c:
+
+	comments based on some mails exchanged with Robert
+
+2003-05-01 15:23  bouvigne
+
+	* libmp3lame/lame.c:
+
+	maskingadjust/maskingadjust_short available for vbr-mtrh
+
+2003-04-27 15:18  bouvigne
+
+	* libmp3lame/: encoder.h, l3side.h, lame.c, quantize.c,
+	  quantize_pvt.c, util.h:
+
+	Analog silence detection in partitionned sfb21 or sfb12 for short blocks
+
+2003-04-20 17:32  bouvigne
+
+	* libmp3lame/presets.c:
+
+	changed short block quantization comparison to method 0
+	for abr/cbr on medium bitrates (because of spahm, fatboy and the likes) ,
+	as suggested by Takehiro.
+
+2003-04-20 17:03  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha
+
+2003-04-20 16:56  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	trivial coding change in psfb21_analogsilence
+
+2003-04-20 16:25  takehiro
+
+	* libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	bump up alpha version
+
+2003-04-20 16:25  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	safer tonality estimation for lower frequency, for better human voice encoding.
+
+	prevent frequent much MS/LR switching.
+
+2003-04-20 16:22  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	tuning ATH scaling.
+
+2003-04-20 15:57  bouvigne
+
+	* include/lame.h, frontend/parse.c, libmp3lame/presets.c:
+
+	presets (testing)
+
+2003-04-20 13:28  bouvigne
+
+	* libmp3lame/: lame.c, util.c, util.h:
+
+	simplified prototype of FindNearestBitrate
+
+2003-04-20 12:58  bouvigne
+
+	* libmp3lame/presets.c:
+
+	preset insane is now aliased to preset 320
+
+2003-04-20 12:53  bouvigne
+
+	* include/lame.h, frontend/parse.c, libmp3lame/presets.c:
+
+	removed some old experimental presets
+
+2003-04-20 12:33  bouvigne
+
+	* libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/presets.c,
+	  frontend/parse.c, libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c:
+
+	removed presetTune struct
+
+2003-04-19 16:34  bouvigne
+
+	* libmp3lame/presets.c:
+
+	fixed medium bitrates cbr/abr presets
+
+2003-04-19 10:19  bouvigne
+
+	* TODO:
+
+	updated the TODO file
+
+2003-04-12 13:47  bouvigne
+
+	* doc/html/: contributors.html, history.html:
+
+	history
+
+2003-04-12 10:20  bouvigne
+
+	* libmp3lame/lame.c, include/lame.h, frontend/parse.c:
+
+	enable fast replaygain analysis by default
+	define DECODE_ON_THE_FLY if compiled with mpglib
+
+2003-04-07 10:14  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	fix build problem
+
+2003-04-07 00:57  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial simplification
+
+2003-04-06 12:03  takehiro
+
+	* libmp3lame/: lame.c, set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix higher bitrate CBR/ABR preset
+	first attempt of tuning VBR preset
+
+	fix athaa_sensitivity display and code (there was some confusion arround dB/power)
+	fix warning of some compare.
+
+2003-04-06 12:00  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix masking handling code for pre-echo prevention works too much aggressively.
+
+2003-04-06 11:59  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	tuning ATH value of MDCT region.
+
+2003-04-05 17:56  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	added ATHlower to display when verbose mode.
+
+2003-04-05 17:20  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	improve short block "pre-surge" masking control.
+	and simplify the code.
+
+2003-04-05 17:19  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	fix 1st frame psycho analysis.
+
+2003-04-05 16:03  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	update lower bitrate ABR/CBR preset.
+	remove outdated comments
+
+2003-03-31 16:32  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	- remove long block pre-echo handling code (we don't need it when nspsytune).
+	- fix the lowpass filter index to determine L/R channnel long/short block switching.
+	- lower the lowpass filter index to determine long/short block.
+
+2003-03-30 15:11  bouvigne
+
+	* include/lame.h, frontend/parse.c, libmp3lame/presets.c:
+
+	presets portable/portable1
+
+2003-03-24 21:21  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha
+
+2003-03-24 21:19  bouvigne
+
+	* include/lame.h, frontend/parse.c, libmp3lame/presets.c:
+
+	presets
+
+2003-03-24 20:32  bouvigne
+
+	* libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/util.h,
+	  include/lame.h, frontend/parse.c:
+
+	maskingadjust/maskingadjustshort for vbr-rh
+
+2003-03-18 15:56  takehiro
+
+	* libmp3lame/: VbrTag.c, encoder.c, util.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial coding change
+
+2003-03-16 18:02  takehiro
+
+	* libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	update comments and clean up.
+
+2003-03-16 17:53  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	new bs.totbit overflow handling strategy
+
+2003-03-16 17:53  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	remove quantize cmpare method 3 and 10.
+	update comments of over_noise and tot_noise.
+
+2003-03-16 17:51  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	trivial coding style update
+
+2003-03-08 13:56  takehiro
+
+	* libmp3lame/: util.c, lame.c (takehiro-2002_05_07-experimental):
+
+	- fix to work --quantcomp/--shortthreshold(it was ignored and LAME uses always the default)
+	- bit clean up resample.
+
+2003-03-08 10:28  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	simplify the inc_subblock_gain() by using table.
+
+2003-03-04 18:00  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.c, tables.c, tables.h,
+	  takehiro.c, util.h (takehiro-2002_05_07-experimental):
+
+	large clean up arround bit stream code. much simple, faster and small.
+
+	fix and optimize MPEG2/2.5 scalefactor value recoding code
+	there's still some problem using table 1 and sometime makes invalid bitstream...
+
+2003-03-03 18:54  takehiro
+
+	* libmp3lame/: bitstream.c, tables.c, tables.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	MPEG2/2.5 scalefactor bit recording optimization.
+	- now it try to use table 1
+	- much simplified code.
+
+2003-03-03 18:01  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	fix gr_info initilization when MPEG2/2.5, short blocks.
+
+2003-03-03 17:59  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix best_huffman_divide() sometime fails the assertion.
+	do not use "extra" preflag when MPEG2/2.5 (it fails to record scalefactors)
+	simplify the scale_bitcount_lsf()
+
+2003-03-03 17:13  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	large clean up and simplification.(result is not changed)
+
+2003-03-03 17:08  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	general clean up and simplification.
+
+2003-03-03 17:04  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization (use shift instead of division)
+
+2003-03-03 10:02  takehiro
+
+	* libmp3lame/: util.h, tables.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	first attempt of block switching for not 44.1kHz.
+	- use "variable" lowpass index for "constant" lowpass frequency.
+
+2003-03-03 04:14  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	tuning long/short threshold for arround 128kbps.
+	clean up scaling related code.
+
+2003-03-03 04:12  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2003-03-03 02:48  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	revert substep=2 tuning.
+
+2003-03-02 18:08  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	comment style update.
+	some code simplification
+
+2003-03-02 17:56  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial style change
+
+2003-03-02 17:53  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	all "cod_info" are changed "gi"
+	precisely change the scalefactor when substep = 2
+	simplify the pinfo calculation(for mp3x)
+
+2003-03-02 17:50  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	all "cod_info" is changed to "gi"
+	optimized best_huffman_divide() little.
+	update comments.
+
+2003-03-02 16:40  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	comment update
+
+2003-03-02 16:40  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	tuning trancation threshold used in pseudo half step method.
+	more simplication and comment updation.
+
+2003-03-02 16:03  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	update comments and simplification.
+	teration_finish_one() is moved from quantize.c to takehiro.c for better conjunction.
+
+2003-03-02 16:01  takehiro
+
+	* libmp3lame/: tables.c, machine.h, tables.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove IIPOW20() related macro/arrays, all of which are not used.
+
+2003-03-02 15:08  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	more clean up and simplification.
+
+2003-03-02 15:06  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix warning.
+
+2003-03-02 15:05  takehiro
+
+	* libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	fix prototype.
+
+2003-03-02 14:53  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, quantize_pvt.h, takehiro.c,
+	  util.h (takehiro-2002_05_07-experimental):
+
+	large simplification mainly arround scale_bitcount()
+
+2003-03-02 11:39  takehiro
+
+	* libmp3lame/: reservoir.c, reservoir.h
+	  (takehiro-2002_05_07-experimental):
+
+	changed ResvAdjust() as macro.
+
+2003-03-02 11:35  takehiro
+
+	* libmp3lame/: VbrTag.c, id3tag.h, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	simplify the tag related header files.
+
+2003-03-02 11:20  takehiro
+
+	* libmp3lame/: tables.c, takehiro.c, version.c
+	  (takehiro-2002_05_07-experimental):
+
+	build problem fix when NASM is not enabled
+
+2003-03-02 11:19  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	one more initialization simplification.
+
+2003-03-02 11:13  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	simplify the default setting choosing method.
+	- use optimum_samplefreq() to determine the output sampling rate, as suggested
+	by Gabriel.
+	- use MMX_choose_table always if it uses NASM.
+
+2003-02-27 17:57  bouvigne
+
+	* libmp3lame/libmp3lame_vc6.dsp:
+
+	fix MSVC build (replay gain)
+
+2003-02-27 17:46  bouvigne
+
+	* libmp3lame/: encoder.h, l3side.h, lame.c, quantize.c,
+	  quantize_pvt.c, quantize_pvt.h, util.c, util.h:
+
+	analog silence detection in partitionned sfb21
+
+2003-02-27 03:55  takehiro
+
+	* libmp3lame/: lame.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	some substep=2 optimization.
+	- only do substep-shaping in the last quantization step.
+
+2003-02-27 03:45  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix amp_scalefac_bands loop exit condition.
+
+2003-02-27 03:38  takehiro
+
+	* libmp3lame/: psymodel.c, util.h, tables.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	optimized little on the case not NASM enabled.
+
+2003-02-24 03:21  takehiro
+
+	* include/lame.h, libmp3lame/lame.c, libmp3lame/set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	more ABR/CBR default mode setting (use ABR/CBR preset)
+
+2003-02-23 18:32  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	sync with the mainline (average compression ratio of VBR mode).
+
+2003-02-23 18:30  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix quantize_xrpow_ISO() as same as in quantize_xrpow()
+
+2003-02-23 18:22  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	fix short block window ID initialization.
+
+2003-02-23 17:16  takehiro
+
+	* libmp3lame/: set_get.c, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	always uses abr/cbr preset, when abr/cbr coding.
+	The cutoff frequency is changed as is in the main branch.
+
+2003-02-23 16:30  olcios
+
+	* libmp3lame/lame.c:
+
+	fixed bug with --resample and --replaygain (input data analysis)
+
+2003-02-23 16:27  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	simplify amp_scalefac_bands()
+
+2003-02-23 16:14  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	simplify inc_subblock_gain()
+
+2003-02-23 16:07  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix sfb21 does not quantize if some case.
+
+2003-02-23 10:29  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	general clean up and optimization.
+	- amplify band selection cleanup
+	- skip amplify-method 1 when the max_noise is already lesser than 1.0
+	- clean up substep shaping in VBR mode
+
+2003-02-22 19:06  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	new optimized noise shaping strategy.
+	start with "sparse" noise_shaping_amp method and retry with the finer method,
+	when we continuously failed.
+
+	This makes CBR/ABR coding quite faster.
+
+	comment style update.(// -> /* */)
+
+2003-02-22 19:03  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	clean up init_gr_info
+
+2003-02-22 17:20  takehiro
+
+	* config.guess, config.sub (takehiro-2002_05_07-experimental):
+
+	sync with the mainline.
+	- update config files (by CISC)
+
+2003-02-22 17:01  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix VBR code for new quantize strategy.
+
+2003-02-22 02:21  olcios
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix,
+	  USAGE, configMS.h, frontend/parse.c, include/lame.h,
+	  libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/VbrTag.c, libmp3lame/bitstream.c,
+	  libmp3lame/gain_analysis.c, libmp3lame/gain_analysis.h,
+	  libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/set_get.c, libmp3lame/util.h:
+
+	ReplayGain analysis of a single file (RadioGain)
+
+2003-02-21 15:54  cisc
+
+	* config.guess, config.sub:
+
+	Update to latest config files to support more hosts/targets.
+
+2003-02-21 04:53  takehiro
+
+	* libmp3lame/: machine.h, quantize.c, tables.c, tables.h,
+	  takehiro.c (takehiro-2002_05_07-experimental):
+
+	new quantization strategy.
+	- the code handling quantization factor moved to quantize_xrpow() and
+	quantize_xrpow_ISO(). This is preparing for "quantizing only the scalefactor
+	band whose q-factor is changed" and so on.
+	- now xrpow[] is constant.
+
+2003-02-21 04:50  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	clean up initialization
+
+2003-02-21 01:36  takehiro
+
+	* libmp3lame/: mpglib_interface.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	sync mainline.
+	- changed comment style (// -> /* */) by Robert.
+	- Extending mpglib by the option to return unclipped floating-point values of samples by olcios.
+
+2003-02-20 23:13  takehiro
+
+	* libmp3lame/: takehiro.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	optimized quantization
+	- remove QUANTFAC() macro.
+	- check the max value in quantization routine (loop hoisting)
+
+2003-02-20 22:43  takehiro
+
+	* mpglib/: common.c, decode_i386.c, decode_i386.h, huffman.h,
+	  interface.c, interface.h, l2tables.h, layer1.c, layer2.c,
+	  layer2.h, layer3.c, layer3.h (takehiro-2002_05_07-experimental):
+
+	sync mainline.
+	- changed comment style (// -> /* */) by Robert.
+	- Extending mpglib by the option to return unclipped floating-point values of samples by olcios.
+
+2003-02-19 19:46  olcios
+
+	* libmp3lame/mpglib_interface.c, libmp3lame/util.h,
+	  mpglib/decode_i386.c, mpglib/decode_i386.h, mpglib/interface.c,
+	  mpglib/interface.h, mpglib/layer3.c, mpglib/layer3.h:
+
+	Extending mpglib by the option to return unclipped floating-point values of samples.
+
+2003-02-19 16:40  takehiro
+
+	* libmp3lame/: quantize.c, set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	ATH related tuning for ABR/CBR preset.
+
+	ABR bit-allocation tuning on short blocks
+
+2003-02-19 12:14  takehiro
+
+	* libmp3lame/presets.c:
+
+	fix comment style. ( // -> /* */ )
+
+2003-02-19 12:10  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	cleanup and ABR 128-160kbps shortthreshold change.
+
+2003-02-19 10:05  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix comments
+
+2003-02-19 09:48  takehiro
+
+	* libmp3lame/: encoder.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove PE FIR filter. It does not work now.
+
+2003-02-18 14:49  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	on short blocks, use subblock gain first, instead of scalefac_scale
+
+2003-02-18 14:46  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	update PE calculation and pe based bit allocation(CBR,ABR)
+	do not spend too much on short blocks.
+
+2003-02-18 14:41  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	remove SNR parameter (attack position aware masking calculation code will replace this).
+
+2003-02-18 01:11  olcios
+
+	* Makefile.DJGPP:
+
+	Workaround for a problem with make clean, regarding long filenames on some systems.
+
+2003-02-17 01:02  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix threshold at [SBMAX_s-1] of short blocks
+
+2003-02-16 19:07  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	one and one more brand-new S(L-R) channel short block switching strategy
+
+2003-02-16 18:53  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up in bitpressure_strategy()
+
+2003-02-16 18:53  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix overflow in pulse-like signal detection.
+
+2003-02-16 18:46  bouvigne
+
+	* libmp3lame/presets.c:
+
+	cbr/abr presets (still not finished?)
+
+2003-02-16 18:40  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	ATH value scaling clean up and one more revert short block strategy...
+
+2003-02-16 18:07  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	clean up arround initialization of short blocks.
+
+2003-02-16 18:06  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	trivial clean up in inc_scalefac_scale()
+
+2003-02-16 18:05  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	better verbose mode printing
+
+2003-02-16 13:23  takehiro
+
+	* libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	bump up alpha5
+
+2003-02-16 13:22  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	update testcase
+
+2003-02-16 13:20  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	ATH related code clean up (always use ATH type 4).
+
+2003-02-16 13:15  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	better noise estimation
+
+2003-02-16 13:14  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	optimized calc_xmin()
+
+2003-02-16 08:38  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	PE calculation improvement (backported from experimental branch).
+	Better pe calculation for nspsytune. This brings
+	- better MS/LR switching
+	- better reservoir handling (brings better ABR/CBR result)
+
+	I hope the trouble on "SeriousTrouble.wav" is partially fixed (not perfect ?).
+
+2003-02-16 08:25  takehiro
+
+	* libmp3lame/quantize_pvt.h:
+
+	fix build problem (calc_xmin() prototype fix)
+
+2003-02-16 08:22  takehiro
+
+	* libmp3lame/quantize.c:
+
+	fix one more subblock_gain handling code.
+
+2003-02-15 14:07  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	init max_nonzero_coeff to 575 instead of 0
+
+2003-02-14 17:41  bouvigne
+
+	* libmp3lame/: l3side.h, quantize.c, quantize_pvt.c, takehiro.c:
+
+	do not calc noise in upper 0 part
+
+2003-02-10 03:26  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix long->short masking threshold conversion (still experimental).
+	revert S(L-R) channel blocktype switching strategy.
+	1st attempt of short block pre-echo prevention code(lessen masking before the surge on shortblocks, for preecho prevention).
+
+2003-02-10 03:21  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	verbose mode:added if it uses subblock gain or not.
+
+2003-02-09 18:01  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	one more tuning short block noise calculation
+	- max_noise handling fix.
+
+	changed quantcomp_s and quamtcomp
+	- use quantcomp_s only for short blocks. (do not use for start/end)
+
+2003-02-09 17:43  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	reduce memory copy in best_huffman_divide()
+
+2003-02-09 16:46  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	oops, fix short block noise calculation...
+
+2003-02-09 16:41  takehiro
+
+	* frontend/gtkanal.c, libmp3lame/lame-analysis.h,
+	  libmp3lame/psymodel.c, libmp3lame/util.h
+	  (takehiro-2002_05_07-experimental):
+
+	changed mp3x "surge intensity" display.
+
+	fix psymodel mis-enables the short blocks when MS stereo.
+
+	changed short blcok setting strategy on the S(L-R) channel.
+	Although this brings better LR/MS handling for fatboy.wav et.al., this is not true idea but work arround. we should get better ns_msfix().
+
+	simplify the surge detection in psymodel.c
+
+	added comments on psymodel.c for mp3x display and the window position.
+
+2003-02-09 16:36  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	trivial simplification
+
+2003-02-09 16:35  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	new calc noise for short blocks.
+	it calculates the sum of noise in 3 subblocks at same frequency region.
+
+	I hope this makes --quantcomp hack obsolete.
+
+2003-02-09 15:19  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	sync main: comments update by Mark.
+
+2003-02-09 12:36  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	revert speedup
+
+2003-02-09 01:25  markt
+
+	* include/lame.h:
+
+	  added a comment about reading the file API
+
+2003-02-08 17:46  bouvigne
+
+	* libmp3lame/: presets.c, version.h:
+
+	presets
+
+2003-02-08 13:53  bouvigne
+
+	* libmp3lame/quantize_pvt.c:
+
+	small speedup
+
+2003-02-08 09:51  takehiro
+
+	* frontend/main.c:
+
+	trivial simplification
+
+2003-02-08 07:22  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	sync main line: comments about lame_init()
+
+2003-02-07 18:17  bouvigne
+
+	* DEFINES:
+
+	KLEMM_44
+
+2003-02-06 20:04  markt
+
+	* include/lame.h:
+
+	updated comments about lame_init() from Kendrick Hamilton
+
+2003-02-06 06:29  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix analog silence detection
+
+2003-02-05 09:27  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-02-05 09:26  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	fix subband filtering (always mono...)
+
+2003-02-04 18:27  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix --keeptag option
+
+2003-02-04 17:16  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	oops, trivial mistake...
+
+2003-02-04 17:11  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	some tuning arround attack threshold. not so far from good...
+
+2003-02-04 17:10  takehiro
+
+	* libmp3lame/: psymodel.c, psymodel.h
+	  (takehiro-2002_05_07-experimental):
+
+	update comment and remove unused lines.
+
+2003-02-04 17:01  takehiro
+
+	* testcase.mp3, libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/tables.c, libmp3lame/util.h
+	  (takehiro-2002_05_07-experimental):
+
+	use subband filter sample to determine block type.
+	it still remains parameter tuning, but it works.
+
+2003-02-04 16:11  takehiro
+
+	* libmp3lame/: encoder.c, newmdct.c, newmdct.h, psymodel.c,
+	  psymodel.h, tables.c, tables.h, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	prepare for using subband filtered samples to determine block switching.
+	This will archive faster, and better block switching.
+
+	And using this, we can get more precise short block threshold calculation, I hope.
+
+2003-02-04 16:00  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix comment and trivial optimization.
+
+2003-02-04 15:59  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2003-02-04 15:59  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	to avoid confusion, make version 4.00
+
+2003-02-04 15:01  takehiro
+
+	* frontend/: brhist.c, console.c, gtkanal.c, main.c, parse.c,
+	  rtp.c, timestatus.c (takehiro-2002_05_07-experimental):
+
+	sync with main
+	- comment fix // -> /* */
+	- nogap related updates
+
+2003-02-04 13:18  takehiro
+
+	* libmp3lame/lame.c, libmp3lame/util.h, include/lame.h
+	  (takehiro-2002_05_07-experimental):
+
+	sync main.
+	- remove coding_t
+	- update comment
+
+2003-02-03 18:41  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	remove unused code
+
+2003-02-03 18:40  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	sync with the head.
+
+2003-02-03 18:29  takehiro
+
+	* frontend/: get_audio.c, main.h, parse.c
+	  (takehiro-2002_05_07-experimental):
+
+	added --keeptag option and clean up tag copy code.
+	currently it works only with ID3v1.
+
+2003-02-02 18:51  bouvigne
+
+	* libmp3lame/version.h:
+
+	bump alpha
+
+2003-02-02 18:50  bouvigne
+
+	* libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  include/lame.h, libmp3lame/presets.c, libmp3lame/set_get.c,
+	  frontend/parse.c:
+
+	preset medium
+
+2003-02-02 17:30  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	keep id3tag when reencoding mp3(experimental).
+	1. it sometimes mis-recognize the tag. (but this is the same behavior of madplay)
+	2. we should add some option to enable/disable this function.
+
+	after 2 is solved, I will backport it to the head branch.
+
+2003-02-02 17:15  takehiro
+
+	* frontend/: get_audio.c, gtkanal.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial comment/style update
+
+2003-02-02 17:10  bouvigne
+
+	* libmp3lame/: lame.c, util.c, util.h:
+
+	removed KLEMM_44
+
+2003-02-02 15:50  bouvigne
+
+	* libmp3lame/: lame.c, util.h:
+
+	removed useless structure (coding_t)
+
+2003-02-02 14:45  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/presets.c:
+
+	presets: standard should be fine, working on medium
+
+2003-02-02 10:15  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	comments regarding TMN and NMT (thank you Takehiro)
+
+2003-02-01 21:59  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, newmdct.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	prepare for subband filter output to determine long/short block switching.
+	- subband filtering in next frame.
+	- encode delay setting
+
+2003-02-01 20:06  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	precise error message about nspsytune2
+
+2003-02-01 11:49  takehiro
+
+	* libmp3lame/newmdct.c (takehiro-2002_05_07-experimental):
+
+	clean up and optimization.
+
+2003-01-30 12:13  takehiro
+
+	* frontend/get_audio.c:
+
+	bit better mp3 input file sync. but we need one more for Chris.mp3....
+
+2003-01-30 08:48  markt
+
+	* libmp3lame/: encoder.c, lame.c:
+
+
+
+	Formula for the amount of data that had to be in the buffer
+	before it could be encoded was incorrect.  Old formula
+	(for the polyphase filterbank) was:
+
+	old formula:  286+576*(1+gfc->mode_gr) = 2014  (MPEG1)
+
+	Correct formula is:  512+framesize -32 = 1632
+
+	Best way to see this is to go through window_subband() in newmdct.c
+	It access samples x[32*i] through x[510+32*i]  for i=0..17.
+
+	So our old condition was too conservative.
+
+	However, the FFT still requires 1904 samples, so the
+	net change is just to lower the requirement from 2014 to 1904.
+
+2003-01-28 03:12  takehiro
+
+	* libmp3lame/lame-analysis.h (takehiro-2002_05_07-experimental):
+
+	fix build problem on not HAVE_GTK environment
+
+2003-01-28 00:29  markt
+
+	* libmp3lame/lame.c:
+
+	short blocks are coupled, even in regular stereo mode.
+	This is to fix bugs reported in several different hardware decoders.
+	see comments in lame.c
+
+2003-01-27 12:22  takehiro
+
+	* libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental):
+
+	added comments ...
+
+2003-01-27 11:39  takehiro
+
+	* libmp3lame/VbrTag.c:
+
+	fix warning(added return value)
+
+2003-01-26 17:37  takehiro
+
+	* frontend/get_audio.c:
+
+	added ID3tag v2 skipping function.
+
+2003-01-26 12:37  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	tuned long block PE calculation parameter.
+
+2003-01-26 12:09  bouvigne
+
+	* libmp3lame/version.h:
+
+	bumped alpha
+
+2003-01-26 12:08  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/presets.c:
+
+	presets (under testing)
+
+2003-01-26 12:02  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	tuned short block PE calculation parameter.
+
+2003-01-26 11:31  bouvigne
+
+	* libmp3lame/lame.c:
+
+	verbose
+
+2003-01-26 10:04  takehiro
+
+	* libmp3lame/: takehiro.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix wrong "const" declaration.
+
+2003-01-25 11:02  bouvigne
+
+	* libmp3lame/: lame.c, quantize.c:
+
+	changed -q mapping
+
+2003-01-24 19:26  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2003-01-22 17:15  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix best_huffman_divide MPEG2 short block treatment.
+	This is the same bug in count_bits().
+
+2003-01-22 15:38  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	remove inner loop iteration limit (age) and some simple optimization.
+
+2003-01-21 02:45  takehiro
+
+	* frontend/: parse.c (takehiro-2002_05_07-experimental), parse.c:
+
+	added \n in --preset help
+
+2003-01-20 18:09  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/presets.c:
+
+	presets (under testing)
+
+2003-01-19 15:55  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/presets.c:
+
+	presets (under testing)
+
+2003-01-19 09:13  takehiro
+
+	* libmp3lame/: encoder.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix fatal bit-counting bug in MPEG2/2.5 short block.
+
+2003-01-19 06:30  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	oops, type mismatch...
+
+2003-01-18 14:44  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	added new API, lame_set_use_subblockgain() to set if it uses subblock gain or not.
+
+2003-01-18 14:42  takehiro
+
+	* frontend/parse.c, libmp3lame/quantize.c, libmp3lame/set_get.c,
+	  libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	added "--sfscale" and "--sbgain" options.
+	This is replacement of old ambiguous "-Z" option.
+
+2003-01-13 16:34  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	use --preset insane when --preset 320
+
+2003-01-13 13:19  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	10th quantcomp method, based on 3rd method, but uses over_noise instead of tot_noise.
+
+2003-01-13 13:11  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix fatal bug which happens when the last partition is wider than the last scalefactor band.
+
+2003-01-13 11:46  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	fix "off by one" in short block masking calculation.
+
+2003-01-13 11:45  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	use automatic resample even when ABR.
+
+2003-01-13 11:34  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	changed DEBUGF -> printf (to fix debug build).
+	vorbis removing related fix.
+
+2003-01-13 08:53  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	oops... fix auto short block switching threshold adjustment.
+
+2003-01-13 08:43  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	oops... fix --quantcomp option.
+
+2003-01-13 00:49  glessard
+
+	* frontend/: get_audio.c, main.c, main.h, parse.c:
+
+	NOGAP-related changes.
+	- added '-T' option to force VBR/INFO tag inclusion.
+	- moved a VBR/INFO tag inclusion decision to parse.c, eliminating the use
+	  of a global variable across modules.
+	- fixed reading of multiple little-endian AIFF-C files in get_audio.c. For
+	  those files, 'swapbytes' was getting toggled for each file opened in the
+	  sequence, so only every other output file was correct.
+
+2003-01-12 15:18  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	added --quantcomp option.
+
+2003-01-12 12:37  takehiro
+
+	* libmp3lame/: VbrTag.c, lame_global_flags.h, util.c
+	  (takehiro-2002_05_07-experimental):
+
+	sync with the head arround VbrTag.
+
+2003-01-12 12:35  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	ABR/CBR preset sync with the head branch.
+
+2003-01-12 12:33  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	trivial cleanup
+
+2003-01-11 18:40  bouvigne
+
+	* libmp3lame/presets.c:
+
+	low bitrates presets
+
+2003-01-11 17:56  markt
+
+	* libmp3lame/: VbrTag.c, lame_global_flags.h, util.c:
+
+	reorganized VBR tag initialization code so that it
+	could be reset/initialized several times
+	(for use when encoding in nogap mode)
+
+2003-01-11 17:42  markt
+
+	* libmp3lame/lame_global_flags.h:
+
+	removed comment within comment delimiter
+
+2003-01-11 17:41  markt
+
+	* include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/lame_global_flags.h:
+
+	cleaned up some comments about VBR tags being written
+	to the mp3 file after internal data structures are free
+	(this has not been true for a long time)
+
+	na
+
+2003-01-11 15:43  bouvigne
+
+	* libmp3lame/presets.c:
+
+	low bitrates presets
+
+2003-01-11 13:05  takehiro
+
+	* libmp3lame/: encoder.c, quantize.c, quantize.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove an unused argument of VBR_iteration()
+
+2003-01-11 12:55  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix mono ABR/VBR encoding
+
+2003-01-11 12:46  takehiro
+
+	* libmp3lame/lame.c:
+
+	fix ath curve initialization.
+
+2003-01-11 12:25  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix config print code
+
+2003-01-11 11:10  takehiro
+
+	* frontend/rtp.c (takehiro-2002_05_07-experimental):
+
+	sync with the head branch
+	- Include alloca.h if neccessary. (by Alex)
+
+2003-01-11 11:09  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c,
+	  libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	sync with the head branch
+	- GB's Ability to change ath4 shape independantly from vbr_q
+
+2003-01-11 11:08  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	sync with the head branch (GB's change, "Add the Info frame to the number of frames reported by the Info/vbr tag")
+
+2003-01-11 11:07  takehiro
+
+	* USAGE (takehiro-2002_05_07-experimental):
+
+	update bit.
+
+2003-01-11 11:06  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	use "safe" way of short block long->short threshold conversion
+	better ns_msfix by using the fatc that noise in sfb couldn't exceed its energy.
+	do not use ns_msfix when we used msfix.
+	do not long block msfix when the block IS short.
+
+2003-01-11 04:16  markt
+
+	* frontend/main.c, libmp3lame/VbrTag.c:
+
+	in nogap mode, with VBR tags, we were calling init_bitstream()
+	(which resets VBR tag data) before writing the VBR tag data.
+	This is now fixed, but there is still a bug when initializing the
+	VBR data for the 2nd (or more) encoding in the nogap series.
+
+2003-01-10 21:22  markt
+
+	* frontend/parse.c:
+
+	forgot a \n in the --longhelp documentation
+
+2003-01-10 20:18  markt
+
+	* USAGE:
+
+	note that --voice option is obsolete
+
+2003-01-10 20:12  markt
+
+	* frontend/: main.c, main.h, parse.c:
+
+	added the "--nogaptags" option.
+
+	this will allow VBR tags even for gapless encoding.
+	The default behavoir is to disable tags for gapless encoding.
+
+2003-01-10 20:07  markt
+
+	* frontend/parse.c, libmp3lame/VbrTag.c:
+
+	Updated the TOC calculation in the VBR tag to also count
+	the size of the VBR tag itself.
+
+	This is to make the VBR tag consistent with the recent change
+	in the VBR frame count (changed so that it also counts the
+	VBR tag as a frame)
+
+2003-01-10 19:06  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	fix usage message arround ns(-bass|-alto|-treble|-sfb21|msfix).
+
+2003-01-10 18:58  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	trivial cleanup (when JOINT_STEREO and no-psymodel, it is always MS stereo)
+
+2003-01-10 18:57  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix some initilization when ABR.
+	(It seems ATH-adjust type 3 does not works fine with ABR mode ...)
+
+2003-01-05 16:49  takehiro
+
+	* libmp3lame/version.c (takehiro-2002_05_07-experimental):
+
+	fix compiling error(oops, trivial mistake...)
+
+2003-01-05 16:36  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, quantize.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	- use ns-(bass|alto|treble|sfb21) in psymodel. And now ATH values are not
+	affected by these values.
+
+	- sfb21 aware pe(perceptual entropy) calculation. I hope it brings
+	better LR/MS switching, but CBR/ABR is now not good as it was because of this.
+	I'm afraid it needs overhaul....
+
+	- analog silence detection code is moved to pecalc_[ls] functions.
+
+2003-01-05 14:56  takehiro
+
+	* libmp3lame/version.c (takehiro-2002_05_07-experimental):
+
+	removed unused code
+
+2003-01-05 08:15  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	one more fix for inc_subblock_gain().
+	and some clean up.
+
+2003-01-05 08:14  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	pe calculation of over 16kHz region.
+
+2003-01-05 07:22  takehiro
+
+	* libmp3lame/: lame-analysis.h, quantize.h
+	  (takehiro-2002_05_07-experimental):
+
+	move set_frame_pinfo() definition to fix mp3x built
+
+2003-01-05 07:21  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	remove unused code to fix mp3x built
+
+2003-01-05 04:28  takehiro
+
+	* DEFINES (takehiro-2002_05_07-experimental):
+
+	completely updated (from Alex's comment).
+
+2003-01-05 04:11  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.c, quantize.c, reservoir.c,
+	  reservoir.h (takehiro-2002_05_07-experimental):
+
+	- general clean up mainly arround reservoir.
+	- use faster and not exact quantizing method for the 1st step of VBR.
+	  (It estimates scalefactor step roughly and not needed exactness)
+
+2003-01-05 03:36  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	remove u_char definition (sync head branch)
+
+2003-01-02 18:42  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	In psymodel_init set blocktype_old to NORM_TYPE because the VBR header is long blocks. This might be the problem encountered in some WMP 6.4
+
+2003-01-02 18:37  bouvigne
+
+	* libmp3lame/VbrTag.c:
+
+	Add the Info frame to the number of frames reported by the Info/vbr tag
+
+2003-01-02 18:30  bouvigne
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  vbrquantize.c:
+
+	reduced 63 warnings to 55 under visual c++. Those were mainly differences between function prototypes in declarations and implementations.
+
+2003-01-02 18:27  bouvigne
+
+	* libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c,
+	  libmp3lame/util.c, libmp3lame/util.h, frontend/parse.c,
+	  include/lame.h:
+
+	Ability to change ath4 shape independantly from vbr_q
+
+2003-01-01 16:14  aleidinger
+
+	* libmp3lame/machine.h:
+
+	Removed u_char typedefs, u_char is not used in the tree (according to grep -r u_char).
+
+2003-01-01 16:12  aleidinger
+
+	* frontend/rtp.c:
+
+	Include alloca.h if neccessary.
+
+	Noticed by:	Tomi Vainio <Tomi.Vainio@Sun.COM>
+
+2002-12-31 14:00  takehiro
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix,
+	  libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/libmp3lame.dsp, libmp3lame/libmp3lame_vc6.dsp
+	  (takehiro-2002_05_07-experimental):
+
+	vbrquantize.[ch] and quantize_pvt.c is merged into quantize.c
+
+2002-12-31 13:58  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.c, lame.c, lame_global_flags.h,
+	  reservoir.c, tables.c, util.c, util.h, version.h
+	  (takehiro-2002_05_07-experimental):
+
+	general cleanup
+		gfp->VBR_mean_bitrate_kbps and gfp->brate is merged.
+
+		init_bit_stream_w is moved to lame.c from bitstream.c
+
+		FindNearestBitrate(), map2MP3Frequency(), SmpFrqIndex()
+		are moved to lame.c from util.c
+
+		fix VBR lowest/highest bitrate in mono-mode
+
+		now alpha 4
+
+2002-12-31 13:56  takehiro
+
+	* libmp3lame/: quantize.c, vbrquantize.c, vbrquantize.h,
+	  quantize.h, quantize_pvt.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	removed analog silence related code in calc_xmin().
+
+	ABR/CBR code integration.
+	caller of init_outer_loop() and calc_xmin() is moved to outer_loop()
+
+	off by one fix of global_gain (from the mainline), in outer_loop()
+
+	new vbr code. but still needs more fix.
+	remove unused code in VBR_prepare()
+
+	vbrquantize.[ch] and quantize_pvt.c is merged into quantize.c
+
+	one more inc_subblock_gain() fix.
+
+2002-12-31 13:53  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	some cleanup arround pointer.
+
+	analog silence detection in psymodel.c.
+
+	skip short block FFT calculation of joint stereo, if it is not needed.
+
+2002-12-29 16:48  takehiro
+
+	* frontend/main.c, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/reservoir.c,
+	  libmp3lame/set_get.c, libmp3lame/tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	cleanups
+	- all vbr modes are into one.
+	- more initilization code organization
+
+	experimental tuning of short block switching threshold in ABR presets.
+
+2002-12-29 16:44  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	update mainly due to long->short threshold convertion
+
+2002-12-29 09:09  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	follow new APIs
+
+2002-12-29 08:57  takehiro
+
+	* libmp3lame/: VbrTag.c, bitstream.c, encoder.c, lame.c,
+	  lame_global_flags.h, machine.h, psymodel.c, psymodel.h, tables.c,
+	  tables.h, util.c, util.h, version.h
+	  (takehiro-2002_05_07-experimental):
+
+	general cleanups
+	- removed KLEMM_44 (I plan to replace the resampling code with ssrc)
+	- VBR/CBR/ABR related initialization cleanup
+	- moved initialization related code in lame.c/util.c -> tables.c
+	- most of "preset" settings are defaulted.
+
+	experimenal tuning
+	- substep method and use_scalefac_scale setting are removed
+	  from -q option mapping
+
+2002-12-29 08:51  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	- simplify/removed not needed VBR code.
+	  *** There is still problem which it assumes the quantization noise is
+	  *** monotone function of the scalefactor(quantization factor).
+
+2002-12-29 08:49  takehiro
+
+	* libmp3lame/: lame-analysis.h, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h, takehiro.c (takehiro-2002_05_07-experimental):
+
+	- use athAdjust() always (in quantize.c)
+	- removed unused quantcomp_method
+
+2002-12-29 08:43  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	* follow API changes.
+	* clean up options.
+	added options
+	 --shortthreshold
+	removed options
+	 --r3mix, --phone, --voice, --radio, --tape, --cd, --studio,
+	 --cwlimit, --nspsytune,
+	 --vbr-old, --vbr-new, --vbr-mrth
+	 --short
+	changed options
+	 --allshort, --noshort (implemented by shortthreshold API)
+
+2002-12-29 08:40  takehiro
+
+	* libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/libmp3lame_vc6.dsp, libmp3lame/presets.c,
+	  libmp3lame/set_get.c, Makefile.DJGPP, Makefile.MSVC,
+	  Makefile.unix (takehiro-2002_05_07-experimental):
+
+	presets.c is merged into set_get.c
+	API change
+	- CHANGED: expX -> "quantocomp_method"
+	- CHANGED: expZ -> "use_large_scalefac"
+	- REMOVED: cwlimit related APIs
+	- REMOVED: short blocks on/off/forced APIs
+	- NEW: short blocks switching threshold API
+
+2002-12-27 04:42  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	use ATH value as short block masking lower limit.
+
+2002-12-27 04:21  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/set_get.c,
+	  libmp3lame/version.h:
+
+	new option --shortthreshold and bump up version number(alpha 8)
+	and new psymodel version(0.90) for ATHadjust aware psymodel
+
+2002-12-27 04:17  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	fix assertion failure (oops, my mistake in ATH handling change)
+
+2002-12-26 05:43  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, psymodel.h:
+
+	cleanup psymodel initialization preparing for --shortthreshold option.
+
+2002-12-25 12:13  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c, set_get.c, util.h,
+	  vbrquantize.c:
+
+	ATH handling fix and simplification.
+	- use ATH adjust in ns_msfix(), mask_add(), and masking lower limit calculation.
+	- all ATH adjust related thresholding(ns_msfix, quantcompare and scalefac_scale) is removed.
+
+2002-12-21 07:12  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c, quantize_pvt.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	masking_lower related fix for shortblock ATH handling and clean up.
+
+2002-12-21 07:10  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	trivial style change
+
+2002-12-21 05:52  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization (when joint stereo, it is always STEREO and channels_out = 2)
+
+2002-12-21 05:51  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix it uses LR threshold for MS when -m f
+
+2002-12-21 05:45  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	zero prevention (adding 1e-37) is not needed.
+
+2002-12-21 04:55  takehiro
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix
+	  (takehiro-2002_05_07-experimental):
+
+	fix for removing vorbis support
+
+2002-12-21 04:53  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	short block ATH scaling fix.
+
+2002-12-18 16:29  takehiro
+
+	* libmp3lame/libmp3lame_vc6.dsp:
+
+	removed tools.h
+
+2002-12-18 16:27  takehiro
+
+	* libmp3lame/: Makefile.am, Makefile.in, debugscalefac.c, tools.c,
+	  tools.h:
+
+	remove unused files and regen Makefile
+
+2002-12-16 19:02  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix inc_subblock_gain() to properly handle sfb12 (16kHz over region) MDCT coefs.
+
+2002-12-16 18:46  takehiro
+
+	* libmp3lame/quantize.c:
+
+	oops, I checked in the wrong version...
+
+2002-12-16 18:45  takehiro
+
+	* libmp3lame/quantize.c:
+
+	fix inc_subblock_gain() to properly handle sfb12 (16kHz over region) MDCT coefs.
+
+2002-12-16 18:14  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	initial attempt to long->short masking threshold conversion
+	fix FFT routine selection code.
+
+	adjust masking threshold scaling for VBR.
+
+	fix ATH handling for long block masking threshold.
+
+2002-12-16 18:10  takehiro
+
+	* libmp3lame/: encoder.c, lame-analysis.h
+	  (takehiro-2002_05_07-experimental):
+
+	mp3x displays MS/LR masking pe difference
+
+2002-12-15 17:46  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	cleanup related removing vbr-old
+
+2002-12-15 17:39  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	cleanup related removing vbr-old
+
+2002-12-15 17:37  takehiro
+
+	* libmp3lame/lame_global_flags.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove an unused variable
+
+2002-12-15 17:36  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix short block scaling for ATH handling
+
+2002-12-15 16:25  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix fatal short block ATH handling...
+
+2002-12-15 12:56  bouvigne
+
+	* libmp3lame/lame.c, frontend/parse.c:
+
+	warning about alpha versions
+
+2002-12-15 11:59  takehiro
+
+	* ACM/ACMStream.cpp:
+
+	fix access violation when LAME failed to initilize.
+	I hope this fixes BUG ID 646894 (at sf.net).
+
+2002-12-15 11:11  takehiro
+
+	* libmp3lame/lame.c:
+
+	fix warning (reported at sf.net by krick.)
+
+2002-12-15 11:10  takehiro
+
+	* libmp3lame/: util.h, takehiro.c:
+
+	fix warning (reported at sf.net by krick.
+
+2002-12-15 10:07  takehiro
+
+	* libmp3lame/: presets.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove vbr-old and its presets
+
+2002-12-15 09:47  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	adjust masking threshold for new mask_add() strategy.
+
+2002-12-15 09:11  takehiro
+
+	* libmp3lame/lame.c:
+
+	fix -q0 convined with --substep x option.
+
+2002-12-15 08:56  takehiro
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix:
+
+	fix for vorbis support remove (I hope)
+
+2002-12-14 19:19  robert
+
+	* ChangeLog, Makefile.MSVC, lame.bat, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/quantize.c, libmp3lame/util.c,
+	  misc/lame4dos.bat, misc/mlame:
+
+	removed my email address
+
+2002-12-14 18:56  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix for ATH handling and short block VBR threshold.
+
+2002-12-14 17:38  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	more fix for msfix and its comment.
+
+2002-12-14 11:08  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix better ns_msfix (and better MS/LR switching).
+
+2002-12-14 08:01  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix msfix for symmetric L/R treatment.
+
+2002-12-13 17:48  takehiro
+
+	* libmp3lame/quantize.c:
+
+	off by one fix for global_gain.
+
+2002-12-13 17:42  takehiro
+
+	* libmp3lame/: encoder.h, psymodel.c, quantize.c, set_get.c,
+	  tables.c, util.h, vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	ATH adjustment related code cleanup (for mostly preset).
+	and possible fix for "global_gain > 255" (backport from mainline).
+
+2002-12-13 16:58  takehiro
+
+	* configure, frontend/main.h, libmp3lame/Makefile.in:
+
+	remove vorbis support and regen.
+
+2002-12-13 16:54  takehiro
+
+	* configure.in, config.h.in, frontend/get_audio.c, frontend/main.c,
+	  frontend/parse.c, libmp3lame/Makefile.am, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c,
+	  libmp3lame/vorbis_interface.c:
+
+	remove vorbis support.
+
+2002-12-13 14:34  takehiro
+
+	* libmp3lame/lame.c:
+
+	fix for 64bit environment, reported by Tomi Vainio <Tomi.Vainio@Sun.COM>
+
+2002-12-09 19:00  bouvigne
+
+	* libmp3lame/: quantize.c, version.h:
+
+	fixed the quant_comp problem (probably introduced by me)
+	so bump the alpha version number
+
+2002-12-08 17:40  takehiro
+
+	* libmp3lame/version.h:
+
+	now 3.94 alpha 6
+	- changed default block switching threshold
+	- fixed mpglib crash.
+
+2002-12-08 17:35  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	changed long/short block switching threshold.
+
+2002-12-08 17:23  takehiro
+
+	* testcase.mp3:
+
+	new testcase for the new default cutoff frequency.
+
+2002-12-08 17:07  takehiro
+
+	* mpglib/interface.c:
+
+	null pointer check patch from Peter Pawlowski <peter at blorp dot com>, to prevent the random crash.
+
+2002-12-08 17:02  takehiro
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.am,
+	  Makefile.in, Makefile.unix, configMS.h, configure, configure.in,
+	  testcase.mp3, frontend/brhist.c, frontend/brhist.h,
+	  frontend/console.c, frontend/console.h, frontend/get_audio.c,
+	  frontend/get_audio.h, frontend/gpkplotting.h, frontend/gtkanal.c,
+	  frontend/gtkanal.h, frontend/lametime.c, frontend/lametime.h,
+	  frontend/main.c, frontend/main.h, frontend/parse.c,
+	  frontend/parse.h, frontend/portableio.h, frontend/rtp.c,
+	  frontend/rtp.h, frontend/timestatus.c, frontend/timestatus.h,
+	  include/lame.h, libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/VbrTag.c, libmp3lame/VbrTag.h, libmp3lame/bitstream.c,
+	  libmp3lame/bitstream.h, libmp3lame/encoder.c,
+	  libmp3lame/encoder.h, libmp3lame/fft.c, libmp3lame/fft.h,
+	  libmp3lame/gain_analysis.c, libmp3lame/gain_analysis.h,
+	  libmp3lame/id3tag.h, libmp3lame/l3side.h,
+	  libmp3lame/lame-analysis.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/libmp3lame.dsp,
+	  libmp3lame/machine.h, libmp3lame/mpglib_interface.c,
+	  libmp3lame/newmdct.c, libmp3lame/newmdct.h, libmp3lame/presets.c,
+	  libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/reservoir.c, libmp3lame/reservoir.h,
+	  libmp3lame/set_get.c, libmp3lame/tables.c, libmp3lame/tables.h,
+	  libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c, libmp3lame/vbrquantize.h,
+	  libmp3lame/version.c, libmp3lame/version.h,
+	  libmp3lame/vorbis_interface.c, libmp3lame/i386/Makefile.am,
+	  libmp3lame/i386/Makefile.in, mpglib/common.c, mpglib/common.h,
+	  mpglib/dct64_i386.h, mpglib/decode_i386.h, mpglib/huffman.h,
+	  mpglib/interface.c, mpglib/interface.h, mpglib/l2tables.h,
+	  mpglib/layer1.c, mpglib/layer1.h, mpglib/layer2.c,
+	  mpglib/layer2.h, mpglib/layer3.c, mpglib/layer3.h,
+	  mpglib/mpg123.h, mpglib/mpglib.h, mpglib/tabinit.h:
+
+	overwrite by takehiro_stable branch.
+
+2002-12-08 16:59  takehiro
+
+	* mac/.cvsignore:
+
+	added
+
+2002-12-02 20:26  bouvigne
+
+	* libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/presets.c, libmp3lame/quantize.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c, include/lame.h, frontend/parse.c
+	  (takehiro-stable-2002_10_15):
+
+	quant_comp and quant_comp_short
+
+2002-12-01 17:47  takehiro
+
+	* libmp3lame/version.h (takehiro-stable-2002_10_15):
+
+	now alpha4
+	- fix -q0 and -q1
+	- -X and -Z option update
+
+	I think we should "-X1,0" as default for ABR/CBR/VBR-old, including all presets. (except fast presets)
+	please test and tell your result.
+
+2002-12-01 17:43  takehiro
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize.c
+	  (takehiro-stable-2002_10_15):
+
+	added "-Z -1" to enable scalefactor scale only(disable subblock gain)
+
+2002-12-01 16:32  aleidinger
+
+	* ChangeLog:
+
+	update for 3.93.1
+
+2002-12-01 16:18  aleidinger
+
+	* configure:
+
+	regen
+
+2002-12-01 16:15  aleidinger
+
+	* configure.in:
+
+	change version to 3.93.1
+
+2002-12-01 16:12  aleidinger
+
+	* configure:
+
+	regen
+
+2002-12-01 16:10  aleidinger
+
+	* doc/html/history.html:
+
+	sync with webpages
+
+2002-12-01 16:06  aleidinger
+
+	* configure.in:
+
+	Check for socket() in libsocket if it isn't in libc so rtp can get compiled
+	on Solaris.
+
+	Noticed by:	"Niki W. Waibel" <niki.waibel@gmx.net>
+
+	While I'm here, bail out if some other functions aren't there.
+
+2002-12-01 15:42  takehiro
+
+	* libmp3lame/lame.c (takehiro-stable-2002_10_15):
+
+	fix -q0 and -q1. This makes -q0 very very slow.
+
+2002-12-01 15:36  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/quantize.c,
+	  libmp3lame/set_get.c, libmp3lame/vbrquantize.c
+	  (takehiro-stable-2002_10_15):
+
+	now you can specify the method how to compare the quantization
+	for long/short block independently by -X option.(-X n,m)
+
+2002-12-01 13:18  takehiro
+
+	* libmp3lame/set_get.c (takehiro-stable-2002_10_15):
+
+	fix comment
+
+2002-11-30 18:18  bouvigne
+
+	* libmp3lame/version.h:
+
+	version
+
+2002-11-29 17:07  bouvigne
+
+	* Dll/BladeMP3EncDLL.def:
+
+	dll exports
+
+2002-11-28 21:05  bouvigne
+
+	* doc/html/: history.html, index.html:
+
+	docs
+
+2002-11-28 18:06  bouvigne
+
+	* libmp3lame/version.h:
+
+	go back to 3.93
+
+2002-11-28 18:04  bouvigne
+
+	* libmp3lame/lame.c:
+
+	revert back q0 to q1 state (due to reports about quality problems)
+
+2002-11-26 15:45  takehiro
+
+	* libmp3lame/version.h (takehiro-stable-2002_10_15):
+
+	alpha4 solves the fatal error in outer_loop(). it should not select the
+	data whose global_gain is greater than 255.
+
+2002-11-25 18:00  bouvigne
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	sync presets with the executable front-end and libmp3lame
+
+2002-11-25 01:36  takehiro
+
+	* libmp3lame/: Makefile.am, Makefile.in
+	  (takehiro-stable-2002_10_15):
+
+	fix build problem
+
+2002-11-24 18:37  takehiro
+
+	* libmp3lame/quantize.c (takehiro-stable-2002_10_15):
+
+	Fix not to select the data whose global_gain is greater than 255.
+	and inner_loop() manual inlining.
+	This fix is based on the R.A.F.'s bug report at HA. Thanx R.A.F.
+
+2002-11-23 18:54  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	quick fix of nspsytune
+
+2002-11-17 16:39  takehiro
+
+	* libmp3lame/.indent.pro (takehiro-stable-2002_10_15):
+
+	I forgot to sync this with the head branch.
+
+2002-11-17 16:34  takehiro
+
+	* Makefile.in, configure, Dll/Makefile.in, libmp3lame/Makefile.in
+	  (takehiro-stable-2002_10_15):
+
+	regen (by hand :p)
+
+2002-11-17 16:33  takehiro
+
+	* ChangeLog, ChangeLog.header, Makefile.am, configure.in,
+	  Dll/Makefile.am, libmp3lame/Makefile.am
+	  (takehiro-stable-2002_10_15):
+
+	sync with head branch (releasing 3.93 related things).
+
+2002-11-17 15:59  takehiro
+
+	* doc/html/history.html (takehiro-stable-2002_10_15):
+
+	copy from webpage/history.html
+
+2002-11-17 11:11  aleidinger
+
+	* configure.in, libmp3lame/version.h:
+
+	We are now at 3.94alpha...
+
+2002-11-17 10:41  aleidinger
+
+	* doc/html/history.html:
+
+	Copy history from webpage.
+
+2002-11-17 10:29  aleidinger
+
+	* ChangeLog:
+
+	ChangeLog for 3.93.
+
+2002-11-17 10:25  aleidinger
+
+	* Dll/Makefile.in, Makefile.in:
+
+	regen
+
+2002-11-17 10:24  aleidinger
+
+	* Makefile.am:
+
+	Add lame.dsw.
+
+2002-11-17 10:23  aleidinger
+
+	* Dll/Makefile.am:
+
+	Oops... add missing backslash.
+
+2002-11-17 10:18  aleidinger
+
+	* Dll/Makefile.in, libmp3lame/Makefile.in:
+
+	regen
+
+2002-11-17 10:16  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	Add gain_analysis.[ch] to the distributed files.
+
+2002-11-17 10:11  aleidinger
+
+	* Dll/Makefile.am:
+
+	Add some missing files.
+
+2002-11-17 10:09  aleidinger
+
+	* configure:
+
+	gtk12-config -> gtk-config
+
+2002-11-17 10:05  aleidinger
+
+	* testcase.mp3:
+
+	"Official" testcase.mp3 for this release.
+
+2002-11-17 09:51  aleidinger
+
+	* ChangeLog.header:
+
+	Add some information about branches.
+
+2002-11-17 09:46  aleidinger
+
+	* libmp3lame/version.h:
+
+	We are at 3.93-RELEASE now...
+
+2002-11-17 09:45  aleidinger
+
+	* doc/man/lame.1, frontend/parse.c:
+
+	Warn about fast presets.
+
+2002-11-16 13:07  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	remove vorbis related things
+
+2002-11-16 12:44  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	removed vorbis related thing
+
+2002-11-16 10:07  bouvigne
+
+	* doc/html/presets.html:
+
+	warning about fast presets
+
+2002-11-13 20:56  bouvigne
+
+	* libmp3lame/: lame.c, presets.c, util.c, util.h
+	  (takehiro-stable-2002_10_15):
+
+	change of the default lowpass values (will break testcases)
+
+2002-11-13 20:24  bouvigne
+
+	* libmp3lame/: lame.c, presets.c:
+
+	rollback of lowpass change before release
+
+2002-11-10 12:41  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.c, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	prepare for intensity-stereo.
+
+2002-11-10 12:40  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	some trivial optimizations and make some functions static.
+
+2002-11-10 12:39  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	trivial macro fix
+
+2002-11-10 12:38  takehiro
+
+	* libmp3lame/newmdct.c (takehiro-2002_05_07-experimental):
+
+	optimize subband filter (lowpass/highpass).
+
+2002-11-10 12:36  takehiro
+
+	* libmp3lame/i386/: choose_table.nas, fft3dn.nas
+	  (takehiro-2002_05_07-experimental):
+
+	align -> loopalign
+	better labeling
+
+2002-11-10 08:24  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	- more db2pow() macro use
+	- remove traditional code(which do nothing)
+
+2002-11-10 08:23  takehiro
+
+	* libmp3lame/psymodel.h (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2002-11-10 07:55  takehiro
+
+	* frontend/main.c, frontend/parse.c, libmp3lame/Makefile.am,
+	  libmp3lame/Makefile.in, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c,
+	  libmp3lame/util.h, libmp3lame/vorbis_interface.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove vorbis support, which is too much outdated.
+
+2002-11-10 07:53  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization
+
+2002-11-09 18:45  takehiro
+
+	* libmp3lame/: psymodel.c, tables.c
+	  (takehiro-2002_05_07-experimental):
+
+	- optimize ATH handling in mask_add() by changing ATH.cb[] scaling.
+	- more faster long block masking threshold calculation.
+
+2002-11-09 18:43  takehiro
+
+	* libmp3lame/: encoder.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	cleanup START/STOP type bit calculation
+
+2002-11-09 18:42  takehiro
+
+	* libmp3lame/i386/: choose_table.nas, nasm.h
+	  (takehiro-2002_05_07-experimental):
+
+	some sync with GOGO.
+
+2002-11-09 12:34  takehiro
+
+	* libmp3lame/: encoder.c, machine.h, quantize.c, set_get.c,
+	  tables.c (takehiro-2002_05_07-experimental):
+
+	clean up decibel -> power conversion
+
+2002-11-09 12:33  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	clean up FFT related code.
+	more acculate condition check whether we need short block masking calculation.
+	FIR filter loop unrolling
+
+2002-11-07 18:47  bouvigne
+
+	* libmp3lame/: lame.c, presets.c, util.c, util.h:
+
+	change of the default lowpass values (will break testcases)
+
+2002-11-04 16:59  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	optimize long block masking ratio calculation (partition -> scalefactor band transformation)
+
+2002-11-04 16:49  takehiro
+
+	* testcase.mp3, libmp3lame/psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix short block masking calcultion(patition to scalefactor band transformation)
+	and trivial cleanups, as is always :)
+
+2002-11-04 16:00  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x FFT display.
+
+2002-11-04 15:56  takehiro
+
+	* testcase.mp3, libmp3lame/encoder.c, libmp3lame/psymodel.c,
+	  libmp3lame/reservoir.c, libmp3lame/version.h
+	  (takehiro-2002_05_07-experimental):
+
+	now here goes alpha 2.
+	- some trivial optimizaions and cleanups on psymodel.
+	- cleanup mp3x arround
+
+2002-11-04 13:53  takehiro
+
+	* libmp3lame/: VbrTag.h, encoder.c, lame-analysis.h, machine.h,
+	  psymodel.c, psymodel.h, quantize.c, quantize.h, quantize_pvt.c,
+	  quantize_pvt.h, set_get.c, tables.c, takehiro.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	large cleanup mainly arround psymodel (continue)
+	- removed all temporary masking related code, because now I found all the
+	temporal masking code is completely messed up.
+
+	- do not calculate short block masking ratio when it is not needed.
+
+	- mp3x FFT energy display fix.
+
+	- better perceptual entropy calculation, by using ATH.
+
+	- some include file clean up.
+
+	- some trivial code cleanup arround quantize/bit counting.
+
+2002-11-04 13:49  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix -q 4 setting.
+
+2002-11-04 13:48  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	fix FFT energy display.
+
+2002-11-03 17:56  takehiro
+
+	* testcase.mp3 (takehiro-2002_05_07-experimental):
+
+	regen with new psymodel, which increases encode delay.
+
+2002-11-03 17:30  takehiro
+
+	* libmp3lame/: Makefile.am, Makefile.in, encoder.c, encoder.h,
+	  l3side.h, lame-analysis.h, lame.c, lame_global_flags.h,
+	  newmdct.c, psymodel.c, psymodel.h, quantize.c, quantize_pvt.h,
+	  set_get.c, tables.c, takehiro.c, util.c, util.h, vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	large cleanup, mainly on PSYMODEL calculation.
+	- it calculates masking ratio/pe/tot_energy/block_type/frame_type next FRAME,
+	not next GRANULE. it increases the encoding delay, but code is very simple.
+
+	- "allow different block_type in each channel (L/R)" could be archived even
+	when joint stereo.
+
+	- l3side.h is merged into util.h
+
+	- MPEG2/2.5, mp3x's display may corrupt (not tested much).
+
+2002-11-03 17:23  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2002-11-03 17:22  takehiro
+
+	* frontend/: gpkplotting.c, gpkplotting.h, gtkanal.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix for mp3x MDCT original value display
+
+2002-11-03 17:00  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	fix abr preset
+
+2002-11-03 16:55  takehiro
+
+	* libmp3lame/util.c (takehiro-2002_05_07-experimental):
+
+	fix for not --enable-all-float
+
+2002-11-02 17:47  takehiro
+
+	* libmp3lame/: lame.c, util.h (takehiro-2002_05_07-experimental):
+
+	trivial cleanup
+
+2002-11-02 17:30  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, presets.c, psymodel.c,
+	  quantize.c, quantize_pvt.h, set_get.c, tables.c, util.h,
+	  vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	cleanup arround preset.
+	- merged adaptive ATH and msfix parameter into "normal" setting.
+	- simplified how to compare the quantization/scalefactor.
+
+2002-11-02 17:26  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	remove unused prototype.
+
+2002-11-02 15:50  takehiro
+
+	* libmp3lame/: encoder.c, set_get.c, util.h, vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove meaningless variables in preset modes.
+
+2002-11-02 12:26  takehiro
+
+	* libmp3lame/: VbrTag.c, lame.c, presets.c, quantize.c, tables.c,
+	  util.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	- -q option remapping.
+	  new  very old(-3.92)    old(3.93)
+	   9    8,9                8,9
+	   8    7                  7
+	   7    5,6                5,6
+	 5,6    2,3,4              3,4
+	   4    2 + --substep 5    3 + --substep 5
+	   3    2 + --substep 7    3 + --substep 7
+	   2    cannot emulate     2 + --substep 7
+	   1    cannot emulate     1 + --substep 7
+	   0    cannot emulate     0 + --substep 7
+
+	- fast_log2() optimization and cleanup.
+
+2002-11-02 12:18  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	ATH adjustment aware masking calculation in mask_add() and ms_fix().
+
+2002-10-31 14:56  takehiro
+
+	* libmp3lame/tables.c (takehiro-2002_05_07-experimental):
+
+	trivial cleanup
+
+2002-10-31 14:27  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	some precision fix(maybe)
+
+2002-10-31 14:26  takehiro
+
+	* doc/html/presets.html (takehiro-2002_05_07-experimental):
+
+	sync with mainline and added some DM presets.
+
+2002-10-28 11:25  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.h, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	now psymodel never return error.
+
+2002-10-28 11:15  takehiro
+
+	* testcase.mp3, libmp3lame/bitstream.c, libmp3lame/encoder.c,
+	  libmp3lame/l3side.h, libmp3lame/lame.c, libmp3lame/machine.h,
+	  libmp3lame/newmdct.c, libmp3lame/psymodel.c,
+	  libmp3lame/psymodel.h, libmp3lame/quantize.c,
+	  libmp3lame/quantize.h, libmp3lame/quantize_pvt.c,
+	  libmp3lame/quantize_pvt.h, libmp3lame/reservoir.c,
+	  libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/takehiro.c,
+	  libmp3lame/util.h, libmp3lame/vbrquantize.c,
+	  libmp3lame/vbrquantize.h (takehiro-2002_05_07-experimental):
+
+	changed FLOAT8 -> FLOAT (except one subband filter coefs, which is defined
+	as "double" in spec).
+
+2002-10-28 11:12  takehiro
+
+	* mpglib/layer3.c (takehiro-2002_05_07-experimental):
+
+	fix mpglib crash bug, from Mathew Hendry.
+
+2002-10-28 11:09  takehiro
+
+	* frontend/portableio.h (takehiro-2002_05_07-experimental):
+
+	remove cvs log.
+
+2002-10-28 10:43  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.c, psymodel.h, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused variables
+
+2002-10-28 10:01  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix long/short typo.
+
+2002-10-28 10:00  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	added new preset definition
+
+2002-10-27 14:37  aleidinger
+
+	* configure:
+
+	regen
+
+2002-10-27 14:36  aleidinger
+
+	* configure.in:
+
+	Forced commit: last commit was
 - remove -funroll-loops as suggested in the nearby comment
Noticed by: takehiro
+
+2002-10-27 14:32  aleidinger
+
+	* configure.in:
+
+	remove options as suggested in the nearby comment; Noticed by: takehiro
+
+2002-10-27 13:38  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, lame_global_flags.h, machine.h,
+	  newmdct.c, newmdct.h, presets.c, psymodel.c, psymodel.h,
+	  quantize.c, set_get.c, tables.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	large update.
+	- sync mainline,
+	  * side channel sparsing
+	  * new presets, dm-radio and so on.
+	  * blocktype histgram
+	  * fix arround FLOAT_MAX
+	  * tuning substep noise shaping start frequency
+
+	- large code simplification
+	  * cod_info initialization code is moved to encoder.c
+	  * faster psymodel calculation.
+
+2002-10-27 13:33  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	sync mainline
+	- fix arround sfb21 and smoothing method 2
+
+2002-10-27 13:32  takehiro
+
+	* libmp3lame/version.h (takehiro-2002_05_07-experimental):
+
+	To avoid confusing, named it as lame4.0
+
+2002-10-27 13:30  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, main.c, main.h, mp3rtp.c,
+	  mp3x.c, parse.c, parse.h, timestatus.h
+	  (takehiro-2002_05_07-experimental):
+
+	sync mainline
+	- fix arround PATHNAMELEN
+	- new presets
+	- fix warnings
+	- fix --silent option
+	- new option "side channel sparsing"
+
+2002-10-27 13:29  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	- sync mainline (block type histgram, build fix for cygwin)
+
+2002-10-27 13:26  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2002-10-27 13:26  takehiro
+
+	* configure.in, doc/html/Makefile.am, doc/html/Makefile.in,
+	  doc/html/contributors.html, doc/html/index.html, doc/man/lame.1
+	  (takehiro-2002_05_07-experimental):
+
+	sync mainline
+
+2002-10-27 12:19  robert
+
+	* frontend/portableio.h (takehiro-stable-2002_10_15):
+
+	do we need logging of cvs commits in source files?
+	small fixes in comments due to cvs log entries
+
+2002-10-27 08:17  takehiro
+
+	* libmp3lame/version.h (takehiro-stable-2002_10_15):
+
+	bump up version number. alpha3 contains
+	- tuning substep noise shpaing (by me, Takehiro)
+	- added side channel sparsing (by Robert)
+
+2002-10-26 20:41  robert
+
+	* configMS.h, frontend/amiga_mpega.c, frontend/brhist.c,
+	  frontend/brhist.h, frontend/console.c, frontend/console.h,
+	  frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/gpkplotting.c, frontend/gpkplotting.h,
+	  frontend/gtkanal.c, frontend/gtkanal.h, frontend/lametime.c,
+	  frontend/lametime.h, frontend/main.c, frontend/main.h,
+	  frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c,
+	  frontend/parse.h, frontend/portableio.c, frontend/portableio.h,
+	  frontend/rtp.c, frontend/rtp.h, frontend/timestatus.c,
+	  frontend/timestatus.h, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/VbrTag.h, libmp3lame/bitstream.c,
+	  libmp3lame/bitstream.h, libmp3lame/debugscalefac.c,
+	  libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c,
+	  libmp3lame/fft.h, libmp3lame/gain_analysis.c,
+	  libmp3lame/gain_analysis.h, libmp3lame/id3tag.c,
+	  libmp3lame/id3tag.h, libmp3lame/l3side.h,
+	  libmp3lame/lame-analysis.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/machine.h,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/newmdct.h, libmp3lame/presets.c,
+	  libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/reservoir.c, libmp3lame/reservoir.h,
+	  libmp3lame/set_get.c, libmp3lame/tables.c, libmp3lame/tables.h,
+	  libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c, libmp3lame/vbrquantize.h,
+	  libmp3lame/version.c, libmp3lame/version.h,
+	  libmp3lame/vorbis_interface.c, mpglib/common.c, mpglib/common.h,
+	  mpglib/dct64_i386.c, mpglib/dct64_i386.h, mpglib/decode_i386.c,
+	  mpglib/decode_i386.h, mpglib/huffman.h, mpglib/interface.c,
+	  mpglib/interface.h, mpglib/l2tables.h, mpglib/layer1.c,
+	  mpglib/layer1.h, mpglib/layer2.c, mpglib/layer2.h,
+	  mpglib/layer3.c, mpglib/layer3.h, mpglib/mpg123.h,
+	  mpglib/mpglib.h, mpglib/tabinit.c, mpglib/tabinit.h
+	  (takehiro-stable-2002_10_15):
+
+	changed C++ comments into C style comments for
+	configMS.h
+	include/*.h
+	frontend/*.[ch]
+	mpglib/*.[ch]
+	libmp3lame/*.[ch]
+
+2002-10-26 18:53  takehiro
+
+	* libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2002-10-26 18:52  takehiro
+
+	* libmp3lame/: Makefile.am, debugscalefac.c
+	  (takehiro-2002_05_07-experimental):
+
+	remove unused debugscalefac.c
+
+2002-10-26 18:51  takehiro
+
+	* libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	fix build problem
+
+2002-10-26 16:48  takehiro
+
+	* libmp3lame/presets.c (takehiro-stable-2002_10_15):
+
+	added interchannel masking to dm-radio-fast preset, too.
+
+2002-10-26 16:47  takehiro
+
+	* libmp3lame/presets.c (takehiro-stable-2002_10_15):
+
+	lower bitrate adjustment and added inter-channel masking for dm-radio preset.
+
+2002-10-26 16:32  takehiro
+
+	* libmp3lame/quantize.c (takehiro-stable-2002_10_15):
+
+	tuned substep-noise-shaping start frequency of short block (--substep 5).
+
+2002-10-26 12:31  takehiro
+
+	* libmp3lame/quantize.c (takehiro-stable-2002_10_15):
+
+	fix for not C99 C compiler
+
+2002-10-26 12:29  takehiro
+
+	* configure (takehiro-stable-2002_10_15):
+
+	regen
+
+2002-10-26 12:29  takehiro
+
+	* configure.in (takehiro-stable-2002_10_15):
+
+	sync with mainline and added fix for "-funroll-loops" bug on gcc3.0.*
+
+2002-10-26 12:20  takehiro
+
+	* frontend/parse.c (takehiro-stable-2002_10_15):
+
+	sync mainline... --silent + input from stdin fix.
+
+2002-10-24 00:04  robert
+
+	* libmp3lame/: vbrquantize.c (takehiro-stable-2002_10_15),
+	  vbrquantize.c:
+
+	bug fix in vbr-new
+	possible division by zero
+
+2002-10-23 23:43  robert
+
+	* frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/quantize.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h
+	  (takehiro-stable-2002_10_15):
+
+	added mid/side channel sparsing
+	--ms-sparsing n | n=0 disable / n=1 mode 1 / n=2 mode 2
+	--ms-sparse_low x | default 9 dB
+	--ms-sparse_high x | default 3 dB
+
+2002-10-21 01:27  markt
+
+	* frontend/parse.c:
+
+	truely silent when input is stdin patch committed
+
+2002-10-20 15:38  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-stable-2002_10_15):
+
+	fix possible float exception
+
+2002-10-20 15:36  takehiro
+
+	* libmp3lame/version.h (takehiro-stable-2002_10_15):
+
+	bump up the alpha2
+
+2002-10-20 15:35  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-stable-2002_10_15):
+
+	fix minor boundary check and remove unused variable.
+
+2002-10-20 13:42  takehiro
+
+	* doc/: html/Makefile.am, html/Makefile.in, html/contributors.html,
+	  html/index.html, html/presets.html, man/lame.1
+	  (takehiro-stable-2002_10_15):
+
+	sync with mainline
+
+2002-10-20 13:31  takehiro
+
+	* libmp3lame/quantize.c (takehiro-stable-2002_10_15):
+
+	work arround of --substep for Tom's Diner.
+
+2002-10-20 13:09  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-stable-2002_10_15):
+
+	faster mask_add()
+
+2002-10-20 12:31  takehiro
+
+	* libmp3lame/: psymodel.c, quantize_pvt.c, util.h
+	  (takehiro-stable-2002_10_15):
+
+	more optimized usage of FAST_LOG().
+
+2002-10-20 11:39  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/set_get.c (takehiro-stable-2002_10_15):
+
+	removed mixed block related switches, which is "not" as stable as releasing.
+	fix block type decision code when LR/MS change occurs.
+
+2002-10-20 08:41  takehiro
+
+	* libmp3lame/machine.h (takehiro-stable-2002_10_15):
+
+	float max should be arround 1e38 or so.
+
+2002-10-20 08:39  takehiro
+
+	* include/lame.h, libmp3lame/set_get.c
+	  (takehiro-stable-2002_10_15):
+
+	re-introduce the padding related functions/definitions for backward compatibility.
+
+2002-10-20 08:38  takehiro
+
+	* frontend/: get_audio.c, get_audio.h, main.c, main.h, mp3rtp.c,
+	  mp3x.c, parse.c, parse.h, timestatus.h
+	  (takehiro-stable-2002_10_15):
+
+	sync mainline.
+	- PATHLEN related fix.
+	- reduce warning.
+
+2002-10-20 08:37  takehiro
+
+	* frontend/brhist.c (takehiro-stable-2002_10_15):
+
+	fix for cygwin build.
+
+2002-10-20 07:34  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-stable-2002_10_15):
+
+	improve attack detection and added release detection for L/S switching.
+
+2002-10-20 07:27  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-stable-2002_10_15):
+
+	fix warning.
+
+2002-10-20 07:21  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/presets.c
+	  (takehiro-stable-2002_10_15):
+
+	added some presetes for syncing DM series.
+	fix --preset medium to use -q3, not -q2.
+
+2002-10-20 07:18  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-stable-2002_10_15):
+
+	sync mainline. XXL is defaulted.
+
+2002-10-19 02:11  robert
+
+	* frontend/brhist.c:
+
+	little bit prettier printing of block types stats
+
+2002-10-19 02:10  robert
+
+	* frontend/brhist.c (takehiro-stable-2002_10_15):
+
+	little bit prettier printing of block type stats
+
+2002-10-18 23:54  robert
+
+	* frontend/brhist.c, frontend/parse.c, include/lame.h,
+	  libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/util.h
+	  (takehiro-stable-2002_10_15):
+
+	merger from main branch:
+	simple statistics of block types used (seeing with --brief / --verbose)
+
+2002-10-18 22:54  robert
+
+	* frontend/brhist.c, frontend/parse.c, include/lame.h,
+	  libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h:
+
+	added some simple statistics about block types used:
+	added lame_block_type_hist() and lame_bitrate_block_type_hist() to API
+	using new switch --brief will show one line of percentage types used
+	using switch --verbose will show in more detail used block types
+
+2002-10-17 17:05  bouvigne
+
+	* frontend/parse.c:
+
+	removed some unused functions
+
+2002-10-17 13:03  aleidinger
+
+	* include/lame.h:
+
+	correct comment about *_bWriteVbrTag()
+
+2002-10-16 21:13  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	fixing compiler warnings (unused code removed), some clean up
+
+2002-10-16 18:01  bouvigne
+
+	* frontend/get_audio.c, frontend/get_audio.h, frontend/parse.c,
+	  frontend/parse.h, frontend/timestatus.h, include/lame.h,
+	  libmp3lame/set_get.c, libmp3lame/takehiro.c:
+
+	minor code cleanups in order to reduce warnings
+
+2002-10-15 22:45  robert
+
+	* frontend/main.h, libmp3lame/machine.h
+	  (takehiro-stable-2002_10_15):
+
+	fixing Win32 issues
+
+2002-10-15 22:02  robert
+
+	* libmp3lame/: encoder.c, version.h (takehiro-stable-2002_10_15):
+
+	Takehiro I hope you don't mind, but I bump the version to 94 alpha 1
+	to avoid confusions if binaries are shown up at HA
+
+2002-10-15 21:29  robert
+
+	* libmp3lame/vbrquantize.c (takehiro-stable-2002_10_15):
+
+	fix for --vbr-new -Y crash
+	we have to calc xr34 for the whole range, for sfb21 too
+
+2002-10-15 19:16  robert
+
+	* Makefile.unix, libmp3lame/psymodel.c, libmp3lame/util.h:
+
+	reenentrant fix for loudness approx.
+
+2002-10-15 17:07  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	fix short block with -X 0(vbr smooth method 1), especially for --r3mix.
+
+2002-10-15 16:35  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-stable-2002_10_15):
+
+	fix short block with -X 0(vbr smooth method 1), especially for --r3mix.
+
+2002-10-15 15:39  takehiro
+
+	* frontend/main.h, libmp3lame/lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix for no-GTK, and on windows (same as what I've done mainline).
+
+2002-10-15 15:37  takehiro
+
+	* frontend/main.h (takehiro-stable-2002_10_15):
+
+	ooops, I missed "n".
+
+2002-10-15 15:35  takehiro
+
+	* libmp3lame/lame.c (takehiro-stable-2002_10_15):
+
+	fix for no-GTK environment.
+
+2002-10-15 15:30  takehiro
+
+	* libmp3lame/machine.h (takehiro-2002_05_07-experimental):
+
+	fix arround FLT_MAX/FLOAT_MAX (I hope)
+
+2002-10-15 15:24  aleidinger
+
+	* configure.in:
+
+	different way of specifying the gcc version in the sparc section, the did not worked because autoconf does some nasty things with [ and ]
+
+2002-10-15 11:30  aleidinger
+
+	* doc/man/lame.1:
+
+	catch up with HTML docs
+
+2002-10-15 09:54  aleidinger
+
+	* doc/html/Makefile.in:
+
+	regen
+
+2002-10-15 09:54  aleidinger
+
+	* doc/html/Makefile.am:
+
+	add presets.html
+
+2002-10-15 09:53  aleidinger
+
+	* doc/html/presets.html:
+
+	typo fix
+
+2002-10-15 09:50  aleidinger
+
+	* configure:
+
+	regen
+
+2002-10-15 09:49  aleidinger
+
+	* configure.in:
+
+	Use sparc optimization on gcc 3.[123456].
+
+	Submitted by:	"Spud McDuck" <dontspamonme@excite.com>
+
+2002-10-15 09:33  aleidinger
+
+	* frontend/: brhist.c, main.c, main.h, mp3rtp.c, mp3x.c, parse.c:
+
+	PATH_MAX is in POSIX.1 (does not include the trailing NUL, so add +1), not MAXPATHLEN
+
+2002-10-14 20:06  bouvigne
+
+	* doc/html/: contributors.html, index.html, presets.html:
+
+	html docs
+
+2002-10-14 16:28  takehiro
+
+	* testcase.mp3 (takehiro-stable-2002_10_15):
+
+	update testcase.
+
+2002-10-14 16:25  takehiro
+
+	* libmp3lame/: psymodel.c, util.h (takehiro-stable-2002_10_15):
+
+	reenentrant fix for loudness approx.
+
+2002-10-14 16:06  takehiro
+
+	* Makefile.B32, Makefile.DJGPP, libmp3lame/libmp3lame.dsp
+	  (takehiro-stable-2002_10_15):
+
+	build environment related file update.
+	I could not test them, but I hope it works.
+
+2002-10-14 15:53  takehiro
+
+	* frontend/parse.c (takehiro-2002_05_07-experimental):
+
+	obsoleted --cwlimit option.
+
+2002-10-14 15:53  takehiro
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix
+	  (takehiro-2002_05_07-experimental):
+
+	update Makefiles sync with Makefile.am
+
+2002-10-13 20:35  takehiro
+
+	* libmp3lame/: Makefile.am, Makefile.in, encoder.c, fft.c, fft.h,
+	  lame.c, lame_global_flags.h, libmp3lame.dsp, libmp3lame_vc6.dsp,
+	  psymodel.c, psymodel.h, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h, set_get.c, tables.c, tables.h, takehiro.c,
+	  util.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	bunch of cleanup for next generation LAME :)
+	- goodbye gpsycho. only nspsy is supported.
+	- functions related the initilization are moved to tables.c
+	- some functions in quantize_pvt.c are moved to quantize.c
+	- functions in fft.c moved to psymodel.c and fft.[ch] are removed
+	- fix ATH-adjust to reentrant.
+
+2002-10-13 17:30  takehiro
+
+	* libmp3lame/: VbrTag.c, lame.c, lame_global_flags.h, set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	sync the head. record preset parameter in LAME tag.
+
+2002-10-13 15:52  takehiro
+
+	* frontend/main.h (takehiro-2002_05_07-experimental):
+
+	sync with the head branch.
+
+2002-10-13 15:48  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, quantize_pvt.c, set_get.c,
+	  util.h (takehiro-2002_05_07-experimental):
+
+	- tuned impulse like signal detection of threshold calculation.
+
+	- block switching tuning, for impulse like signal by using maximum of filtered
+	signal, not by sum of its energy.
+
+	- MP3X: print block switching factor(attack_intensity) instead of mx,
+	  for nspsytune mode.
+
+	- small optimization for ns_firfilter
+
+	- prepare for faster nspsy. calculate the blocktype first, and after it,
+	  only calculate the threshold for that blocktype.
+
+	- clean up nspsy variables (remove unused variables).
+
+	- calc_noise optimization for nspsy.
+
+2002-10-13 11:36  robert
+
+	* Makefile.MSVC, Makefile.unix (takehiro-2002_05_07-experimental):
+
+	removed scalar.obj from targets
+
+2002-10-13 08:10  takehiro
+
+	* libmp3lame/: encoder.c, lame.c
+	  (takehiro-2002_05_07-experimental):
+
+	oops, I mis-check in th one older version ;(
+
+2002-10-13 07:58  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h, tables.h (takehiro-2002_05_07-experimental):
+
+	trivial changes.
+	- cleanup initilization code.
+	- better conjunctions of functions.
+
+2002-10-09 17:27  takehiro
+
+	* libmp3lame/encoder.c, libmp3lame/lame.c, frontend/parse.c,
+	  include/lame.h, libmp3lame/lame_global_flags.h,
+	  libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	large cleanup arround padding
+	- padding mode is always set by suitable one.
+	- gfp->padding_type and the functions to set/get it are removed.
+
+	unused function optimum_samplefreq() is removed.
+
+2002-10-09 17:24  takehiro
+
+	* libmp3lame/i386/: Makefile.am, Makefile.in, scalar.nas
+	  (takehiro-2002_05_07-experimental):
+
+	remove scalar.nas
+
+2002-10-09 17:22  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2002-10-09 17:22  takehiro
+
+	* configure.in (takehiro-2002_05_07-experimental):
+
+	fix extopt for gcc 3.1/3.2
+
+2002-10-08 19:30  bouvigne
+
+	* libmp3lame/: VbrTag.c, lame.c, lame_global_flags.h, set_get.c:
+
+	preset info stored into Info tag
+
+2002-10-08 17:43  bouvigne
+
+	* frontend/main.h:
+
+	win32 build fix
+
+2002-10-08 13:59  takehiro
+
+	* libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2002-10-08 13:59  takehiro
+
+	* libmp3lame/: Makefile.am, tools.c, tools.h, util.c
+	  (takehiro-2002_05_07-experimental):
+
+	removed unused tools.[hc]
+
+2002-10-08 13:38  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen once more :(
+
+2002-10-08 13:35  takehiro
+
+	* configure (takehiro-2002_05_07-experimental):
+
+	regen
+
+2002-10-08 13:34  takehiro
+
+	* ltconfig, acinclude.m4, configure.in
+	  (takehiro-2002_05_07-experimental):
+
+	sync the head branch.
+	fix gcc options for gcc3.1 after and 3.0.x
+
+2002-10-08 13:30  takehiro
+
+	* libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2002-10-08 13:19  takehiro
+
+	* frontend/: main.c, main.h, mp3rtp.c, mp3x.c, parse.c
+	  (takehiro-2002_05_07-experimental):
+
+	sync the head branch.
+	- MAXPATHLEN related fix.
+	- sizeof(short) related fix.
+
+2002-10-08 13:18  takehiro
+
+	* libmp3lame/lameerror.h, include/lame.h, libmp3lame/Makefile.am
+	  (takehiro-2002_05_07-experimental):
+
+	moved error code definitions into lame.h
+
+2002-10-08 12:58  takehiro
+
+	* frontend/main.c:
+
+	sync my branch: fix warning of ReportLameTagProgress() definition
+
+2002-10-08 12:51  takehiro
+
+	* libmp3lame/VbrTag.c (takehiro-2002_05_07-experimental):
+
+	remove unneeded include
+
+2002-10-08 12:50  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	fix NO_PAD
+
+2002-10-08 09:09  aleidinger
+
+	* configure:
+
+	regen
+
+2002-10-08 08:59  aleidinger
+
+	* ChangeLog:
+
+	update with uptodate data
+
+2002-10-08 08:57  aleidinger
+
+	* ChangeLog.header:
+
+	add info how to show the branches in the ChangeLog
+
+2002-10-08 08:53  aleidinger
+
+	* libmp3lame/version.h:
+
+	bump alpha version
+
+2002-10-08 08:51  aleidinger
+
+	* configure.in:
+
+	replace the -pipe hack for mips-sgi-irix with a test for GNU ld
+	(sorry, I forgot who submitted it)
+
+2002-10-08 08:50  aleidinger
+
+	* acinclude.m4:
+
+	actually commit the generated file with the alignment fix for 64 bit architectures
+
+2002-10-08 08:50  aleidinger
+
+	* ltconfig:
+
+	improved "deplibs_check_method" for freebsd-elf
+
+2002-10-08 08:44  aleidinger
+
+	* frontend/: main.c, main.h, mp3rtp.c, mp3x.c, parse.c:
+
+	- spell MAX_NAME_LEN the POSIX way (MAXPATHLEN) and make sure we have
+	  a fallback if it doesn't get defined (please test this on Windows)
+	- fix for sizeof(short int) != sizeof(int) in mp3rtp.c
+
+	Patches based upon bugreport from Greg Lehey <grog@freebsd.org> and fixes
+	in the FreeBSD ports collection from Mikhail Teterin <mi@freebsd.org>.
+
+2002-10-07 16:47  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix warnings
+
+2002-10-07 16:46  takehiro
+
+	* frontend/main.c (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2002-10-07 14:24  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, set_get.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	more nspsytune optimization.
+
+	- use FAST_LOG10 instead of log. this may change the result little bit,
+	but I think that is rare case and no problem about the quality.
+
+	- presetTune.athadjust_msfix is moved to nsPsy.athadjust_msfix
+
+	- nsPsy.safejoint is removed.
+
+2002-10-07 13:41  takehiro
+
+	* libmp3lame/: psymodel.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	more cleanup of perceptual entropy calculation.
+	- it calculates only one of the long/short block pe,
+	  after the block type is detemined.
+
+2002-10-07 13:38  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2002-10-07 12:49  takehiro
+
+	* libmp3lame/: psymodel.c, quantize_pvt.c, set_get.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	trivial code optimizations, no result changes.
+	- gfp->ATHlower is now stored the number multiplied by -0.1.
+
+	- nspsytune optimization
+	  * precalculate the 1.0/numlines_l[]
+	  * cleanup perceptual entropy storing method and loop hoisting.
+	  * unrolling tonality calculation loop.
+
+2002-10-07 09:13  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	oops, fix build when BRHIST is enabled.
+
+2002-10-07 09:11  takehiro
+
+	* frontend/brhist.c, libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	clean up bitrate histgram.
+	And do not compile the brhist-related code when "./configure --without-brhist"
+
+2002-10-07 09:09  takehiro
+
+	* frontend/get_audio.c (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2002-10-07 08:57  takehiro
+
+	* libmp3lame/: encoder.c, fft.c, presets.c, psymodel.c, set_get.c,
+	  util.c, util.h, vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	small code cleanups. all of them does not change the result.
+	- better conjunctions.
+	  * updateStats() is moved from util.c to encoder.c
+	  * select_kth_int() is moved from util.c to vbrquantize.c
+	- fft window function table is moved from gfc to static variable in fft.c.
+	  once apon a time, the window function is differed from nspsy/gpsy, so the
+	  table should be stored separetedly for each encoding entity. but now, it
+	  is unified and we can unify the table function.
+	- presetTune.attackthre and presetTune.attackthre_s are moved to nsPsy.
+
+2002-10-06 18:14  takehiro
+
+	* libmp3lame/: psymodel.c, quantize.c, util.h, vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	preset clean up.
+	- use the current block_type itself to determine the quantization result
+	comparing method.
+	- remove presetTune.quantcomp_current.
+	- changed presetTune.attackthresh and presetTune.attackthresh_s type (int -> FLOAT).
+
+	I think the 1st one is BUG of preset, affected all preset modes.
+	It determines how to compare the quantized spectrums by the blocktype of 1st
+	granule of the next frames, last channel (R or S), for all the channel and
+	all the granule.
+
+2002-10-06 18:06  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	due to the nspsy long/short switching mode fix, attack threshold should be
+	tuned again.I used awe32, fatboy, DEATH2, and other "normal" samples to
+	determine the threshold.
+
+	now awe32 is not killer sample of --preset standard, I think.
+	# but the bitrate is increased, of course.
+
+	and it seems vangelis1.wav needs some more tuning, but I am so sleeeeeeepy.
+
+2002-10-06 16:46  takehiro
+
+	* libmp3lame/: encoder.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	- make adjust_ATH() static and cleanup
+	  (include Gabriel's clean up in the head branch)
+	- padding code clean up
+	- block type code cleanup
+	- ATH related initialization code is moved to psymodel.c
+
+2002-10-06 16:43  takehiro
+
+	* libmp3lame/util.c (takehiro-2002_05_07-experimental):
+
+	sync with the head branch (Gabriel's code cleanup... remove "historical" code)
+
+2002-10-06 16:40  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	sync with head.(code cleanup by Gabriel)
+
+2002-09-30 16:58  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	moved substep shaping position. bit slower but better quality for higher bitrate (especially for the case 320kbps is not enough).
+
+2002-09-30 16:57  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	fix substep 2, 3, 6, and 7. (working area allocation)
+
+2002-09-30 16:49  bouvigne
+
+	* libmp3lame/: encoder.c, quantize.c, util.c:
+
+	some code cleanups
+
+2002-09-30 16:28  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix mdct filter coefs, for -k option(thanx reporting, Robert).
+
+2002-09-29 15:38  takehiro
+
+	* frontend/brhist.c (takehiro-2002_05_07-experimental):
+
+	fix cygwin build
+
+2002-09-29 06:02  takehiro
+
+	* libmp3lame/reservoir.c (takehiro-2002_05_07-experimental):
+
+	sync with the head branch.
+	- bit reservoir handling of freeformat.
+
+2002-09-28 16:12  takehiro
+
+	* libmp3lame/: util.h, vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	small optimizations for --vbr-new
+	- gfc->VBR->scratch is moved to the local variable.
+	- remove quality mapping(directly switch statement)
+	- code clean up.
+
+2002-09-28 13:27  takehiro
+
+	* libmp3lame/: quantize.c, vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	- sync --vbr-new with the head branch.
+	- better substep shaping for --vbr-new.
+	- the meaning of best huffman coding with --vbr-new is bit different from
+	that of head tree.
+
+2002-09-28 10:36  takehiro
+
+	* frontend/get_audio.c, frontend/parse.c, include/lame.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix warnings.
+
+2002-09-28 10:36  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	make select_kth() static function.
+
+2002-09-28 10:26  takehiro
+
+	* Makefile.DJGPP, Makefile.MSVC, Makefile.am, Makefile.in,
+	  README.DJGPP, configure, configure.in, testcase.mp3,
+	  ACM/ACMStream.cpp, ACM/Makefile.in, ACM/ADbg/Makefile.in,
+	  ACM/tinyxml/Makefile.in, Dll/BladeMP3EncDLL.c,
+	  Dll/BladeMP3EncDLL.def, Dll/BladeMP3EncDLL.h, Dll/Example.cpp,
+	  Dll/Example_vc6.dsp, Dll/Example_vc6.dsw,
+	  Dll/LameDLLInterface.htm, Dll/LameDll_vc6.dsp, Dll/Makefile.in,
+	  debian/Makefile.in, debian/changelog, debian/rules,
+	  doc/Makefile.in, doc/html/Makefile.in,
+	  doc/html/contributors.html, doc/html/history.html,
+	  doc/html/index.html, doc/html/switchs.html, doc/man/Makefile.in,
+	  doc/man/lame.1, dshow/Encoder.cpp, dshow/Makefile.in,
+	  frontend/get_audio.c, frontend/parse.c, include/Makefile.in,
+	  include/lame.h, libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/encoder.c, libmp3lame/lame.c, libmp3lame/presets.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h,
+	  libmp3lame/i386/Makefile.in, misc/Makefile.in, mpglib/Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	large sync with the head branch. almost all the code is now synced with the head.
+
+2002-09-28 09:30  takehiro
+
+	* libmp3lame/VbrTag.c:
+
+	remove some #include (these header files are included from VbrTag.h.)
+
+2002-09-28 09:23  takehiro
+
+	* libmp3lame/: encoder.c, lame.c, psymodel.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix all known problems on my tree (I hope).
+	- fix mishandling of long/short block type when storing pe[].
+	- fix psymodel initialization (array index initialization), which fixes
+	  floating exception in psymodel.c.
+	- one more preecho prevention code fix.
+	- sync with my psymodel patch in the head branch
+
+	and small improvement.
+	- implement better block type restriction
+	(when MS, both channels should be same block type, but when LR, it is not needed).
+	- faster FIR filter for pe[] adjustment in encoder.c.
+
+2002-09-28 09:16  takehiro
+
+	* libmp3lame/bitstream.c (takehiro-2002_05_07-experimental):
+
+	zeroed all ancillary area, when the debug mode.
+
+2002-09-23 07:00  bouvigne
+
+	* include/lame.h:
+
+	presets (sorry, this part was missing)
+
+2002-09-22 16:53  bouvigne
+
+	* frontend/parse.c, libmp3lame/presets.c:
+
+	presets
+
+2002-09-21 00:31  markt
+
+	* libmp3lame/quantize_pvt.c:
+
+	fixed bug which was causing the calc_noise assert failure.
+
+2002-09-19 20:39  robert
+
+	* libmp3lame/: encoder.c, lame.c, quantize.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	merger from mainline:
+	undo of broken VBR min fill patch
+	padding code clean up
+
+2002-09-16 16:28  takehiro
+
+	* configure, configure.in:
+
+	we don't want to run the X :)
+
+2002-09-16 07:43  takehiro
+
+	* frontend/: brhist.c, console.c
+	  (takehiro-2002_05_07-experimental):
+
+	sync with head branch.
+	- Mark's compilation fix.
+	- Alex's warning fix on 64bit environment.
+
+2002-09-16 07:25  takehiro
+
+	* aclocal.m4 (takehiro-2002_05_07-experimental):
+
+	sync with the head branch.
+	- prevent unaligned access on some 64 bit arches, by Alexander (and Ti.)
+
+2002-09-15 17:47  bouvigne
+
+	* libmp3lame/: reservoir.c, set_get.c:
+
+	Relax of freeformat reservoir after discussion with Robert
+
+2002-09-13 20:04  markt
+
+	* frontend/brhist.c:
+
+	This code:
+
+	#if defined(HAVE_TERMCAP_H)
+	# include <termcap.h>
+	#elif defined(HAVE_NCURSES_TERMCAP_H)
+	# include <ncurses/termcap.h>
+	#endif
+
+	changed to:
+
+	#if defined(HAVE_NCURSES_TERMCAP_H)
+	# include <ncurses/termcap.h>
+	#elif defined(HAVE_TERMCAP_H)
+	# include <termcap.h>
+	#endif
+
+	because on my system, both TERMCAP and NCURSES_TERMCAP were
+	defined by configure, but term.h and termcap.h have conflicts,
+	whileterm.h and ncurses/termcap.h works fine.
+
+2002-09-09 21:43  robert
+
+	* frontend/parse.c, libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/psymodel.c:
+
+	lame.c, encoder.c: fix padding oddities
+	psymodel.c: fix nspsy code for all/no short blocks
+	parse.c: -d now obsolete
+
+2002-09-08 06:36  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	one more sync with head branch (ms energy ratio).
+
+2002-09-07 12:39  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	sync with the head branch psymodel fix.
+
+2002-09-06 11:11  aleidinger
+
+	* configure:
+
+	regen
+
+2002-09-06 10:53  aleidinger
+
+	* configure.in:
+
+	- no opts if non empty cflags and no expopt
+	- accumulate-outgoing-args is x86 only
+	  Noticed by:	Atro Tossavainen <atossava@cc.helsinki.fi>
+	- IRIX-gcc doesn't like '-pipe'
+	  Noticed by:	Atro Tossavainen <atossava@cc.helsinki.fi>
+
+2002-09-06 09:24  aleidinger
+
+	* frontend/: brhist.c, console.c:
+
+	try to include the right headers for the tgetstr prototype;
+	should fix problems on 64bit arches
+	Noticed by:	Atro Tossavainen <atossava@cc.helsinki.fi>
+			Ti Kan <ti@amb.org>
+	Tested by:	Ti Kan <ti@amb.org>
+
+2002-09-06 09:22  aleidinger
+
+	* aclocal.m4:
+
+	prevent unaligned access on some 64 bit arches
+	Noticed by:	Ti Kan <ti@amb.org>
+	Tested by:	Ti Kan <ti@amb.org>
+
+2002-09-05 16:53  bouvigne
+
+	* libmp3lame/: reservoir.c, set_get.c:
+
+	free format fix
+
+2002-09-03 11:34  aleidinger
+
+	* frontend/parse.c:
+
+	1 argument too much for fprintf
+
+2002-09-03 11:18  aleidinger
+
+	* doc/man/lame.1:
+
+	add --noasm
+
+2002-09-02 12:02  takehiro
+
+	* doc/html/history.html:
+
+	added my psymodel change, and so on.
+
+2002-09-02 11:56  takehiro
+
+	* testcase.mp3:
+
+	regen with the latest LAME after psymodel was fixed.
+	This is produced by the LAME with ./configure --enable-nasm --enable-debug --enable-mp3x, compiled gcc 3.1.1, on linux2.4.19, glibc2.2.2, Duron 1GHz(3DNow! is enabled).
+
+2002-09-02 11:51  takehiro
+
+	* libmp3lame/lame.c:
+
+	fix for Tru64 UNIX build, reported by Ti Kan.
+
+2002-09-01 16:08  bouvigne
+
+	* doc/html/contributors.html, doc/html/history.html,
+	  doc/html/index.html, doc/html/switchs.html, frontend/parse.c:
+
+	docs
+
+2002-09-01 16:03  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	fix small psymodel bugs since long time ago(some of them are since 3.70 era...)
+	- highpass filter of MS energy calculation to neglect the DC.
+	- always do the Robert's short block pre-echo prevention and
+	  fix its initialization (the fix is only for nspsy).
+	- fix energy and threshold of DC and the highest freq. element are halven.
+	- fix nspsytune FIR filter length
+
+2002-08-30 20:52  robert
+
+	* Makefile.MSVC:
+
+	MSVC: fix "-GX" typo
+	ICL: allow special compiles for PII and PIII
+
+2002-08-27 22:43  rbrito
+
+	* debian/: changelog, rules:
+
+	Update Debian packaging. More changes to come.
+
+2002-08-26 20:38  robert
+
+	* libmp3lame/: lame.c, quantize.c, util.h:
+
+	undo of VBR bitres min fill patch
+
+2002-08-25 20:17  bouvigne
+
+	* frontend/parse.c:
+
+	merge of alt presets
+
+2002-08-25 15:09  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	do substep noise shaping in ABR mode, including bitrate compensation.
+
+2002-08-25 15:08  takehiro
+
+	* libmp3lame/util.c (takehiro-2002_05_07-experimental):
+
+	trivial coding optimization of fast_log2
+
+2002-08-25 15:08  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	revert some FAST_LOG usage. It sometime happens SIGFPE(overflow).
+
+2002-08-25 10:54  takehiro
+
+	* libmp3lame/: quantize.c, reservoir.c
+	  (takehiro-2002_05_07-experimental):
+
+	Tuning the bit reservoir filling rate when substep noise shaping method 1,
+	and do not substep noise shaping if the bit reservoir is almost full.
+
+2002-08-24 19:20  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	minor fix for global_gain limitation.
+
+2002-08-24 17:28  takehiro
+
+	* libmp3lame/: VbrTag.c, lame.c (takehiro-2002_05_07-experimental):
+
+	sync main tree.
+	- portability fix for sunos 4.x by Alexander Leidinger.
+
+2002-08-24 17:25  takehiro
+
+	* libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	quick fix of warning.
+
+2002-08-24 17:23  takehiro
+
+	* libmp3lame/: quantize.c, set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	do not do the substep noise shaping when the block type is SHORT,
+	because it seems short block threshold calculation is very buggy
+	(both of ns/gpsycho).
+
+	new option: --substep 4,5,6,7
+	  force substep shaping even on the SHORT block.
+
+2002-08-24 17:12  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	use FAST_LOG() more.
+	minimize the ns_hpfsmpl[] array.
+	better ns_hpfsmpl[] calculation.
+
+2002-08-24 17:10  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	use of FAST_LOG() more for faster encoding
+
+2002-08-24 17:09  takehiro
+
+	* libmp3lame/presets.c (takehiro-2002_05_07-experimental):
+
+	I forgot to change the default quality setting of abr mode,
+	when I remap the quality <-> actual setting.
+
+2002-08-24 16:08  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	revert some GTK change to fix the mp3x spectrum display of short block.
+
+2002-08-20 16:59  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x spectrum display
+
+2002-08-20 16:51  takehiro
+
+	* libmp3lame/: psymodel.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix mp3x pe[] display.
+
+2002-08-20 16:28  takehiro
+
+	* libmp3lame/encoder.c:
+
+	fix mp3x spectrum display
+
+2002-08-20 16:09  takehiro
+
+	* libmp3lame/lame.c (takehiro-2002_05_07-experimental):
+
+	fix SIGFPE (divided by 0) of filter init.
+
+2002-08-20 13:03  takehiro
+
+	* libmp3lame/: lame.c, newmdct.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	cleanup polyphase filtering.
+	- highpass/lowpass coefs. are integrated into one array.
+	- reordered gfc members to get better cache performance.
+	- remove gfc->is_mpeg1
+
+2002-08-20 12:59  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	remove gfc->is_mpeg1
+
+2002-08-20 12:58  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	cleanup arround cw_lower_index
+
+2002-08-20 12:58  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	remove some debug code.
+	remove gfc->is_mpeg1
+
+2002-08-20 12:45  takehiro
+
+	* libmp3lame/: bitstream.c, tables.c, tables.h
+	  (takehiro-2002_05_07-experimental):
+
+	moved scfsi_band[] into tables.c
+
+2002-08-19 15:09  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	better preflag use by using "all zero" band.
+	this breaks testcase little bit(make test).
+
+2002-08-19 04:57  takehiro
+
+	* libmp3lame/: psymodel.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	psymodel.c cleanup (2)
+	- remove some constants (bu_?, npart_?_orig, SNR_s, w1_?, w2_?) from gfc.
+	- do always short block preecho prevention. this makes some breaks for
+	  testcase(make test).
+	- do always normalize the s3_ss by SNR_s[] for faster calculation for gpsycho.
+	- optimize tonality computation for gpsycho.
+	- FFT/energy computation code of [g|ns]psy are integrated.
+	- GTK code cleanup
+	- make a new constants bm_?, band middle position table in gfc.
+	- cleranup table initialization code.
+
+2002-08-19 04:47  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	trivial cleanup arround joint stereo/GTK code
+
+2002-08-17 16:41  takehiro
+
+	* libmp3lame/: psymodel.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	more psymodel cleanup.
+	- GTK compilation fix
+	- fix mistake of wsamp_l and wsamp_L
+	- little block_type_set() cleanup
+	- gfc->energy[] and energy_s[] are removed.
+
+2002-08-17 16:37  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2002-08-17 07:09  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	divide psymodel.c into manageable pieces (1)
+	and some optimization/simplification.
+
+2002-08-14 04:02  takehiro
+
+	* libmp3lame/encoder.c (takehiro-2002_05_07-experimental):
+
+	small fixes.
+	- variable type change of PE calculation.
+	- make it allow the mixed block limitation of MP3
+	- cleanup the block type code.
+
+2002-08-14 03:59  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	ci to avoid losing works.
+	- short block detection cleanup and bug fix, for nspsytune (1st attempt)
+	- preliminal mixed block detection code.
+
+2002-08-14 03:57  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	optimize calc_xmin() and changed ATH normalization for it.
+
+2002-08-08 09:03  aleidinger
+
+	* Makefile.in:
+
+	regen
+
+2002-08-08 09:00  aleidinger
+
+	* Makefile.am:
+
+	Add lame.spec to the distribution tarball, as suggested in bug #580586
+
+2002-08-08 08:48  aleidinger
+
+	* README.DJGPP, Makefile.DJGPP:
+
+	Fix from Peder Hedlund, see bug #590981.
+
+2002-08-05 18:04  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Fixed crashing problem when the INFO TAG was written while it should not
+
+2002-08-02 20:53  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Some code clarifications (remarks from Martin Ruckert)
+
+2002-08-02 20:52  afaber
+
+	* Dll/LameDLLInterface.htm:
+
+	Small textual changes (remarks from Martin Ruckert)
+
+2002-07-30 20:24  aleidinger
+
+	* frontend/get_audio.c, libmp3lame/VbrTag.c, libmp3lame/lame.c:
+
+	Portability fixes for SunOS 4.x.
+
+2002-07-30 08:28  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	merge short/long block code (preparing mixed block support)
+
+2002-07-28 09:56  takehiro
+
+	* Makefile.am, Makefile.in, aclocal.m4, config.h.in, configure,
+	  configure.in, libmp3lame/VbrTag.h
+	  (takehiro-2002_05_07-experimental):
+
+	more sync. arround configure stuff.
+
+2002-07-28 09:52  takehiro
+
+	* mac/.cvsignore (takehiro-2002_05_07-experimental):
+
+	ignore Makefile et al.
+
+2002-07-28 09:24  takehiro
+
+	* frontend/get_audio.c, include/lame.h,
+	  libmp3lame/mpglib_interface.c (takehiro-2002_05_07-experimental):
+
+	syncing.
+	- fix mpeg decoding memory leak.
+	- lame.h comment fix.
+
+2002-07-28 09:18  takehiro
+
+	* include/lame.h:
+
+	fix unclosed comment
+	fix typo
+
+2002-07-28 09:08  takehiro
+
+	* libmp3lame/: presets.c, set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	more sync with main tree about preset API.
+
+2002-07-28 09:07  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2002-07-28 09:06  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	simplify the code.
+	disabled substep method 2 and 3 for vbr-new (forced to change method 1)
+
+2002-07-28 06:59  rbrito
+
+	* debian/changelog:
+
+	Updating debian/changelog's reported version.
+
+2002-07-27 10:35  afaber
+
+	* Dll/: Example.cpp, Example_vc6.dsp, Example_vc6.dsw:
+
+	Added example VC6 project files, updated Example.cpp file
+
+2002-07-27 07:41  takehiro
+
+	* API, DEFINES, INSTALL, Makefile.am, Makefile.unix, lame.spec.in,
+	  ltmain.sh (takehiro-2002_05_07-experimental):
+
+	sync with main tree. no effects the quality.
+
+2002-07-27 07:39  takehiro
+
+	* frontend/: Makefile.in, timestatus.c
+	  (takehiro-2002_05_07-experimental):
+
+	sync with main tree. time status rollback and newly regened Makefile.in
+
+2002-07-27 07:03  takehiro
+
+	* include/lame.h (takehiro-2002_05_07-experimental):
+
+	sync with main tree. changed comment style, // to /*  */
+
+2002-07-27 06:59  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	fix cygwin/vc compilation problem.
+	some speed improvement for --substep.
+
+2002-07-27 06:54  takehiro
+
+	* libmp3lame/presets.c (takehiro-2002_05_07-experimental):
+
+	sync with main tree.
+
+2002-07-26 22:27  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.def, BladeMP3EncDLL.h:
+
+	changes to support encoding of multiple streams
+
+2002-07-26 18:56  markt
+
+	* frontend/get_audio.c, include/lame.h,
+	  libmp3lame/mpglib_interface.c:
+
+	memory leak in multiple decodes fixed.
+
+2002-07-26 08:18  takehiro
+
+	* mac/: LAME Carbon Debug.pch, LAME Carbon Final.pch, LAME Classic
+	  Debug.pch, LAME Classic Final.pch, LAME_Carbon_Debug.pch,
+	  LAME_Carbon_Final.pch, LAME_Classic_Debug.pch,
+	  LAME_Classic_Final.pch, Makefile.am
+	  (takehiro-2002_05_07-experimental):
+
+	sync with main tree. (changed file name)
+
+2002-07-21 22:11  takehiro
+
+	* libmp3lame/: Makefile.am, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix and cleanup of "pseudo substep" method 1 and 3.
+	revert Robert's change of VBR bitresevoir handling code.
+
+2002-07-21 15:15  aleidinger
+
+	* include/lame.h:
+
+	ANSIfy comments. Requested by Ti Kan <ti@amb.org> for xmcd
+
+2002-07-21 12:17  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, set_get.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	implement pseudo substep noise shaping method 1 and 3.
+	- it reduces about 3% of bitrate without losing any quality (theoretically),
+	  for vbr mode.
+	- fix "off by one" bug of IPOW[]
+	- fix comment and substep method range check in set_get.c
+
+	WARNING:there's some bug in the combination of --vbr-new and --substep.
+
+2002-07-21 12:11  takehiro
+
+	* libmp3lame/: lame.c, util.c (takehiro-2002_05_07-experimental):
+
+	sync with main tree: scaling bug fix.
+
+2002-07-21 12:10  takehiro
+
+	* mac/: Makefile.am, Makefile.in
+	  (takehiro-2002_05_07-experimental):
+
+	sync with main tree: added Makefile.*
+
+2002-07-21 12:09  takehiro
+
+	* libmp3lame/util.h (takehiro-2002_05_07-experimental):
+
+	sync with main tree: use FASTLOG as defaulted.
+
+2002-07-19 17:20  afaber
+
+	* Dll/LameDll_vc6.dsp:
+
+	added ,HAVE_NASM,MMX_choose_table defines to project file,
+	since beGetBersion did not report that the DLL was compiled with
+	MMX enabled
+
+2002-07-15 21:22  markt
+
+	* libmp3lame/: util.c, util.h:
+
+	enabled domd's fast_log code
+
+2002-07-15 00:52  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	one more fix for pe[] calculation of nspsytune.
+
+2002-07-14 10:41  takehiro
+
+	* frontend/gtkanal.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x "bit assumption(of frame)" display imcompatibility of main tree.
+
+2002-07-14 10:36  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x "bit assumption" display imcompatibility of main tree.
+
+2002-07-14 10:19  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	fix enbug of pe[] calculation for nspsytune.
+	prepare for nspsytune cleanup.
+
+2002-07-13 08:10  aleidinger
+
+	* configure, libmp3lame/Makefile.in:
+
+	regen
+
+2002-07-13 08:09  aleidinger
+
+	* configure.in:
+
+	Some fixes in the compiler options, removed superfluous BeOS section.
+
+2002-07-13 08:08  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	Fixes for BeOS (and perhaps other arches) to allow the build of a
+	shared lib.
+
+	Submitted by:	Andrew Bachmann <shatty@myrealbox.com>
+
+2002-07-05 15:17  afaber
+
+	* Dll/LameDLLInterface.htm:
+
+	fixe a couple of typos'
+
+2002-07-03 22:28  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	fixed minor problems with the ALT-PRESET CBR/ABR modes
+
+2002-07-03 21:14  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	avoid crash in beWriteVbrTag when gfp is not allocated, fixed return value of beWriteVbrTag in *.h file
+
+2002-06-29 12:29  aleidinger
+
+	* libmp3lame/: lame.c, util.c:
+
+	Patch from Simon Blandford <ome@simonb.org.uk>:
+	---snip---
+	The problem:
+	When in MONO mode, LAME merges the two channels before the left/right
+	scaling. The left scale acts on the remaining signal and the right scale
+	is ignored.
+
+	The solution:
+	The scaling operation is simply moved before the channel merge
+	operation. Also, all these operations are moved before the re-sample
+	operation otherwise the signal would have be re-sampled on two channels
+	even in MONO mode which would be a waste of CPU time.
+	---snip---
+
+2002-06-23 16:07  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x display of threshold level (blue/green bar in FFT window).
+	use FAST_LOG10 in klemm's penalties() function.
+	trivial fix of max_noise initialization (do not effect anything but for the consistency of comment).
+
+2002-06-23 16:04  takehiro
+
+	* libmp3lame/Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen
+
+2002-06-23 14:40  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	fix max_noise initilization
+	and trivial coding style change
+
+2002-06-23 12:56  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	fix mp3x display of max_noise, tot_noise, over_noise
+
+2002-06-23 12:56  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	trivial
+
+2002-06-23 08:30  takehiro
+
+	* libmp3lame/: lame.c, psymodel.c, quantize_pvt.c, util.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	more faster pe[] calculation on nspsy.
+
+	sync with main tree:
+	- domd's faster LOG and psymodel_ns optimization
+
+2002-06-23 06:19  takehiro
+
+	* include/lame.h, libmp3lame/set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	sync with main tree.
+	- fixed return type of lame_get_interChRation()
+
+2002-06-23 05:53  takehiro
+
+	* libmp3lame/: Makefile.am, Makefile.in, libmp3lame_vc6.dsp, pcm.c,
+	  pcm.h (takehiro-2002_05_07-experimental):
+
+	sync with main tree.
+	- remove pcm.[ch]
+
+2002-06-17 17:19  domd
+
+	* DEFINES:
+
+	added USE_FAST_LOG define
+
+2002-06-16 20:16  domd
+
+	* libmp3lame/psymodel.c:
+
+	optimizations on mask_add and L3psycho_anal_ns
+
+2002-06-16 20:14  domd
+
+	* libmp3lame/quantize_pvt.c:
+
+	optimization : use of FAST_LOG10 macro in calc_noise
+
+2002-06-16 20:13  domd
+
+	* libmp3lame/: lame.c, util.c, util.h:
+
+	added the FAST_LOG10 and FAST_LOG  macros
+
+2002-06-15 17:56  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	added missing ")"
+
+2002-06-12 18:41  markt
+
+	* dshow/Encoder.cpp:
+
+	directshow, like ACM, cannot support INFO tag.
+	INFO tag disabled in dshow code.
+
+2002-06-12 18:36  markt
+
+	* ACM/ACMStream.cpp:
+
+	added note about INFO tag not possible when using ACM codec,
+	since ACM has no mechanism to rewind output stream when
+	encoding is finished.
+
+2002-06-12 18:27  markt
+
+	* API, Dll/BladeMP3EncDLL.c, Dll/Example.cpp,
+	  Dll/LameDLLInterface.htm:
+
+	updated documentation (API and DLL)
+	to clarify that INFO tag must be written
+	unless explicitly disabled.
+
+2002-06-11 09:21  aleidinger
+
+	* configure:
+
+	gtk-config fix (oops... sorry)
+
+2002-06-09 16:01  takehiro
+
+	* include/lame.h, libmp3lame/set_get.c:
+
+	fix return type of lame_get_interChRatio()
+
+2002-06-04 19:16  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	merged little part of Dom's speed optimization
+
+2002-06-04 15:04  aleidinger
+
+	* configure:
+
+	regen
+
+2002-06-04 15:03  aleidinger
+
+	* configure.in:
+
+	-maccumulate-outgoing-args is x86 only
+
+	Reported by: "Spud McDuck" <dontspamonme@excite.com>
+
+2002-06-02 19:09  aleidinger
+
+	* configure:
+
+	regen
+
+2002-06-02 19:08  aleidinger
+
+	* config.h.in, configure.in:
+
+	damn autoconf, hopefully this version works as intended
+
+2002-06-02 17:02  aleidinger
+
+	* configure:
+
+	regen
+
+2002-06-02 17:00  aleidinger
+
+	* configure.in:
+
+	use "else if ... fi" instead of "elif ..."
+
+2002-06-02 17:00  aleidinger
+
+	* libmp3lame/Makefile.in:
+
+	regen (removal of pcm.[ch])
+
+2002-06-02 14:50  robert
+
+	* libmp3lame/: Makefile.in, libmp3lame_vc6.dsp:
+
+	moved unused code pcm.[ch] into the Attic
+	interested parties will find it there
+
+2002-06-02 14:45  robert
+
+	* libmp3lame/: Makefile.am, pcm.c, pcm.h:
+
+	moved unused code pcm.[ch] into the Attic
+	interested parties will find it there
+
+2002-06-02 14:20  aleidinger
+
+	* configure:
+
+	regen + perl -pi -e 's:--no-verify::' configure
+
+	Does anyone know how to do this with autoconf directly?
+
+2002-06-02 14:17  aleidinger
+
+	* aclocal.m4:
+
+	undo last commit, wrong file and wrong commit message
+
+2002-06-02 14:16  aleidinger
+
+	* acconfig.h:
+
+	not needed anymore
+
+2002-06-02 14:15  aleidinger
+
+	* Makefile.in:
+
+	regen after removal of aclocal.m4
+
+2002-06-02 14:13  aleidinger
+
+	* config.h.in:
+
+	regen
+
+2002-06-02 14:13  aleidinger
+
+	* configure.in:
+
+	- redo {,u}int{8,16,32,64}_t stuff with new autoconf 2.53 macros
+	- fix code which sets experimental options
+	  Thanks to: Akos Maroy <darkeye@tyrell.hu>
+	- fix GCC_version for 3.1
+	  Thanks to: Akos Maroy <darkeye@tyrell.hu>
+	- further autoconf 2.53 updates
+	- minor fixes
+
+2002-06-02 14:10  aleidinger
+
+	* aclocal.m4:
+
+	is not needed anymore
+
+2002-06-02 12:21  aleidinger
+
+	* aclocal.m4:
+
+	update to autoconf 2.53
+
+2002-06-02 12:17  aleidinger
+
+	* libmp3lame/: VbrTag.c, VbrTag.h, pcm.c, pcm.h, util.h:
+
+	add some includes
+
+2002-05-28 08:28  aleidinger
+
+	* configure:
+
+	regen
+
+2002-05-28 08:24  aleidinger
+
+	* ACM/Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, dshow/Makefile.in, frontend/Makefile.in,
+	  include/Makefile.in, libmp3lame/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in, ACM/ADbg/Makefile.in,
+	  ACM/tinyxml/Makefile.in, doc/html/Makefile.in,
+	  doc/man/Makefile.in, libmp3lame/i386/Makefile.in:
+
+	regen
+
+2002-05-28 08:07  aleidinger
+
+	* configure.in:
+
+	- update to autoconf 2.53
+	- add ultrasparc detection and compiler switches in case of gcc 3.1
+
+2002-05-28 08:04  aleidinger
+
+	* Makefile.in:
+
+	regen
+
+2002-05-28 08:04  aleidinger
+
+	* Makefile.am:
+
+	add mac subdir
+
+2002-05-28 08:03  aleidinger
+
+	* mac/Makefile.in:
+
+	generated Makefile.in
+
+2002-05-28 07:52  aleidinger
+
+	* mac/Makefile.am:
+
+	add automake clue
+
+2002-05-28 07:48  aleidinger
+
+	* mac/: LAME Carbon Debug.pch, LAME Carbon Final.pch, LAME Classic
+	  Debug.pch, LAME Classic Final.pch, LAME_Carbon_Debug.pch,
+	  LAME_Carbon_Final.pch, LAME_Classic_Debug.pch,
+	  LAME_Classic_Final.pch:
+
+	rename files because of automake (space to underscore conversation)
+
+2002-05-26 15:52  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, takehiro.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	sync with main tree, except arround vbrquantize.c.
+	- it calls best_huffman_divide() twice.
+	- *_block_sf() are out of sync.
+
+2002-05-25 23:30  markt
+
+	* libmp3lame/lame.c:
+
+	fixed a mono encoding bug found by Justin Schoeman
+
+	For single channel input, the 2nd channel was still required
+	to exit and have as much data as the 1st channel becaus of
+	memcpy's (even though this data was never used)
+
+2002-05-24 17:28  markt
+
+	* Dll/BladeMP3EncDLL.c, libmp3lame/lame.c:
+
+	removed all references to "sample_t" from the DLL.
+
+	someone put in a call to lame_encode_buffer_sample_t
+	(not a public interface to libmp3lame)
+	when they should have used lame_encode_buffer_float(),
+	since they were assuming 'sample_t' was a float.
+
+2002-05-20 22:21  robert
+
+	* libmp3lame/: lame.c, quantize.c, util.h:
+
+	VBR bitreservoir minimum filling depending on back pointer from largest frame allowed
+
+2002-05-20 18:22  robert
+
+	* Makefile.unix, libmp3lame/lame.c, libmp3lame/quantize.c,
+	  libmp3lame/vbrquantize.c:
+
+	Makefile.unix:
+	-malign-double  enabled, helps memcpy
+
+	lame.c:
+	new experimental -X{5,9} settings for --vbr-new
+
+	quantize.c:
+	build up bit reservoir for VBR, allows to limit max frame size with -Bxxx
+	without a too large quality impact
+
+	vbrquantize.c:
+	fixing sfb21 issues: -Y did not show the wanted effect
+	xxx_block_xr34: replaced copy loop by memcpy, not faster but makes things
+	more obvious
+	some very minor speed ups
+
+2002-05-19 22:11  markt
+
+	* frontend/timestatus.c:
+
+	initialize ellapsed time counter to 0.
+
+2002-05-19 22:03  robert
+
+	* libmp3lame/: quantize.c, vbrquantize.c:
+
+	avoid calling best_huffman_divide twice for vbr-new
+
+2002-05-19 16:43  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/presets.c,
+	  libmp3lame/set_get.c (takehiro-2002_05_07-experimental):
+
+	experimental mixed block support.
+	"--mixedblock" option to use it.
+
+	currently, it uses mixed blocks on all short/start/end blocks.
+
+	this is very bad idea. we need a proper psymodel.
+	till we make it, this option is used only for the testing purpose.
+
+2002-05-19 16:38  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	trivial optimization arround nspsytune
+
+2002-05-19 15:13  takehiro
+
+	* libmp3lame/psymodel.c (takehiro-2002_05_07-experimental):
+
+	merged little part of Dom's speed optimization.
+
+2002-05-18 17:39  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	preparing for mixed block of bitpressure_strategy()
+
+2002-05-18 17:33  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	remove magic numbers and prepare for mixed block.
+
+2002-05-18 16:54  takehiro
+
+	* libmp3lame/: machine.h, newmdct.c, vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	fully cosmetic... changed INLINE -> inline
+
+2002-05-18 16:53  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	prepare for the substep noise shaping method 1 and 3.
+
+2002-05-18 16:15  takehiro
+
+	* libmp3lame/: quantize.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	trivial optimizations
+
+2002-05-18 16:08  takehiro
+
+	* libmp3lame/: machine.h, quantize_pvt.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	clean up table initialization and bit size optimization.
+	- remove magic number "128". (and changed 116)
+	- we don't need to prepare the both of adj43[] and adj43asm[].
+	prepare only one of them, if we use asm code or not.
+
+2002-05-18 16:00  takehiro
+
+	* libmp3lame/: bitstream.c, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	use scfsi more.
+	if all quantized value is 0, we can use scalefactor with not only 0 but
+	also any number and in such a situation, we can use the scfsi.
+
+2002-05-18 15:09  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	don't compile some code if analyzer is not needed.
+
+2002-05-18 15:07  takehiro
+
+	* libmp3lame/: machine.h, quantize_pvt.c, quantize_pvt.h,
+	  vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	optimization arround vbr_new with the new data structure.
+	- merged short_block_xr34() and long_block_xr34() into block_xr34() and clean up
+	- changed IIPOW20[] and remove some condition code.
+
+2002-05-18 13:59  takehiro
+
+	* libmp3lame/: quantize.c, set_get.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	arroud substep noise shaping.
+	- prepare for "method 3".
+	- start with "pseudo half shaped" state, if we use the method 2 or 3.
+
+2002-05-18 13:50  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	simple calc_noise() optimization (remove one log())
+	fix quatn_compare() when alt-preset.
+
+2002-05-18 12:11  takehiro
+
+	* libmp3lame/quantize_pvt.c (takehiro-2002_05_07-experimental):
+
+	oops, fix calc_noise() bugfix :)
+
+2002-05-18 12:10  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	trivial optimization by loop unrolling
+
+2002-05-18 11:38  takehiro
+
+	* libmp3lame/: machine.h, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h (takehiro-2002_05_07-experimental):
+
+	quick fix for "calc_noise_bug" reported by Mark.
+
+2002-05-18 11:09  takehiro
+
+	* libmp3lame/: lame.c, presets.c, set_get.c
+	  (takehiro-2002_05_07-experimental):
+
+	changed alt-preset-* and comments to follow the change of quality setting.
+
+2002-05-18 11:07  takehiro
+
+	* libmp3lame/: machine.h, quantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix floating exception when global_gain > 255u.
+	it frequently happens when best_huffman == 2
+
+2002-05-18 10:25  takehiro
+
+	* libmp3lame/: lame-analysis.h, lame.c, quantize.c, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	sync with main tree.
+	- uped READ_AHEAD from 10 to 40 for the frame analyzer (By Mark)
+	- removed warning when using -Y (By Robert)
+	- removed unused bitpressure strategie 2 (VBR) (By Robert)
+
+2002-05-14 21:32  robert
+
+	* libmp3lame/: lame.c, quantize.c, util.h, vbrquantize.c,
+	  vbrquantize.h:
+
+	removed warning when using -Y
+	removed unused bitpressure strategie 2 (VBR)
+
+2002-05-14 21:02  robert
+
+	* libmp3lame/.indent.pro:
+
+	changing max line length from 80 to 100 chars
+
+2002-05-14 16:23  markt
+
+	* frontend/timestatus.c:
+
+	added comment about clock rollover check
+
+2002-05-14 16:19  markt
+
+	* frontend/: lametime.c, timestatus.c:
+
+	put in rollover check in frontend cpu/wall clock timing routines.
+
+	didn't we used to have this?
+
+	user reported (on a 35min encode) that the output of clock()
+	(of type clock_t) was rolling over and becoming negative.
+	On his system, clock_t is a signed 32 bit int.
+
+2002-05-12 18:47  markt
+
+	* INSTALL:
+
+	removed info about vorbis encoding from INSTALL
+
+2002-05-12 18:01  markt
+
+	* ltmain.sh:
+
+	applied patch to ltmain.sh
+	from sourceforge.net bug report. it passes LDFLAGS on to the
+	linker?
+
+	*** ltmain.sh.org	Sun Oct 22 14:06:32 2000
+	--- ltmain.sh	Sun Apr 28 11:56:54 2002
+	***************
+	*** 818,824 ****
+	      convenience=
+	      old_convenience=
+	      deplibs=
+	!     linkopts=
+
+	      if test -n "$shlibpath_var"; then
+	        # get the directories listed in $shlibpath_var
+	--- 818,824 ----
+	      convenience=
+	      old_convenience=
+	      deplibs=
+	!     linkopts="$LDFLAGS"
+
+	      if test -n "$shlibpath_var"; then
+	        # get the directories listed in $shlibpath_var
+
+2002-05-12 17:20  markt
+
+	* include/lame.h, libmp3lame/lame-analysis.h:
+
+	added documentation to lame.h for lame_decode* functions
+
+	uped READ_AHEAD from 10 to 40 for the frame analyzer
+
+2002-05-12 13:52  takehiro
+
+	* libmp3lame/: bitstream.c, l3side.h, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h, takehiro.c, util.h, vbrquantize.c, vbrquantize.h
+	  (takehiro-2002_05_07-experimental):
+
+	big data structure update (2)
+	- this is very alpha. check is not done yet, but I should have sleep tonight :p
+	- "make test" runs fine. but mp3x, vbr-new needs more test. abr mode aborts floating exception.
+	- almost all the structured data, like l3_xmin, scalefac, distort, ... are now simple FLOAT8/integer array.
+	- calc_noise() and so on is very simple code and very fast, because we can handle the long/short block by same code,
+	- new member "window" and "width" are added to gr_info.
+
+2002-05-12 09:30  takehiro
+
+	* libmp3lame/quantize.c:
+
+	fix inc_scalefac_scale() ignoring preflag.
+
+2002-05-12 08:29  takehiro
+
+	* Makefile.in (takehiro-2002_05_07-experimental):
+
+	regen(forgot to check in)
+
+2002-05-12 08:02  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	trivial cleanup
+
+2002-05-12 08:02  takehiro
+
+	* libmp3lame/reservoir.c (takehiro-2002_05_07-experimental):
+
+	because #define NORES is not working as it was, I remove it.
+
+2002-05-12 07:48  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	fix mp3x scalefactor display when scfsi used and cleanup on set_pinfo().
+	fix warning arround calc_klemm_noise().
+
+2002-05-12 07:30  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h
+	  (takehiro-2002_05_07-experimental):
+
+	noise calculation cleanup.
+	- delayed calculation of klemm_noise and it is shared to store in max_noise.
+	- max_noise, tot_noise and over_noise are now "B" order, not "dB".
+
+2002-05-11 18:49  markt
+
+	* lame.spec.in:
+
+	new lame.spec.in file from Yosi.
+
+2002-05-11 18:29  markt
+
+	* libmp3lame/: quantize.c, quantize_pvt.c:
+
+	applied Takehiro's bug fix for single channel bit reservoir usage
+	for pre-echo control.
+
+2002-05-11 18:28  takehiro
+
+	* Makefile.am, libmp3lame/bitstream.c, libmp3lame/lame.c,
+	  libmp3lame/quantize.c, libmp3lame/reservoir.c,
+	  libmp3lame/takehiro.c, libmp3lame/vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	not testing much, but I think now best_huffman_divide==2 works.
+	- default quality setting is changed to 3, and "make test" is done with that.
+	- quality setting 0,1, and 2 with CBR/ABR/VBR-old mode uses best_huffman_divide==2.
+	- best_scalefac_store() is not called in inner loop.
+	- "lame -q 2 foo.wav foo.mp3" runs about half or more slower speed than that of "lame -q 3 ..."
+
+2002-05-11 17:26  takehiro
+
+	* libmp3lame/: quantize_pvt.c, quantize_pvt.h, takehiro.c
+	  (takehiro-2002_05_07-experimental):
+
+	combination of small patches mainly to get more tight coupling/inlining
+	optimization.
+	- in quantize_pvt.c, some functions are now static.
+	- some "char" type table is now "int"
+	- quantize_xrpow*() are moved from quantize_pvt.c to takehiro.c, and they are static function.
+	- slen1_tab[] and slen2_tab[] are moved to takehiro.c
+
+2002-05-11 16:42  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	oops, checked in the older one. fix CBR bit allocation.
+
+2002-05-11 16:28  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  reservoir.c, reservoir.h (takehiro-2002_05_07-experimental):
+
+	fix --vbr-old for newer resovoir handling code.
+	now it produces bit-by-bit identical from the main branch with my "limited test".
+
+2002-05-11 14:39  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	sync with main tree
+	- Robert's modification, 'more time consuming strategy to handle the case when more bits used than available'
+
+2002-05-11 14:12  takehiro
+
+	* libmp3lame/: quantize.c, vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	fix vbr-new arround bin_search_stepsize().
+	it ignores part2_length to calculate cod_info->part2_3_length.
+
+	consider part2_length inside of bin_search_stepsize(), not caller side.
+
+2002-05-11 13:49  takehiro
+
+	* libmp3lame/vbrquantize.c (takehiro-2002_05_07-experimental):
+
+	fix for vbr-new to work with new bin_search_stepsize()
+
+2002-05-09 23:25  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	vbr-new:
+	more time consuming strategy to handle the case when more bits used than available
+
+2002-05-08 22:28  takehiro
+
+	* libmp3lame/quantize_pvt.h (takehiro-2002_05_07-experimental):
+
+	oops I missed the merging.
+
+2002-05-08 22:27  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, quantize_pvt.h, util.h
+	  (takehiro-2002_05_07-experimental):
+
+	bin_stepsearch() hack.
+	separete stepsize for each channel that we will use next frame
+	little bit faster.
+
+2002-05-08 21:30  takehiro
+
+	* libmp3lame/takehiro.c (takehiro-2002_05_07-experimental):
+
+	fix warning
+
+2002-05-08 21:07  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, vbrquantize.c
+	  (takehiro-2002_05_07-experimental):
+
+	sync with robert's latest patch on mainline.
+	- allow best huffman divide to be used in vbr-new
+	- moved ms_convert()
+
+2002-05-08 21:00  takehiro
+
+	* libmp3lame/quantize.c (takehiro-2002_05_07-experimental):
+
+	monoraul bitallocation patch.
+
+	thanx Robert to revert. and sorry for the trouble.
+	I made my own branch and check the code on this.
+	if I get the "bit-by-bit identical" output, I will merge the branch.
+	I will follow the main line changes as possible.
+
+	till then, bye for now. see you later, at the merging time.
+
+2002-05-07 23:08  robert
+
+	* libmp3lame/: quantize_pvt.h, vbrquantize.c:
+
+	allow best huffman divide to be used in vbr-new
+
+2002-05-07 21:24  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h:
+
+	moved the tiny function ms_convert from quantize_pvt.c to quantize.c--the
+	only client for it--giving a little speed increase
+
+2002-05-07 21:11  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, vbrquantize.c:
+
+	better decoupling of vbrquantize.c and quantice.c
+
+2002-05-07 20:21  robert
+
+	* libmp3lame/: bitstream.h, quantize_pvt.h, reservoir.h, util.h:
+
+	sorry Takehiro, we are back to the last known working version from Sunday
+	13:35 UTC now
+
+2002-05-07 20:15  robert
+
+	* libmp3lame/: bitstream.c, encoder.c, quantize.c, quantize_pvt.c,
+	  reservoir.c, takehiro.c, util.c, vbrquantize.c:
+
+	sorry Takehiro, we are back to the last known working version from Sunday
+	13:35 UTC now
+
+2002-05-06 16:03  takehiro
+
+	* libmp3lame/quantize.c:
+
+	fix for new reservoir handling code with my ABR patch.
+	we don't need the totbits, because the reservoir size is reduced in
+	ResvAdjust() in gr/ch loop and reservoir handler uses it.
+
+2002-05-06 15:49  takehiro
+
+	* ACM/: .cvsignore, ADbg/.cvsignore, tinyxml/.cvsignore:
+
+	added cvsignore to ignore Makefile, etc.
+
+2002-05-06 15:30  takehiro
+
+	* include/lame.h, libmp3lame/bitstream.c, libmp3lame/encoder.c,
+	  libmp3lame/quantize.c, libmp3lame/reservoir.c:
+
+	cleanup. remove a compiling problem and some warnings.
+
+2002-05-05 18:34  takehiro
+
+	* libmp3lame/quantize.c:
+
+	one more outer_loop() fix for VBR.
+
+2002-05-05 18:18  takehiro
+
+	* libmp3lame/quantize.c:
+
+	outer_loop() fix for vbr_rh and vbr_mtrh
+
+2002-05-05 17:37  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	update comment
+
+2002-05-05 17:17  takehiro
+
+	* libmp3lame/: bitstream.c, bitstream.h, encoder.c, quantize.c,
+	  reservoir.c, util.c, util.h:
+
+	cleanup arround getframebits().
+
+2002-05-05 16:50  takehiro
+
+	* libmp3lame/: quantize.c, reservoir.c:
+
+	fix NORES_TEST. and works not only for CBR (don't tell me that's useful :p)
+
+2002-05-05 16:40  takehiro
+
+	* libmp3lame/: quantize.c, reservoir.c, reservoir.h:
+
+	oops, I mis-checked in the old files. this is real one.
+
+2002-05-05 16:29  takehiro
+
+	* libmp3lame/: quantize_pvt.c, reservoir.c, reservoir.h:
+
+	clean up arround reservoir.
+
+2002-05-05 15:47  takehiro
+
+	* libmp3lame/: quantize.c, reservoir.c, reservoir.h:
+
+	trivial cleanup of arround resvoir.
+
+2002-05-05 15:34  takehiro
+
+	* libmp3lame/quantize.c:
+
+	cleanup arround inc_scalefac_scale() with new cod_info strcture.
+
+2002-05-05 14:35  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h:
+
+	cleanup arround calc_noise() with new cod_info strcture.
+
+2002-05-05 13:59  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h, takehiro.c,
+	  vbrquantize.c:
+
+	more cleanup of new cod_info structure, arround count_bits()
+
+2002-05-05 13:48  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.h:
+
+	inner_loop() is now static function.
+
+2002-05-05 13:43  takehiro
+
+	* libmp3lame/: quantize.c, vbrquantize.c:
+
+	changed outer_loop() algorithm. it needs lesser copy and runs faster.
+	- try with new scalefactor combination on work area, and if we get the better result, copy it to the returning area.
+	- make bin_search_StepSize() return the global_gain which assures targ_bits > found_bits.
+
+2002-05-05 13:33  robert
+
+	* libmp3lame/: quantize.c, vbrquantize.c, vbrquantize.h:
+
+	some clean-up in parameter passings due to recent change in cod_info structure
+
+2002-05-05 13:01  robert
+
+	* libmp3lame/: encoder.c, quantize.c, quantize.h, vbrquantize.c,
+	  vbrquantize.h:
+
+	removed again some unused code I thought that was removed some long time ago
+
+2002-05-05 11:58  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.c, l3side.h, quantize.c:
+
+	bit cleanup. removed window_switching_flag in l3side.
+
+2002-05-05 11:53  takehiro
+
+	* libmp3lame/: quantize.c, quantize.h, vbrquantize.c:
+
+	To fix it does not call the "freorder" and to support for mixed block,
+	the vbrquantize.c uses init_outer_loop()/init_xrpow() in quantize.c to
+	initializatoin. this may fix the MPEG2 problem (but not tested).
+
+2002-05-04 22:49  markt
+
+	* configure, testcase.mp3:
+
+	updated testcase.mp3
+
+2002-05-04 15:48  takehiro
+
+	* libmp3lame/: encoder.c, quantize.c, util.c, util.h:
+
+	clean up and speed up (optimize for new data structure).
+	- devided init_outer_loop() into init_outer_loop() and init_xrpow(). This makes it easy to use GOGO-no-coda's xrpow calculation routine.
+	# thanx Robert, your fix makes me aware my mistake in VBR mode.
+
+	- restoring duplicated data of VBR loop are removed.
+
+	more mixed_block prepare. freorder() in util.c and its caller in encoder.c are moved into init_outer_loop() in quantize_pvt.c
+
+2002-05-04 15:36  takehiro
+
+	* libmp3lame/quantize.c:
+
+	trivial optimization
+
+2002-05-04 14:54  takehiro
+
+	* libmp3lame/: bitstream.c, quantize.c, quantize_pvt.c,
+	  vbrquantize.c:
+
+	the signess process of l3_enc[] are moved from quantize*.c to bistream.c. bit faster, much simpler.
+
+2002-05-04 13:58  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	removed unused variables.
+
+2002-05-04 13:55  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.c:
+
+	removed log calculation of klemm_noise in main loop
+
+2002-05-04 09:30  afaber
+
+	* ChangeLog, Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.h:
+
+	Added quality setting to lame_enc.dll interface
+
+2002-04-30 22:20  robert
+
+	* libmp3lame/version.h:
+
+	3.93 alpha 1 -> 3.93 alpha 2
+
+2002-04-30 22:00  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c:
+
+	fixing latest floating point exceptions I got for some days
+	within the calc noise routine
+
+2002-04-28 08:15  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	Mark, because max_noise is initialized with 1E-20 and refreshes Max(max_noise, sfb_noise), so it will never lesser than 1e-20.
+
+2002-04-27 21:15  takehiro
+
+	* libmp3lame/takehiro.c:
+
+	bit faster best_huffman_divide().
+	- use the pointer to the structure, not structure itself.
+
+2002-04-27 20:58  takehiro
+
+	* configure, libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/encoder.c, libmp3lame/l3side.h, libmp3lame/newmdct.c,
+	  libmp3lame/newmdct.h, libmp3lame/quantize.c,
+	  libmp3lame/quantize.h, libmp3lame/quantize_pvt.c,
+	  libmp3lame/quantize_pvt.h, libmp3lame/takehiro.c,
+	  libmp3lame/vbrquantize.c, libmp3lame/vbrquantize.h:
+
+	large data structure update (1)
+	- mdct values (xr), encoded values (l3_enc), and scalefactors (scalefac) are in the gr_info structure.
+	- it runs faster.
+	- reduce stack size but require large III_side_info_t and lame_global_flags.
+
+2002-04-27 20:41  takehiro
+
+	* libmp3lame/machine.h:
+
+	fix --enable-all-float. when it enabled, FLOAT8_MAX should be FLT_MAX about 1e37, not 1e99.
+
+2002-04-27 18:24  takehiro
+
+	* libmp3lame/bitstream.c:
+
+	trivial
+
+2002-04-24 11:10  aleidinger
+
+	* Makefile.unix:
+
+	add a mingw comment from Hubert Hanghofer
+
+2002-04-22 17:51  markt
+
+	* libmp3lame/quantize_pvt.c:
+
+	Takehiro, when you changed this code:
+
+	    res->max_noise   = 10.*log10(Max(1e-20,max_noise ));
+	    res->klemm_noise = 10.*log10(Max(1e-20,klemm_noise));
+
+	to:
+
+	    res->max_noise   = 10.*log10(max_noise);
+	    res->klemm_noise = 10.*log10(klemm_noise);
+
+	I started getting FPE (I always compile with --enable-debug
+	which aborts on FPE).  I went ahead and changed it back- it should
+	have little effect.
+
+2002-04-21 20:31  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Added additional debug flags
+
+2002-04-21 18:10  takehiro
+
+	* libmp3lame/l3side.h:
+
+	remove unused definition
+
+2002-04-21 18:05  takehiro
+
+	* libmp3lame/lame.c:
+
+	fix typo
+
+2002-04-21 17:33  takehiro
+
+	* libmp3lame/lame.c:
+
+	trivial(reduce magic number)
+
+2002-04-21 17:03  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Avoid the VBR Tag space was written when VBR method was disabled
+	(caused empty frame in fornt of MPEG stream for certain CBR settings)
+
+2002-04-21 16:56  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/bitstream.c,
+	  libmp3lame/quantize.c, libmp3lame/set_get.c,
+	  libmp3lame/takehiro.c, libmp3lame/util.h:
+
+	new option, --substep, pseudo substep noise shaping now works.
+	- new set_get function, lame_set_substep(), lame_get_substep()
+	- final fix of "do substep" region of selected scalefactor.
+	- noise_shaping_amp == 3 is removed and the method of how to use substep is selecte by the new member "substep" in structure "lame_internal_flags".
+
+2002-04-21 13:57  takehiro
+
+	* libmp3lame/bitstream.c:
+
+	trivial optimization: gfp/gfc cleanup
+
+2002-04-20 22:31  robert
+
+	* Makefile.unix:
+
+	[no log message]
+
+2002-04-20 20:40  takehiro
+
+	* libmp3lame/: bitstream.c, encoder.c, l3side.h, newmdct.c,
+	  quantize.c, quantize_pvt.c, takehiro.c, vbrquantize.c:
+
+	simplify the structure.
+	l3_side->gr[gr].ch[ch].tt is now known as l3_side->tt[gr][ch].
+
+2002-04-20 20:31  takehiro
+
+	* libmp3lame/l3side.h:
+
+	fix misleading indent
+
+2002-04-20 20:28  takehiro
+
+	* libmp3lame/takehiro.c:
+
+	prepare for mixed block support: count_bits() and best_scalefac_store().
+	fix bug of noise_shaping_amp==3 on a long block.
+
+2002-04-20 20:17  takehiro
+
+	* libmp3lame/quantize.c:
+
+	more mixed_block preparation: inc_scalefac_scale(), amp_scalefac_bands()
+
+2002-04-20 20:16  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	for better mixed_blcok support, make calc_xmin() use cod_info->sfb_lmax, etc.
+
+2002-04-20 19:54  takehiro
+
+	* libmp3lame/quantize.c:
+
+	fix mixed mode (long block max sfb)
+
+2002-04-20 19:50  takehiro
+
+	* libmp3lame/: l3side.h, quantize.c, quantize_pvt.c:
+
+	more generalized mixed_block support and considering in MPEG2/2.5
+	- added new members to cod_info. psy_lmax and psy_smax.
+
+2002-04-20 19:39  takehiro
+
+	* libmp3lame/quantize.c:
+
+	we don't need two elements of l3_xmin.
+
+2002-04-20 19:34  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	- calc_xmin() supports mixed_block noise calculation.
+	- mixed_block parameter(long block end point and short block start point) fix for calc_noise()
+
+2002-04-20 18:51  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	calc_noise() supports mixed_block noise calculation.
+
+2002-04-20 18:40  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	remove out-of-date comments
+
+2002-04-20 18:37  takehiro
+
+	* libmp3lame/: machine.h, quantize_pvt.c:
+
+	first step of clean up calc_noise() for preparing mixed block support.
+	- removed unused variables
+	- make the two loops (long and short) same structure.
+
+2002-04-20 11:49  robux4
+
+	* ACM/lameACM.dsp:
+
+	Added the preset to compile the project (not used... yet)
+
+2002-04-19 14:51  bouvigne
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Now the dll should properly applying mono and resampling settings even if presets are used
+
+2002-04-19 11:23  bouvigne
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	alt-presets now used from inside libmp3lame
+
+2002-04-17 22:13  robert
+
+	* Makefile.unix:
+
+	missing presets.c added
+
+2002-04-17 08:11  aleidinger
+
+	* configure:
+
+	regen
+
+2002-04-17 08:08  aleidinger
+
+	* configure.in:
+
+	bump version
+
+2002-04-16 19:47  markt
+
+	* testcase.mp3:
+
+	updated testcases (just because CVS version bumped up to 3.93alpha)
+
+2002-04-15 18:36  markt
+
+	* libmp3lame/version.h:
+
+	updated version to 3.93 alpha 1
+
+2002-04-15 16:42  bouvigne
+
+	* frontend/parse.c, libmp3lame/presets.c:
+
+	abr presets now into libmp3lame
+
+2002-04-15 11:51  bouvigne
+
+	* frontend/parse.c:
+
+	--cbr
+
+2002-04-15 11:42  bouvigne
+
+	* libmp3lame/lame.c:
+
+	3dnow identification
+
+2002-04-15 08:16  aleidinger
+
+	* Makefile.in, configure:
+
+	regen
+
+2002-04-15 06:58  markt
+
+	* Makefile.in, configure, debian/Makefile.in:
+
+	got automake 1.5 and ran it:
+
+2002-04-15 06:57  markt
+
+	* debian/Makefile.am:
+
+	updated debian/Makefile.am but my version of automake
+	is too old:
+
+	debian/Makefile.am:5: require version 1.5, but have 1.4-p5
+
+2002-04-15 06:47  markt
+
+	* testcase.mp3, doc/html/history.html, libmp3lame/version.h:
+
+	bumped up version number to 3.92 for release
+
+2002-04-15 06:46  markt
+
+	* ChangeLog:
+
+	ran cvs2cl.pl
+
+2002-04-14 12:21  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.def, BladeMP3EncDLL.h:
+
+	Added strict-iso option to the interface, added output samplerate parameter  to the debug log file
+
+2002-04-12 19:44  markt
+
+	* libmp3lame/bitstream.c:
+
+	added message regarding "internal buffer inconsistency error" to printout:
+
+	      ERRORF(gfc,"This is a fatal error.  It has several possible causes:");
+	      ERRORF(gfc,"90%  LAME compiled with buggy version of gcc using advanced optimizations");
+	      ERRORF(gfc," 9%  Your system is overclocked");
+	      ERRORF(gfc," 1%  bug in LAME encoding library");
+
+2002-04-10 12:55  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c:
+
+	--noasm option
+
+2002-04-10 06:37  bouvigne
+
+	* Makefile.MSVC:
+
+	presets.c
+
+2002-04-09 15:43  bouvigne
+
+	* Dll/BladeMP3EncDLL.c:
+
+	dm presets in the dll are now used from initialized from inside libmp3lame
+
+2002-04-09 15:28  aleidinger
+
+	* libmp3lame/Makefile.in:
+
+	regen
+
+2002-04-09 14:46  bouvigne
+
+	* frontend/parse.c, include/lame.h, libmp3lame/Makefile.am,
+	  libmp3lame/libmp3lame_vc6.dsp, libmp3lame/presets.c,
+	  libmp3lame/set_get.c:
+
+	vbr presets are now part of libmp3lame
+
+2002-04-09 11:56  bouvigne
+
+	* frontend/parse.c:
+
+	--cbr switch
+
+2002-04-08 20:30  robux4
+
+	* ACM/acm.rc:
+
+	minor change on the DLL versioning
+
+2002-04-08 18:43  robux4
+
+	* ACM/: ACM.cpp, AEncodeProperties.cpp:
+
+	Added some new defines that might not be in all platform DDKs
+	(just in case)
+
+2002-04-08 18:41  aleidinger
+
+	* Makefile.in, ACM/Makefile.in:
+
+	regen
+
+2002-04-08 18:41  aleidinger
+
+	* Makefile.am, ACM/Makefile.am:
+
+	add new vc6 file
+
+2002-04-08 12:43  bouvigne
+
+	* lame_vc6.dsw, ACM/lameACM_vc6.dsp:
+
+	added ACM codec to vc6 workspace
+
+2002-04-08 09:56  bouvigne
+
+	* lame_projects_vc6.dsp, lame_vc6.dsw:
+
+	dummy project to generate all lame projects (select lame_projects in the workspace)
+
+2002-04-07 14:09  robux4
+
+	* ACM/TODO:
+
+	Removed the things already done
+
+2002-04-07 14:07  robux4
+
+	* ACM/: ACM.cpp, AEncodeProperties.cpp, lameACM.dsp:
+
+	Clicking on the LAME URL will open the default browser
+
+2002-04-07 13:31  robux4
+
+	* ACM/: AEncodeProperties.cpp, AEncodeProperties.h:
+
+	Added tool-tips to the configuration dialog
+
+2002-04-07 12:28  robux4
+
+	* ACM/: ACM.cpp, acm.rc:
+
+	Improved LAME version display
+
+2002-04-07 10:17  robux4
+
+	* ACM/: AEncodeProperties.cpp, AEncodeProperties.h, acm.rc,
+	  lame_acm.xml, resource.h:
+
+	ABR support now complete
+
+2002-04-06 14:12  aleidinger
+
+	* lame.bat:
+
+	bugfix, sorry, lost the mail for it
+
+2002-04-06 14:10  aleidinger
+
+	* Makefile.in, ACM/Makefile.in, ACM/tinyxml/Makefile.in,
+	  Dll/Makefile.in, frontend/Makefile.in, libmp3lame/Makefile.in,
+	  mpglib/Makefile.in, configure:
+
+	regen
+
+2002-04-06 14:09  aleidinger
+
+	* configure.in:
+
+	add tinyxml directory
+
+2002-04-06 14:08  aleidinger
+
+	* Makefile.am, ACM/Makefile.am, ACM/tinyxml/Makefile.am,
+	  Dll/Makefile.am, frontend/Makefile.am, libmp3lame/Makefile.am,
+	  mpglib/Makefile.am:
+
+	add new files
+
+2002-04-06 14:01  robux4
+
+	* ACM/: ACM.cpp, ACM.h, ACMStream.cpp, ACMStream.h:
+
+	Encoding in ABR is starting to work
+	the different format strings are sorted correctly
+
+2002-04-06 11:34  robux4
+
+	* ACM/: ACM.cpp, ACM.h, AEncodeProperties.cpp, AEncodeProperties.h,
+	  acm.rc, resource.h:
+
+	First part of the ABR support
+	(missing use ABR settings on encoding when applied, configuration of ABR params)
+
+2002-04-06 11:32  robux4
+
+	* ACM/tinyxml/: readme.txt, tinyxml.cpp, tinyxml.dsp, tinyxml.h,
+	  tinyxmlparser.cpp, xmltest.cpp:
+
+	Updated with version 2.0 beta
+
+2002-04-04 13:35  bouvigne
+
+	* lame_vc6.dsw, Dll/LameDll_vc6.dsp, frontend/lame_vc6.dsp,
+	  libmp3lame/libmp3lame_vc6.dsp, mpglib/mpglib_vc6.dsp:
+
+	I was annoyed to not be able to open the VC projects in vc6, so I added vc6 ones
+
+2002-03-22 18:29  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	Added lame presets to DLL interface
+
+2002-03-16 00:26  robert
+
+	* Makefile.MSVC:
+
+	no fast float to int conversion (Intel compiler)
+
+2002-03-16 00:21  robert
+
+	* Makefile.MSVC, frontend/parse.c:
+
+	fix for Win2k path seperator issue
+	found by Peter Hartley
+
+2002-03-15 23:16  robert
+
+	* libmp3lame/quantize.c:
+
+	bugfix, confusion about sideinfo length
+	found by "Kei Ishida"
+
+2002-03-06 00:02  robert
+
+	* lame.dsw:
+
+	VC Workspace for all(?) targets
+
+2002-03-03 18:57  aleidinger
+
+	* libmp3lame/psymodel.c:
+
+	remove /* withhin comment
+
+2002-03-03 18:38  markt
+
+	* TODO:
+
+	  msvc6 notes
+
+2002-02-22 11:53  shibatch
+
+	* libmp3lame/quantize_pvt.c:
+
+	mp3x now displays quantization noise correctly when using nspsytune.
+
+2002-02-21 00:54  rbrito
+
+	* debian/: changelog, control, copyright, lame-dev.docs,
+	  lame-dev.files, lame-extras.files, lame.docs, liblame0-dev.docs,
+	  liblame0-dev.files, liblame0.files, rules:
+
+	Reorganization of the lame/debian directory for generating packages closer
+	to what the Debian Policy specifies. Still not there (the liblame0 package
+	still has a dreaded -rpath and thus, is not lintian clean).
+
+2002-02-17 15:24  takehiro
+
+	* doc/html/: history.html, switchs.html:
+
+	fix option description, and changed & to &amp;
+
+2002-02-17 14:22  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	now inter-channel masking works even when without --nspsytune or with -m s
+
+2002-02-17 13:59  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	fix for --enable-all-float.
+
+2002-02-17 13:55  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/set_get.c, libmp3lame/util.h:
+
+	added inter channel masking effect.
+	gfp->interChRatio is the ratio of inter-channel masking effect, which could
+	be indicated by --interch X option.
+	The default value is 0.0, which means there's no inter-channel masking effect.
+
+	I think ratio = 0.01 is OK for lower bitrates (like under 128kbps),
+	for like old days songs by the Beatles.
+
+2002-02-17 13:30  bouvigne
+
+	* frontend/parse.c:
+
+	presets down to 8kbps
+
+2002-02-17 08:12  takehiro
+
+	* libmp3lame/util.h:
+
+	prepare for the interchannel masking and substep noise shaping.
+
+2002-02-16 17:19  robux4
+
+	* ACM/tinyxml/: Makefile.tinyxml, changes.txt, dox, makedistlinux,
+	  makedistwin.bat, readme.txt, tinyxml.cpp, tinyxml.dsp, tinyxml.h,
+	  tinyxmlerror.cpp, tinyxmlparser.cpp, xmltest.cpp:
+
+	Update with newer version of TinyXML
+
+2002-02-15 11:42  shibatch
+
+	* frontend/parse.c, libmp3lame/psymodel.c:
+
+	Now, nspsytune2 should work, maybe...
+
+2002-02-14 15:38  shibatch
+
+	* libmp3lame/: lame.c, psymodel.c, util.h:
+
+	Preparation work for nspsytune2.
+
+2002-02-13 16:30  aleidinger
+
+	* frontend/rtp.h:
+
+	compile fix for gcc 3.x from Len Walter <len@unsw.edu.au>
+
+2002-02-09 18:51  markt
+
+	* frontend/gtkanal.c:
+
+	added preflag count to statics window in mp3x
+
+2002-02-07 11:58  shibatch
+
+	* libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  frontend/parse.c, include/lame.h, libmp3lame/set_get.c:
+
+	preparation work for nspsytune2
+
+2002-02-04 17:10  markt
+
+	* TODO, libmp3lame/util.c:
+
+	temporary fix for resampling code. downsampling from 44101 to 44100 causes
+	a seg fault.  Workaround in place for now:  resampling disabled
+	if input/output samplerates agree to 4 digits.
+
+2002-02-01 18:58  markt
+
+	* INSTALL, TODO:
+
+	minor edits
+
+2002-02-01 17:41  markt
+
+	* TODO:
+
+	added notes about building a working, all encompasing MSVC6
+	workspace to TODO list
+
+2002-02-01 17:37  markt
+
+	* INSTALL:
+
+	added nots about the ACM codec and directshow filter
+	to INSTALL
+
+2002-02-01 17:08  robux4
+
+	* ACM/ACM.cpp:
+
+	Correct a problem when more than 2 channels are involved
+
+2002-01-31 21:17  robux4
+
+	* libmp3lame/lame.c:
+
+	Less memory copying on interleaved buffer
+
+2002-01-31 21:03  uid32249
+
+	* ACM/tinyxml/: Makefile, Makefile.tinyxml:
+
+	replace Makefile with Makefile.tinyxml
+
+2002-01-30 23:25  robux4
+
+	* ACM/: ACM.cpp, acm.rc:
+
+	resolved FhG incompatibility, first beta version (can go public), no decoding yet
+
+2002-01-29 21:20  robux4
+
+	* ACM/: ACM.cpp, TODO, acm.rc:
+
+	update version and removed unused buffers
+
+2002-01-29 20:51  robux4
+
+	* ACM/lameACM.dsp:
+
+	build with special dynamic memory handling for ACM
+
+2002-01-29 20:37  robux4
+
+	* configMS.h, ACM/ACM.cpp, ACM/ACMStream.cpp, ACM/main.cpp:
+
+	More debugging, special dynamic memory handling for ACM
+
+2002-01-28 22:33  ivanski
+
+	* mac/LAME.mcp:
+
+	CW6 Project File
+
+2002-01-28 22:13  ivanski
+
+	* mac/: .DS_Store, LAME Carbon Debug.pch, LAME Carbon Final.pch,
+	  LAME Classic Debug.pch, LAME Classic Final.pch, MacDLLMain.c,
+	  Precompile_Common.h:
+
+	Initial revision
+
+2002-01-28 22:13  ivanski
+
+	* mac/: .DS_Store, LAME Carbon Debug.pch, LAME Carbon Final.pch,
+	  LAME Classic Debug.pch, LAME Classic Final.pch, MacDLLMain.c,
+	  Precompile_Common.h:
+
+	Mac support
+
+2002-01-28 20:12  robux4
+
+	* ACM/: TODO, acm.rc:
+
+	more TODO, added icon credit
+
+2002-01-28 18:18  markt
+
+	* libmp3lame/lame.c, test/CBRABR.op:
+
+	set devault qval to 2 for CBR and ABR.
+
+2002-01-25 18:18  robux4
+
+	* ACM/: TODO, lame.ico:
+
+	new icon, more to do
+
+2002-01-25 17:51  robux4
+
+	* ACM/: ACM.cpp, ACM.h, AEncodeProperties.cpp, DecodeStream.cpp,
+	  acm.rc:
+
+	version 0.7.6, improved the smart output mode, corrected a config saving bug
+
+2002-01-25 17:47  robux4
+
+	* ACM/ADbg/: ADbg.cpp, ADbg.h:
+
+	more explicit cast
+
+2002-01-25 11:27  aleidinger
+
+	* misc/Makefile.in:
+
+	regen
+
+2002-01-25 11:23  aleidinger
+
+	* misc/Makefile.am:
+
+	add lameid3.pl
+
+2002-01-25 11:22  aleidinger
+
+	* doc/man/lame.1:
+
+	some fixes
+
+2002-01-24 19:38  robux4
+
+	* ACM/: ACM.cpp, ACM.h, ACMStream.cpp, AEncodeProperties.cpp,
+	  AEncodeProperties.h, TODO, acm.rc, lameACM.dsp, lame_acm.xml,
+	  main.cpp, resource.h:
+
+	introducing smart output mode, clean dialog boxes, config saving/loading now works
+
+2002-01-23 20:51  robux4
+
+	* ACM/DecodeStream.cpp:
+
+	correct a build problem when ENABLE_DECODING is not defined
+
+2002-01-23 20:45  robux4
+
+	* ACM/readme.txt:
+
+	More doc on the release files
+
+2002-01-23 20:40  robux4
+
+	* ACM/ADbg/ADbg.dsp:
+
+	removed a minor build problem
+
+2002-01-23 20:39  robux4
+
+	* ACM/: ACM.cpp, ACM.dsw, ACM.h, ACMStream.cpp, ACMStream.h,
+	  AEncodeProperties.cpp, AEncodeProperties.h, DecodeStream.cpp,
+	  DecodeStream.h, LameACM.inf, TODO, acm.rc, lameACM.dsp,
+	  lame_acm.xml, readme.txt, resource.h, tinyxml/Makefile,
+	  tinyxml/changes.txt, tinyxml/readme.txt, tinyxml/test.dsp,
+	  tinyxml/test.dsw, tinyxml/tinyxml.cpp, tinyxml/tinyxml.dsp,
+	  tinyxml/tinyxml.h, tinyxml/tinyxmlerror.cpp,
+	  tinyxml/tinyxmlparser.cpp, tinyxml/xmltest.cpp:
+
+	Initial configuration dialog and XML config saving, initial decoding support (not working yet)
+
+2002-01-23 20:32  robux4
+
+	* mpglib/interface.h:
+
+	better handling of C++ include
+
+2002-01-23 01:23  markt
+
+	* lame.spec.in:
+
+	commiting Yosi's new lame.spec.in file
+
+2002-01-22 19:45  robux4
+
+	* ACM/: ACM.cpp, ACM.dsw, ACM.h, ACMStream.cpp, ACMStream.h,
+	  LameACM.inf, TODO, acm.rc, adebug.h, lameACM.def, lameACM.dsp,
+	  main.cpp, readme.txt:
+
+	clean the code, put LGPL license, add mpglib to the build
+
+2002-01-21 21:33  markt
+
+	* TODO, configure, configure.in:
+
+	added MAX OSX patch from sf bugtrack page
+
+2002-01-21 20:24  markt
+
+	* USAGE, misc/lameid3.pl:
+
+	added lameid3.pl script to misc directory.
+	(use to reencode mp3's and preserve id3 tags)
+
+2002-01-20 19:29  robux4
+
+	* libmp3lame/util.h:
+
+	Better C++ handling
+
+2002-01-20 19:25  robux4
+
+	* Dll/BladeMP3EncDLL.h:
+
+	Better C++ handling
+
+2002-01-20 15:05  aleidinger
+
+	* configure:
+
+	regen (ACM)
+
+2002-01-20 15:05  aleidinger
+
+	* configure.in:
+
+	Add ACM directory
+
+2002-01-20 15:04  aleidinger
+
+	* ACM/Makefile.in:
+
+	Add generated autoconf glue
+
+2002-01-20 14:59  aleidinger
+
+	* ACM/ADbg/Makefile.in:
+
+	Add generated autoconf glueACM/Makefile.in
+
+2002-01-20 14:58  aleidinger
+
+	* ACM/: Makefile.am, ADbg/Makefile.am:
+
+	Add automake clue (for make dist)
+
+2002-01-20 14:56  robux4
+
+	* ACM/lameACM.dsp:
+
+	Eanble correct nasm support
+
+2002-01-20 14:03  robux4
+
+	* ACM/: ADbg/ADbg.cpp, ADbg/ADbg.dsp, ADbg/ADbg.h, ACM.cpp,
+	  ACM.dsw, ACM.h, ACMStream.cpp, ACMStream.h, LameACM.inf, acm.rc,
+	  adebug.h, lame.ico, lameACM.def, lameACM.dsp, main.cpp,
+	  readme.txt, resource.h:
+
+	Initial ACM support
+
+2002-01-19 11:52  bouvigne
+
+	* README, TODO:
+
+	updated TODO
+
+2002-01-17 16:43  aleidinger
+
+	* Makefile.unix:
+
+	NASM for Windows fixes (Hubert Hanghofer)
+
+2002-01-17 13:42  aleidinger
+
+	* configure:
+
+	regen
+
+2002-01-17 13:42  aleidinger
+
+	* configure.in:
+
+	- Update gcc 3.x and --enable-expopt=full flags based upon suggestions
+	  and benchmarks from Hubert Hanghofer <hhanghof@netbeer.co.at> and
+	  Craig Okruhlica <craig@velio.com>.
+	- Remove gcc flags which are marked 'experimental' in the gcc 3.0.3
+	  documentation (noticed by Hubert Hanghofer).
+	- Add comment what "expopt" means, and what it doesn't mean.
+
+2002-01-17 13:42  aleidinger
+
+	* Makefile.unix:
+
+	- Update MINGW part pased upon patches and comments from
+	  Hubert Hanghofer <Hubert.Hanghofer@m-real.com>.
+	- Some minor changes for consistency.
+
+	Note: this file is superseded by configure, except for systems where
+	      configure didn't work, so if something is broken you have to send
+	      patches.
+
+2002-01-17 05:08  takehiro
+
+	* libmp3lame/i386/.cvsignore:
+
+	added *.lo
+
+2002-01-09 12:09  takehiro
+
+	* debian/.cvsignore, dshow/.cvsignore:
+
+	added autogen Makefile to ignore
+
+2002-01-09 12:09  takehiro
+
+	* frontend/.cvsignore, libmp3lame/.cvsignore, mpglib/.cvsignore:
+
+	added *.il, for the intel compiler with ipo option
+
+2002-01-07 15:51  aleidinger
+
+	* configure:
+
+	oops, forgot to s/gtk12-config/gtk-config/
+
+2002-01-07 15:48  aleidinger
+
+	* configure:
+
+	regen
+
+2002-01-07 15:48  aleidinger
+
+	* configure.in:
+
+	add gcc 3 specific optimizations, based upon suggestions by Sébastien FORESTIER <forestie@caramail.com>
+
+2002-01-07 10:35  aleidinger
+
+	* configure, frontend/Makefile.in:
+
+	regen: Fix Cygwin and HPUX problems.
+
+2002-01-07 10:34  aleidinger
+
+	* configure.in, frontend/Makefile.am:
+
+	Fix Cygwin and HPUX problems.
+
+2002-01-01 16:55  robert
+
+	* misc/lame4dos.bat:
+
+	modified some remark
+
+2001-12-30 23:54  markt
+
+	* doc/html/history.html:
+
+	updated hostory.html from master copy in webpages project
+
+2001-12-29 17:36  takehiro
+
+	* doc/html/history.html:
+
+	fix option for pseudo-half step quantization
+
+2001-12-29 16:23  aleidinger
+
+	* configure:
+
+	regen: Welcome to 3.92
+
+2001-12-29 16:21  aleidinger
+
+	* configMS.h, configure.in, libmp3lame/version.h:
+
+	Welcome to 3.92
+
+2001-12-29 15:45  aleidinger
+
+	* doc/html/history.html:
+
+	sync with webpages/history.html
+
+2001-12-28 18:55  takehiro
+
+	* .cvsignore:
+
+	added stamp-h1
+
+2001-12-28 12:47  aleidinger
+
+	* Dll/Example.dsp, Dll/MP3EncDll.dsp, dshow/dshow.dsp,
+	  frontend/lame.dsp, libmp3lame/libmp3lame.dsp, dshow/dshow.dsw,
+	  mpglib/mpglib.dsp:
+
+	unix->dos
+
+2001-12-27 16:12  aleidinger
+
+	* doc/man/lame.1:
+
+	add --alt-preset
+
+2001-12-27 12:50  aleidinger
+
+	* misc/Makefile.in:
+
+	regen: add missing files to the distribution
+
+2001-12-27 12:49  aleidinger
+
+	* misc/Makefile.am:
+
+	add missing files to the distribution
+
+2001-12-23 20:19  dibrom
+
+	* libmp3lame/set_get.c:
+
+	disable noise shaping 2 for "fast" extreme mode also
+
+2001-12-23 20:11  dibrom
+
+	* libmp3lame/: set_get.c, vbrquantize.c:
+
+	fix small bug and completely disable noise_shaping 2 with "fast" mode until a better solution can be found.
+
+2001-12-23 12:25  aleidinger
+
+	* misc/Makefile.in:
+
+	regen: add some files to the distribution
+
+2001-12-23 12:22  aleidinger
+
+	* misc/Makefile.am:
+
+	add auenc, mugeco,sh and mlame to distrib
+
+2001-12-22 13:32  aleidinger
+
+	* DEFINES:
+
+	document NON_LINEAR_PSYMODEL, remove KLEMM_43
+
+2001-12-22 13:29  aleidinger
+
+	* libmp3lame/psymodel.c:
+
+	non linear psymodel (disabled by default) for GPSYCHO (nspsytune is untouched)
+
+2001-12-22 13:27  aleidinger
+
+	* configure:
+
+	regen: Welcome to v3.91
+
+2001-12-22 13:26  aleidinger
+
+	* configMS.h, configure.in, libmp3lame/version.h:
+
+	Welcome to v3.91
+
+2001-12-21 15:09  aleidinger
+
+	* libmp3lame/machine.h:
+
+	add icc check
+
+2001-12-21 15:05  aleidinger
+
+	* libmp3lame/Makefile.in:
+
+	regen: (add vbrquantize.h)
+
+2001-12-21 15:05  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	add vbrquantize.h
+
+2001-12-21 11:58  jd-
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.def, BladeMP3EncDLL.h:
+
+	Added DLL interface function beEncodeChunkFloatS16NI for floating point audio
+	Samples are input within the range +/- 32768, in non-interleaved channels
+
+2001-12-21 03:29  markt
+
+	* testcase.mp3:
+
+	updated testcase
+
+2001-12-21 03:29  markt
+
+	* libmp3lame/: version.c, version.h:
+
+	updated version to lame 3.90
+
+2001-12-20 23:11  markt
+
+	* ChangeLog:
+
+	update changelog
+
+2001-12-20 08:44  dibrom
+
+	* libmp3lame/encoder.c:
+
+	no message
+
+2001-12-20 08:33  dibrom
+
+	* libmp3lame/: encoder.c, set_get.c, util.h, vbrquantize.c:
+
+	improved quality of "fast" modes in certain situations
+
+2001-12-18 17:44  dibrom
+
+	* frontend/parse.c:
+
+	removed bitrate compensation stuff for the abr bitrates since it appears no longer necessary
+
+2001-12-18 17:28  dibrom
+
+	* doc/html/switchs.html:
+
+	added --alt-preset to the list of switches
+
+2001-12-18 17:13  dibrom
+
+	* doc/html/history.html:
+
+	documented many changes which have been made over 3.90
+
+2001-12-18 16:27  dibrom
+
+	* frontend/parse.c:
+
+	small tweak to "standard" preset
+
+2001-12-18 16:14  dibrom
+
+	* libmp3lame/: psymodel.c, quantize.c, set_get.c, util.h,
+	  vbrquantize.c:
+
+	small quality improvement for "extreme" and "insane", more bitrate tunings for "extreme" -- should average to 256kbps more often
+
+2001-12-18 11:16  aleidinger
+
+	* configure:
+
+	regen: vorbis changes
+
+2001-12-18 11:14  aleidinger
+
+	* configure.in:
+
+	- Change vorbis default to disabled
+	- Added -logg in the vorbis case (seems to be needed, I haven't tested it)
+
+2001-12-18 11:13  aleidinger
+
+	* libmp3lame/vorbis_interface.c:
+
+	Try to unbreak vorbis support (it can't get worser).
+	You may need the vorbis source and add -I/path/to/vorbis_src/includes/ to
+	CFLAGS prior to running configure
+
+	Tested by: Jonathan Ryshpan <jonrysh@pacbell.net> on RedHat 7.2
+	Submitted by: Cyrille Lefevre <clefevre@citeweb.net> via FreeBSD problem report
+
+2001-12-17 04:40  markt
+
+	* libmp3lame/quantize.c:
+
+	Minor changes to Gabriel's adjustment for ABR bitrate.
+	Updated testcases.
+
+	Added the following comments:
+
+	/*
+	        res_factor is the percentage of the target bitrate that should
+	        be used on average.  the remaining bits are added to the
+	        bitreservoir and used for difficult to encode frames.
+
+	        Since we are tracking the average bitrate, we should adjust
+	        res_factor "on the fly", increasing it if the average bitrate
+	        is greater than the requested bitrate, and decreasing it
+	        otherwise.  Reasonable ranges are from .9 to 1.0
+
+	        Until we get the above suggestion working, we use the following
+	        tuning:
+	        compression ratio    res_factor
+	          5.5  (256kbps)         1.0      no need for bitreservoir
+	          11   (128kbps)         .93      7% held for reservoir
+
+	        with linear interpolation for other values.
+
+	     */
+	    res_factor = .93 + .07 * (11.0 - gfp->compression_ratio) / (11.0 - 5.5);
+
+2001-12-16 16:00  bouvigne
+
+	* libmp3lame/quantize.c:
+
+	better abr bitrate approximation (will break abr testcases)
+
+2001-12-15 07:31  dibrom
+
+	* libmp3lame/: psymodel.c, set_get.c, util.h, vbrquantize.c:
+
+	More tunings for "fast" options for "standard" and "extreme" modes.
+
+2001-12-14 16:27  dibrom
+
+	* libmp3lame/set_get.c:
+
+	small tweak to "extreme" mode
+
+2001-12-14 07:00  dibrom
+
+	* frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/set_get.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c:
+
+	- changed --dm-presets to --alt-presets
+	- modified preset system
+	- applied tunings to vbr and psymodel, especially with --alt-preset standard, improves many difficult clips over the default vbr modes/presets (even those such as --r3mix) such as impulse cases (fatboy, spahm, them, gbtinc, ravebase, etc), pre-echo cases (castanets, death2, florida_seq, etc), tonality/js cases (2nd_vent, serioustrouble, bloodline, etc), low volume clips (piano, rach_original), many clips with problems with noise shaping 2, and much much more.  Practically all cases should be equal or improved in quality.
+	- added --no-preset-tune to disable tunings for --alt-preset "modes"
+
+2001-12-03 18:15  markt
+
+	* USAGE, frontend/parse.c:
+
+	updated descriptions of some command line options, as per Dmitry
+
+2001-11-30 18:35  markt
+
+	* lame.spec.in:
+
+	patch from lassauge@mail.dotcom.fr for lame.spec.in file.
+
+2001-11-30 18:05  markt
+
+	* include/lame.h, libmp3lame/lame.c:
+
+	added lame_encode_buffer_long2(), since lame_encode_buffer_long() had
+	a scaling which restricted the precision of the input to the same
+	as if the input was 'short int'
+
+	decided to leave the original routine, on the off chance there
+	is some program out there which uses it.
+
+2001-11-28 12:30  aleidinger
+
+	* Makefile.in:
+
+	regen
+
+2001-11-28 12:29  aleidinger
+
+	* Makefile.am:
+
+	change description of make test
+
+2001-11-26 15:21  takehiro
+
+	* libmp3lame/takehiro.c:
+
+	tuning of "pseudo half step noise shaping" with listening test.
+	and it works now even when scalefac_scale == 1
+
+2001-11-26 15:19  takehiro
+
+	* libmp3lame/: psymodel.c, VbrTag.c:
+
+	fix warning
+
+2001-11-26 11:00  aleidinger
+
+	* libmp3lame/version.h:
+
+	Bump alpha version.
+
+2001-11-25 15:24  takehiro
+
+	* libmp3lame/: lame.c, quantize.c, quantize_pvt.c, takehiro.c,
+	  util.h:
+
+	new noise shaping algorithm(pseudo half step noise shaping)
+	it brings slow but more accurate noise shaping.
+	enables with -q0 when CBR
+
+2001-11-19 21:26  markt
+
+	* frontend/parse.c, libmp3lame/encoder.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c:
+
+	Reverted CVS back to before "gglower" option was added.
+
+	--scale is a better way to do this, and contrary to Hans' claims,
+	--scale is also lossless.
+
+2001-11-18 22:44  robert
+
+	* frontend/parse.c, libmp3lame/encoder.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c:
+
+	patch by Hans van der Heijden, original email:
+
+	Datum: Sun, 18 Nov 2001 20:13:11 +0100
+	Von: "Hans van der Heijden" <H.Heijden@inter.NL.net>
+	 An: <Robert.Hegemann@gmx.de>
+
+	 Hi Robert,
+
+	For the first time, I compiled Lame, being a non-programmer (well, my work
+	involves programming, but that's a world apart with logic symbols, not C
+	language).
+	Because sometimes I have the urge to try something with the sourcecode.
+
+	I'd like to add a switch to avoid the use of --scale for preventing
+	clipping. It manipulates global_gain, similar as the mp3gain tool does, but
+	this would be much more convenient of course (and better quality-wise, being
+	'lossless').
+
+	Since I have no programming experience, can you take a look if I implemented
+	it correctly? The switch is called --gglower x, where each x-step stands for
+	1,5 dB. gg is short for global gain. So for example, --gglower 1 will
+	decrease the output volume with 1,5 dB (0,841). I would probably use this by
+	default, it will be enough to prevent clipping for all but the oddest
+	samples/settings.
+
+	I did a lot of copy/pasting from the --athlower switch, otherwise I probably
+	couldn't figure it all out!
+	Files involved are parse.c, lame_global_flags.h, set_get.c, lame.h and
+	bitstream.c.
+	I attached these files, if you search in each for 'gglower' you'll find the
+	added code.
+	Files came from the 11 Nov CVS.
+
+	Also attached is a cygwin lame.exe if you like to play with it.
+
+	Let's add it to CVS if it's OK (don't know how to do that myself, have to
+	tell Mark?).
+
+	Bye,
+	Hans
+
+2001-11-17 11:17  aleidinger
+
+	* Dll/Example.cpp, Makefile.unix, Dll/Makefile.mingw32:
+
+	some mingw fixes from Vladislav Naumov <vnaum@echo.ru>
+
+2001-11-14 16:25  aleidinger
+
+	* include/lame.h:
+
+	fixes in comments
+
+2001-11-12 21:58  robert
+
+	* libmp3lame/lame.c:
+
+	[no log message]
+
+2001-11-12 17:36  aleidinger
+
+	* include/lame.h:
+
+	spelling fixes in comments
+
+2001-11-11 22:13  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	fixed bugs: 451879 and 438835
+
+2001-11-11 15:08  aleidinger
+
+	* doc/man/Makefile.in, configure:
+
+	regen
+
+2001-11-11 15:06  aleidinger
+
+	* libmp3lame/bitstream.c:
+
+	add CVS Id
+
+2001-11-11 14:57  aleidinger
+
+	* Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in:
+
+	regen
+
+2001-11-11 14:53  aleidinger
+
+	* configure.in, frontend/Makefile.am:
+
+	bugfix: --disable-{mp3x,mp3rtp} had build them
+	add: --disable-fontend
+
+2001-11-11 14:48  aleidinger
+
+	* include/lame.h, libmp3lame/version.c, libmp3lame/version.h:
+
+	remove mp3x version, it doesn't belong into the lib
+	(this breaks every app which uses the function, but mp3x should
+	be the only app which uses it, so this is ok because I moved it
+	into gtkanal.c)
+
+2001-11-11 14:47  aleidinger
+
+	* frontend/gtkanal.c:
+
+	move mp3x version here (from libmp3lame/version.[ch])
+
+2001-11-11 11:31  aleidinger
+
+	* libmp3lame/Makefile.in:
+
+	regen
+
+2001-11-11 11:30  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	add missing headers
+
+2001-11-10 14:25  aleidinger
+
+	* libmp3lame/VbrTag.c:
+
+	at least fix the bus error on SPARC until Roel or someone else decides if we should fix it in another way
+
+2001-11-06 14:43  aleidinger
+
+	* doc/html/switchs.html:
+
+	resample only for encoding
+
+2001-11-06 12:41  aleidinger
+
+	* doc/man/lame.1:
+
+	athaa fixes, resample only for encoding
+
+2001-11-06 01:31  jd-
+
+	* frontend/parse.c:
+
+	Cleaned up preset help; send explicitly requested help to stdout, not stderr.
+	Modularized original presets, with aliases to preserve the original behavior.
+
+2001-11-05 15:26  dibrom
+
+	* frontend/parse.c:
+
+	modify lowpass values for dm-preset abr mode
+
+2001-11-05 05:46  dibrom
+
+	* frontend/parse.c:
+
+	Updated dm-presets
+
+2001-11-05 05:20  markt
+
+	* testcase.mp3, libmp3lame/encoder.h:
+
+	updated padding at end of MP3 to be 1152 samples.
+	So the last frame containing real data will always be followed
+	by a frame containing silence.  (since most decoders will only
+	decode the second to last frame)
+
+2001-11-04 23:42  robert
+
+	* Makefile.MSVC:
+
+	lost i added
+
+2001-11-04 23:39  robert
+
+	* Makefile.MSVC:
+
+	optimizing some intel compile flags
+
+2001-11-04 18:51  robert
+
+	* configMS.h:
+
+	moved MSVC specific #pragma into MSVC section
+
+2001-11-04 18:50  robert
+
+	* libmp3lame/quantize.h, DEFINES:
+
+	removed MAXQUANTERROR precompiler define
+
+2001-11-04 18:48  robert
+
+	* frontend/parse.c, include/lame.h:
+
+	we don't want to make Naoki's msfix part of the API at this time, removed
+	from lame.h again.
+	parse.c compilation was broken by JD's presets_alias function.
+
+2001-11-04 18:31  robert
+
+	* libmp3lame/: encoder.c, quantize.c, vbrquantize.c, vbrquantize.h:
+
+	removed MAXQUANTERROR precompiler define
+
+2001-11-04 18:20  dibrom
+
+	* frontend/parse.c:
+
+	update dm-presets.. more to come shortly
+
+2001-11-04 18:19  dibrom
+
+	* include/lame.h:
+
+	added msfix
+
+2001-11-04 17:28  robert
+
+	* include/lame.h, libmp3lame/lame.c:
+
+	--vbr-mtrh is now known as --vbr-new
+
+2001-11-04 17:22  robert
+
+	* Dll/BladeMP3EncDLL.c:
+
+	--vbr-mtrh is now known as --vbr-new
+
+2001-11-04 13:39  aleidinger
+
+	* libmp3lame/set_get.c:
+
+	some fixes in the comments
+
+2001-11-04 13:39  aleidinger
+
+	* frontend/parse.c:
+
+	mark --{voice,radio,cd,studio,phone} as deprecated
+
+2001-11-04 13:33  aleidinger
+
+	* doc/man/lame.1:
+
+	remove --voice (deprecated)
+
+2001-11-04 13:01  jd-
+
+	* frontend/parse.c:
+
+	Moved "--dm-preset *" preset profiles to "--preset dm-*".
+	Added code for aliasing presets to multiple broad or narrow purpose labels.
+
+2001-11-04 08:37  jd-
+
+	* frontend/parse.c:
+
+	Allow specifying the r3mix preset with "--preset r3mix" for consistency
+
+2001-11-03 10:51  jd-
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c:
+
+	Renamed experimental switch "--ath-adjust" to "--athaa-type" for consistency.
+	All switches directly affecting ATH auto-adjustment begin with "--athaa-*".
+
+2001-11-03 09:31  jd-
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/util.h:
+
+	Added a bit of documentation to the long help.
+	To better reflect purpose, renamed adapt-thres-type and adapt-thres-level
+	to athaa-loudapprox and athaa-sensitivity, respectively.
+
+2001-10-30 20:31  markt
+
+	* libmp3lame/VbrTag.c:
+
+	When determining enc_delay and enc_padding from VBR header, check
+	for reasonable values.
+
+2001-10-29 22:00  markt
+
+	* frontend/get_audio.c, frontend/main.c, frontend/main.h,
+	  frontend/parse.c, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/VbrTag.h, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, mpglib/interface.c,
+	  mpglib/mpglib.h:
+
+	VbrTag.c:  GetVBRTag() updated to parse enc_delay, enc_padding fields
+	enc_delay is used by 'lame --decode' to determine how many samples
+	to skip at the beginning during decoding.
+
+2001-10-29 20:01  markt
+
+	* frontend/main.c:
+
+	for --nogap option, do not allow Xing VBR tag.
+
+	We should also not allow id3 tags and --nogap, but the are not turned on by
+	default, and it is more than a 3 line fix :-)
+
+2001-10-29 08:41  bouvigne
+
+	* libmp3lame/: gain_analysis.c, gain_analysis.h:
+
+	adding gain analysis files
+
+2001-10-29 06:08  markt
+
+	* frontend/main.c, libmp3lame/VbrTag.c,
+	  libmp3lame/lame_global_flags.h, mpglib/interface.c:
+
+	--nogap and --nogapout fixed in frontend.  didn't check
+	if output is really gapless - hopefully no bugs have crept into
+	that while --nogap was broken.
+
+2001-10-28 22:24  markt
+
+	* libmp3lame/VbrTag.c, libmp3lame/bitstream.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/tables.c,
+	  libmp3lame/util.c, mpglib/interface.c:
+
+	Fixed bug in VbrTag.c which is why Xing tag was broken for MPEG2
+	files.
+
+	This code:
+
+	              if( h_id == 0 )
+	                      pTagData->samprate >>= 1;
+
+	was, for unknown reasons, cutting the samplrate down by
+	a factor of two for MPEG2, causing the framesize of the Xing
+	header to be too large, causing it to overwrite the first
+	valid MP3 frame.
+
+2001-10-25 11:54  roelvdb
+
+	* libmp3lame/VbrTag.c:
+
+	undo previous edit, misunderstanding
+
+2001-10-24 23:59  roelvdb
+
+	* libmp3lame/VbrTag.c:
+
+	if ABR, {store bitrate <=255} else { use 4 low bits to store bitrateindex so "-b" for VBR(/CBR) is known. 0F for freeformat}
+
+2001-10-24 20:45  markt
+
+	* testcase.mp3:
+
+	updated testcases
+
+2001-10-24 16:33  aleidinger
+
+	* doc/man/lame.1:
+
+	sync with HTML
+
+2001-10-24 12:44  bouvigne
+
+	* doc/html/: basic.html, examples.html, history.html, node6.html,
+	  switchs.html:
+
+	doc fixes
+
+2001-10-24 12:32  bouvigne
+
+	* doc/html/switchs.html:
+
+	a small athtype doc modif
+
+2001-10-23 16:35  bouvigne
+
+	* doc/html/switchs.html:
+
+	fixes from Dmitry
+
+2001-10-23 16:17  bouvigne
+
+	* doc/html/switchs.html:
+
+	fixes from Alexander
+
+2001-10-23 14:06  aleidinger
+
+	* doc/man/lame.1:
+
+	add line breaks, expand examples section, add ID3 section, fixes
+
+2001-10-23 14:06  aleidinger
+
+	* frontend/main.c:
+
+	fix for cygwin/mingw from egor duda <deo@logos-m.ru>
+
+2001-10-22 21:31  roelvdb
+
+	* libmp3lame/VbrTag.c:
+
+	no message
+
+2001-10-22 13:25  aleidinger
+
+	* doc/man/lame.1:
+
+	update based on HTML version
+
+2001-10-21 17:00  bouvigne
+
+	* doc/html/: basic.html, switchs.html:
+
+	doc
+
+2001-10-20 16:32  aleidinger
+
+	* Makefile.unix:
+
+	Submitted by: "Vladislav Naumov" <vnaum@inbox.ru>
+
+	I canged number 2 of his fixes to be equal to configure.in
+	(-O3 is the highest official supportes optimization option, some of
+	the options are superfluous (because they are included in -O3), some may
+	perhaps change the ABI (ABI, not API!), e.g. -malign-*).
+
+	Quote:
+	1. NOUNIXCMD = YES (don't use shell & sed)
+	2. CC_OPTS are set to produce optimized code. Somewhat faster.
+	3. frontend_sources & lib_sources are now fixed.
+	   GNU Make version 3.79.1 croaked about recursive variable.
+	4. ASFLAGS are correctly set, 'make -fMakefile.unix UNAME=MSDOS HAVE_NASM=YES'
+	   works smoothly (if you have nasm.exe, of course :))
+
+2001-10-20 16:28  aleidinger
+
+	* Dll/Makefile.mingw32:
+
+	Submitted by: "Vladislav Naumov" <vnaum@inbox.ru>
+
+	Quote:
+	This makefile compiles lame_enc.dll with mingw32 (and possibly cygwin)
+	Of course, you must first build ../libmp3lame/libmp3lame.a.
+	liblame_enc.a can be used to link the lame_enc.dll to your programs.
+	Tested with EAC 0.9pb9 (my own favorite, http://www.exactaudiocopy.de/).
+
+2001-10-19 17:39  bouvigne
+
+	* libmp3lame/VbrTag.c:
+
+	headering...
+
+2001-10-18 19:55  bouvigne
+
+	* doc/html/switchs.html, frontend/parse.c:
+
+	documenting...hopefully nearly finished
+
+2001-10-17 19:29  robert
+
+	* frontend/main.c:
+
+	patch by Gian-Carlo Pascutto
+
+	I saw someone reported a problem with my --nogapout
+	switch on the mailinglist. I have done a quick attempt
+	to fix the problems (and address another potential one).
+
+	I haven't actually tested the fixes, but I'm reasonably
+	sure they are correct, or at least they show how to
+	address the problem.
+
+2001-10-17 13:23  roelvdb
+
+	* libmp3lame/VbrTag.c:
+
+	after discussing with Gabriel added some more AQ flag refinements (--athonly,--noath,--scale-*, free format)
+
+	and
+
+	made #define MAXFRAMESIZE 2880, because LAME used to fill the freeformat 640 LAME Tag with junk at the end.
+
+2001-10-17 11:31  aleidinger
+
+	* configMS.h:
+
+	fix VERSION after last commit
+
+2001-10-17 01:41  roelvdb
+
+	* libmp3lame/VbrTag.c:
+
+	added overflow protection to that lowpass field in the LAME Tag, just in case someone enters a very high lowpass value.
+
+2001-10-17 01:18  roelvdb
+
+	* libmp3lame/lame.c:
+
+	44.1kHz:
+	instead of "transition band: 22228 Hz - 22761 Hz" lowpass filter,
+	"-b320 -a" (mono) will now give "transition band: 21517 Hz - 22050 Hz"
+	(as in the stereo case)
+
+	likewise on other samplerates.  I can imagine this can be done in a much more intelligent fashion.
+
+	also commented out a bit of similar code that seems obsolete now?
+
+2001-10-16 18:49  bouvigne
+
+	* doc/html/switchs.html:
+
+	documenting - not finished
+
+2001-10-16 18:07  afaber
+
+	* configMS.h, include/lame.h, libmp3lame/VbrTag.h,
+	  libmp3lame/bitstream.c, libmp3lame/fft.c, libmp3lame/fft.h,
+	  libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/util.h:
+
+	Fixed some compiler warnings (mainly differences between function declaration and definition)
+
+2001-10-16 15:00  roelvdb
+
+	* libmp3lame/VbrTag.c:
+
+	added the needed "else", fixed lowpass, added -V0/V1, --nores, -k, ...
+
+2001-10-16 10:35  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2001-10-15 13:44  roelvdb
+
+	* libmp3lame/VbrTag.c:
+
+	fixed a wrong bracket causing >=256 CBR not to be AQ
+	added ABR>=256 S as AQ, consistent with CBR >=256S
+
+2001-10-13 19:00  markt
+
+	* testcase.mp3:
+
+	updated testcases
+
+2001-10-13 14:02  aleidinger
+
+	* include/lame.h, frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/set_get.c,
+	  libmp3lame/util.c:
+
+	add --scale-l and --scale-r options
+
+	Requested by: fasttimes@mochamail.com
+	Written by: mp3gain@hotmail.com
+
+2001-10-13 14:00  aleidinger
+
+	* doc/man/lame.1:
+
+	update from "lame --longhelp"
+
+2001-10-13 14:00  aleidinger
+
+	* USAGE, doc/html/switchs.html:
+
+	add --scale-l, --scale-r
+
+2001-10-12 18:39  bouvigne
+
+	* doc/html/: index.html, switchs.html:
+
+	a few doc updates - not yet finished
+
+2001-10-11 20:06  bouvigne
+
+	* USAGE, doc/html/basic.html, doc/html/examples.html,
+	  doc/html/history.html, doc/html/id3.html, doc/html/modes.html,
+	  doc/html/node6.html, doc/html/switchs.html:
+
+	[no log message]
+
+2001-10-11 12:21  aleidinger
+
+	* libmp3lame/: encoder.c, util.h:
+
+	fix misunderstanding of gfc->padding
+
+2001-10-10 02:17  roelvdb
+
+	* libmp3lame/: VbrTag.c, lame.c:
+
+	consequence, it's "LAME Tag", longhelp said Xing header
+
+2001-10-10 02:15  roelvdb
+
+	* frontend/parse.c:
+
+	consequence, it's "LAME Tag"
+
+2001-10-10 02:00  roelvdb
+
+	* frontend/main.c:
+
+	added 13 " if (silent < 10) "s to make "lame --decode --quiet" really silent.  there's still a LF I can't locate though...
+
+2001-10-10 01:42  roelvdb
+
+	* Dll/BladeMP3EncDLL.c:
+
+	removed experimental X from --r3mix
+
+2001-10-09 23:09  roelvdb
+
+	* libmp3lame/VbrTag.c:
+
+	adds delays/padding to tag, no range check and tested exclusively on windows
+
+2001-10-09 22:34  roelvdb
+
+	* frontend/parse.c:
+
+	test commit CVS to fix --r3mix size increase (robert identified is as -X being used)
+
+2001-10-09 14:30  aleidinger
+
+	* libmp3lame/version.h:
+
+	bump alpha version
+
+2001-10-09 14:26  aleidinger
+
+	* Dll/BladeMP3EncDLL.c, frontend/parse.c, libmp3lame/VbrTag.c,
+	  libmp3lame/encoder.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/util.h:
+
+	Use the official enum names from lame.h instead of numbers or defines.
+
+2001-10-08 12:54  bouvigne
+
+	* libmp3lame/util.c:
+
+	athtype fix
+
+2001-10-06 19:25  markt
+
+	* include/lame.h:
+
+	added notes about scaling.  there are some inconsistencies in
+	the API:
+
+	lame_encode_buffer()   takes short int as input, range +/- 32768
+	lame_encode_float()    takes float, but data must be in the range
+	                       +/- 32768
+	lame_encode_double()   takes double, but data must be in the range
+	                       +/- 32768
+
+	lame_encode_int()     takes int, but data must be in the range of 'int'
+	                      for 32bit ints, this is +/- 2147483684
+
+2001-10-06 19:17  markt
+
+	* frontend/get_audio.c:
+
+	updated error messages we now support 8,16,24 and 32 bit input
+
+2001-10-06 19:05  markt
+
+	* frontend/get_audio.c, frontend/gtkanal.c, frontend/parse.c,
+	  include/lame.h, libmp3lame/lame.c:
+
+	added support for 24 and 32 bit when not using libsndfile.
+	jd had already added the code to do this, just had to make
+	the libsndfile --bitwidth option available when not using
+	libsndfile.  Also updated unpack_read_samples to support 32bit.
+
+	Could not test this since I dont have any 24 bit files, and
+	sox cant seem to create them.
+
+2001-10-05 22:43  robert
+
+	* libmp3lame/: lame.c, machine.h, quantize_pvt.c, quantize_pvt.h,
+	  vbrquantize.c:
+
+	using -Xn similar to the old code to select different noise measurings with
+	the newer VBR code. the actual mapping is not final yet.
+
+2001-10-05 13:00  bouvigne
+
+	* libmp3lame/util.c:
+
+	ath 4 switches to ath 2 in cbr mode
+
+2001-10-05 12:59  bouvigne
+
+	* libmp3lame/lame.c:
+
+	made NsPsytune stopping using ath0 as default, as everyone is overriding the athwhen using nspsytune
+
+2001-10-05 12:20  bouvigne
+
+	* Makefile.MSVC, libmp3lame/libmp3lame.dsp:
+
+	makefile.msvc and projects on par?
+
+2001-10-04 10:01  aleidinger
+
+	* libmp3lame/: VbrTag.c, VbrTag.h:
+
+	fixes for Solaris 8 / add missing include
+
+2001-10-02 16:02  markt
+
+	* frontend/: main.c, parse.c:
+
+	added nogap patch from Gian-Carlo Pascutto.
+
+	lame --nogapout <outputdir> --nogap file1.wav file2.wav file3.wav ...
+
+	untested.
+
+2001-10-02 03:54  markt
+
+	* configure:
+
+	ran autoconf to make a new configure script
+
+2001-10-02 03:53  markt
+
+	* INSTALL, configure.in, frontend/main.c, frontend/parse.c,
+	  libmp3lame/lame.c, libmp3lame/vorbis_interface.c:
+
+	split Vorbis support into two pieces:
+
+	1.
+	HAVE_VORBIS   (decoding support).  This code still works!
+	(at least it compiles - I have't actually run it).
+	Can be enabled with ./configure --with-vorbis.  Changed the
+	default in configure.in to define HAVE_VORBIS
+
+	2.
+	HAVE_VORBIS_ENCODER
+	This is the code which hasn't compiled since Vorbis beta1.
+	Mainly because how you specify varous encoding "modes" has been
+	changed.  It's probably not to much work to get this working,
+	but there is no reason for this to be in LAME.
+
+2001-10-02 00:00  markt
+
+	* libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, encoder.c,
+	  lame.c:
+
+	Music CRC computed on the fly.   Code stubs in place for
+	decoding on the fly.
+
+2001-10-01 23:02  markt
+
+	* libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, encoder.c,
+	  lame.c, util.h:
+
+	started work to put in the ability to compute MusicCRC on
+	the fly, as well as decoding on the fly.
+
+2001-09-30 20:36  robert
+
+	* frontend/parse.c, libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/lame.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/set_get.c, libmp3lame/util.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c:
+
+	removed some unused variable
+
+2001-09-28 21:29  markt
+
+	* frontend/main.c:
+
+	cpu affinity back to #define _WIN32
+
+2001-09-28 21:13  markt
+
+	* frontend/main.c:
+
+	process affinity patch is back
+
+2001-09-28 20:46  markt
+
+	* USAGE:
+
+	more small updated to USAGE
+
+2001-09-28 20:38  markt
+
+	* USAGE:
+
+	updated USAGE to reflect Dmitry's -B comments
+
+2001-09-28 12:04  bouvigne
+
+	* Makefile.MSVC:
+
+	harmonization between makefile and project
+
+2001-09-27 13:33  bouvigne
+
+	* libmp3lame/libmp3lame.dsp:
+
+	3dnow fft assembly
+
+2001-09-21 04:50  markt
+
+	* testcase.mp3, frontend/main.c:
+
+	updated testcases (lowpass added to Info tag?)
+
+2001-09-21 04:03  markt
+
+	* frontend/main.c:
+
+	disabled CPU affinity code.
+	should only be in a #ifdef NT-system, but I dont know what
+	the ifdef should be.
+
+2001-09-20 08:38  bouvigne
+
+	* libmp3lame/libmp3lame.dsp, mpglib/mpglib.dsp:
+
+	corrected dsp files for VC++. Should work also under VC5, but not tested. Please report success/error
+
+2001-09-20 07:15  bouvigne
+
+	* libmp3lame/: VbrTag.c, lame.c:
+
+	default lowpass stored in info tag
+
+2001-09-19 14:32  markt
+
+	* testcase.mp3:
+
+	updated testcase.mp3
+
+2001-09-18 13:37  aleidinger
+
+	* libmp3lame/util.c:
+
+	Fix memory hole (allocation from psymodel_init()).
+	Found by: Michael Fink <finkm@asamnet.de>
+
+2001-09-17 23:54  markt
+
+	* libmp3lame/: VbrTag.c, util.c:
+
+	moved a 1M array from stack to heap in VbrTag.c
+
+	Some OS, when launching LAME on a seperate thread,
+	allocate a tine (128K?) stack.  moving this to the heap
+	is an ugly solution (requires a malloc() and free())
+	but lets see if it fixes the reported segfaults.
+
+2001-09-17 21:17  markt
+
+	* frontend/main.c, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/lame.c, libmp3lame/util.c:
+
+	more code related to putting encoder padding into VBR tag
+
+2001-09-17 20:05  markt
+
+	* include/lame.h, libmp3lame/VbrTag.c, libmp3lame/encoder.h,
+	  libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/set_get.c:
+
+	added new call to API,
+	lame_get_encoder_padding()
+	which returns the amount of padding appended to the input
+	during encoding.
+
+2001-09-17 19:15  markt
+
+	* libmp3lame/util.c:
+
+	moved MSVC cpu affinity code to the top of disable_FPE()
+
+2001-09-15 09:57  aleidinger
+
+	* configure:
+
+	regen
+
+2001-09-15 09:49  aleidinger
+
+	* configure.in:
+
+	Bugfix for libffm (Alpha architecture).
+	Submitted by: Simon Burge <simonb@wasabisystems.com>
+
+2001-09-14 17:37  markt
+
+	* HACKING, README:
+
+	added a note about LAME being threadsave to the HACKING file.
+
+2001-09-14 17:18  markt
+
+	* libmp3lame/util.c:
+
+	put Todd Richmond's EAC/lame SMP fix in util.c,
+	with all the messy code for setting floating point exceptions.
+	I put this in the
+	#if defined(_MSC_VER)
+	block, so it should only affect people using MSVC.
+
+2001-09-11 07:47  potsticker
+
+	* libmp3lame/VbrTag.c:
+
+	Changed id string from 'Xing' to 'Info' for CBR files only
+
+2001-09-08 18:39  potsticker
+
+	* libmp3lame/VbrTag.h, frontend/main.c:
+
+	Don't write Lame Tag status message if --quiet
+
+2001-09-08 18:35  potsticker
+
+	* libmp3lame/VbrTag.c:
+
+	Don't write Lame Tag status message if --quiet
+
+2001-09-08 18:27  potsticker
+
+	* libmp3lame/: VbrTag.c, VbrTag.h:
+
+	Don't write Lame Tag status message if --quiet
+
+2001-09-07 23:42  potsticker
+
+	* libmp3lame/VbrTag.c, libmp3lame/lame.c, frontend/parse.c:
+
+	Write Lame Tag for all files (unless -t switch used)
+
+2001-09-04 00:06  potsticker
+
+	* libmp3lame/VbrTag.c:
+
+	Implemented most of Lame Tag rev 0 (but no 'replay gain' yet)
+
+2001-09-03 23:45  potsticker
+
+	* libmp3lame/: VbrTag.c, VbrTag.h:
+
+	Implemented most of Lame Tag rev 0 (but no 'replay gain' yet)
+
+2001-09-03 23:43  potsticker
+
+	* libmp3lame/id3tag.h:
+
+	Moved some macro definitions into id3tag.h (referenced in VbrTag.c)
+
+2001-09-03 20:56  robert
+
+	* libmp3lame/id3tag.c:
+
+	cr/lf patch
+
+2001-09-02 20:07  potsticker
+
+	* libmp3lame/: id3tag.h, id3tag.c:
+
+	Moved some macro definitions into id3tag.h (referenced in VbrTag.c)
+
+2001-08-31 18:41  markt
+
+	* libmp3lame/util.c:
+
+	lowered tolerence in an assert() in the lowpass filtering
+	routine.
+
+2001-08-31 08:17  bouvigne
+
+	* libmp3lame/: VbrTag.c, util.h:
+
+	I hope it's fixed now
+
+2001-08-29 20:08  bouvigne
+
+	* Dll/BladeMP3EncDLL.c, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/VbrTag.h, libmp3lame/version.c:
+
+	first implementation of lame Xvbr tag from J Dee
+
+2001-08-28 18:51  markt
+
+	* API, HACKING, frontend/parse.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/psymodel.c, libmp3lame/set_get.c:
+
+	msfix changes.  forgot to commit them yesterday
+
+2001-08-28 17:06  aleidinger
+
+	* Makefile.unix:
+
+	OS/2 mods from slaughter@malaconet.org (in principle, I had to apply them by hand and modified it a little bit)
+
+2001-08-28 15:41  aleidinger
+
+	* configure:
+
+	oops... wrong gtk-config
+
+2001-08-27 21:06  aleidinger
+
+	* configure:
+
+	regen (+update to automake 1.5)
+
+2001-08-27 21:04  aleidinger
+
+	* aclocal.m4, Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.am, mpglib/Makefile.in:
+
+	update to automake 1.5
+
+2001-08-27 21:04  aleidinger
+
+	* Makefile.unix:
+
+	USE_FFT3DN died some time ago
+
+2001-08-27 21:03  aleidinger
+
+	* Makefile.am:
+
+	fixes for the update and diff target if you build in a seperate directory
+
+2001-08-27 21:01  aleidinger
+
+	* frontend/main.c:
+
+	Bump MAX_NOGAP from 20 to 40, I wanted to make 34 gapless mp3s.
+
+2001-08-27 20:59  aleidinger
+
+	* Makefile.am.global, config.guess, config.sub, depcomp, missing,
+	  mkinstalldirs, misc/depcomp, mpglib/depcomp:
+
+	update to automake 1.5
+
+2001-08-27 20:56  aleidinger
+
+	* DEFINES, Makefile.B32, Makefile.MSVC, Dll/MP3EncDll.dsp,
+	  libmp3lame/libmp3lame.dsp, libmp3lame/vorbis_interface.c:
+
+	remove USE_FFT3DN, this define died some time ago
+
+2001-08-27 20:55  aleidinger
+
+	* configure.in:
+
+	remove --malign-double completely
+
+2001-08-27 20:52  aleidinger
+
+	* libmp3lame/fft.c:
+
+	USE_FFT3DN -> HAVE_NASM
+
+2001-08-27 20:50  aleidinger
+
+	* lame.spec.in:
+
+	  - Build and include docs and libs correctly
+	  - Build extra programs
+
+	  Submitted by: Markus Linnala <maage@cs.tut.fi>
+
+	  Note:
+	  I didn't have a rpm based system, if this breaks feel free
+	  to revert my commit, I'm at a "commit what isn't obviously
+	  broken and seems to be a good idea" run at the moment.
+
+2001-08-27 20:49  aleidinger
+
+	* doc/html/switchs.html, frontend/parse.c, USAGE:
+
+	  - OS/2 priority control
+	  Submitted by: "DoC" <slaughter@malaconet.org> (with minor changes by me)
+
+2001-08-27 16:40  markt
+
+	* doc/man/lame.1, misc/Lame.vbs:
+
+	typo in man page fixed, new Lame.vbs from
+	"Ralf Kempkens" <Ralf.Kempkens@epost.de>
+
+2001-08-26 19:01  markt
+
+	* configure.in:
+
+	removed -malign-double, based on Klemm's email.
+
+2001-08-26 18:59  markt
+
+	* configure.in:
+
+	some missing quotes for AmigaOS section of configure.in,
+	submitted by Fredrik Mellstrom <traal@altavista.net>
+
+	(I cant beieve there are still people out there using
+	an amiga :-)
+
+2001-08-26 18:38  markt
+
+	* mpglib/: interface.c, mpglib.h:
+
+	replaced "look_for_xing" variable with more descriptive name
+	"sync_bitstream".
+
+2001-08-21 19:48  bouvigne
+
+	* frontend/parse.c:
+
+	switching --vbr-new to mtrh
+
+2001-08-21 08:57  viral
+
+	* debian/: changelog, control, lame-dev.docs, lame.docs, rules:
+
+	Debian packaging modifications.
+
+2001-08-20 22:26  afaber
+
+	* Dll/: BladeMP3EncDLL.c, MP3EncDll.dsp:
+
+	Updated new R3Mix settings, use lame get/set function and version info
+	so I got rid of the version.h and lame_global_flag.h include files
+
+2001-08-20 20:54  robert
+
+	* doc/html/contributors.html:
+
+	adding Darin Morrison (author of dm presets)
+
+2001-08-16 08:21  robert
+
+	* misc/abx.c:
+
+	update of abx.c by Frank Klemm
+
+2001-08-15 21:58  robert
+
+	* frontend/parse.c, libmp3lame/lame.c:
+
+	making -Z a truely toggling switch
+	reordering the longhelp options list
+	dropping --extrahelp
+
+2001-08-15 00:37  robert
+
+	* libmp3lame/lame.c:
+
+	dropped a nagging message for --vbr-mtrh (nspsytune tuned for ...)
+
+2001-08-15 00:12  robert
+
+	* frontend/parse.c, libmp3lame/util.c:
+
+	update for --r3mix by Roel
+
+2001-08-14 21:46  robert
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/util.h, libmp3lame/version.h:
+
+	some good presets tuned by Dibrom after die hard listening tests
+	--dm-preset {standard,xtreme,insane,metal}
+	and a switch to modify the --ns-treble setting for sfb21 by
+	--ns-sfb21 x
+
+2001-08-08 10:52  aleidinger
+
+	* configure:
+
+	regen
+
+2001-08-08 10:51  aleidinger
+
+	* configure.in:
+
+	  - remove optimizations which get already switched on by -O2 or better
+	  - new experimental optimizations
+	  - bump version to 3.90
+
+2001-08-08 10:50  aleidinger
+
+	* configMS.h:
+
+	bump version to 3.90
+
+2001-08-07 20:41  afaber
+
+	* libmp3lame/libmp3lame.dsp:
+
+	Added NASM release build option
+
+2001-08-02 18:42  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h, Example.cpp,
+	  MP3EncDll.dsp:
+
+	Added NASM build option, added Very High Quality option
+
+2001-08-01 21:45  robert
+
+	* frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/lame_global_flags.h, libmp3lame/quantize_pvt.c,
+	  libmp3lame/set_get.c, libmp3lame/version.h:
+
+	BUG fix in "on_pe", was allocating often more than the absolute limit of 4095 bits per granule
+	attention: testcases are most likely broken now!
+
+2001-07-26 23:05  robert
+
+	* libmp3lame/: lame.c, psymodel.c, vbrquantize.c, version.h:
+
+	VBR mtrh related, bring --remix near to --r3mix bitrate wise
+
+2001-07-25 20:19  robert
+
+	* frontend/main.c:
+
+	Michel SUCH, wildcard expansion for nogap using the OS/2 shell
+
+2001-07-24 12:13  aleidinger
+
+	* configure:
+
+	regen
+
+2001-07-24 12:12  aleidinger
+
+	* configure.in:
+
+	gcc 3.0 fix from Daniel T. Chen
+
+2001-07-23 08:11  aleidinger
+
+	* aclocal.m4, configure:
+
+	update to automake 1.4-p5
+
+2001-07-23 08:08  aleidinger
+
+	* Makefile.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in, config.guess, config.sub:
+
+	update to automake 1.4-p5
+
+2001-07-23 08:05  aleidinger
+
+	* Makefile.am.global:
+
+	update to automake 1.4-p5
+
+2001-07-22 19:24  robert
+
+	* libmp3lame/: quantize.c, vbrquantize.c:
+
+	small fixes
+
+2001-07-22 06:37  jd-
+
+	* libmp3lame/encoder.c:
+
+	Pushed the maximum auto-level adjustment of the ATH from 20 dB to 32 dB
+
+2001-07-20 23:56  robert
+
+	* libmp3lame/quantize.c:
+
+	small speed up for --vbr-old
+
+2001-07-20 01:01  robert
+
+	* libmp3lame/: lame.c, quantize.c, quantize_pvt.c, vbrquantize.c,
+	  version.h:
+
+	1) defaulted the old -Y code for --vbr-old
+	2) new behaviour of -Y: turns off sfb21 noise shaping (VBR)
+	3) some more tunings for --vbr-old
+
+2001-07-19 11:36  aleidinger
+
+	* configure:
+
+	regen
+
+2001-07-19 11:35  aleidinger
+
+	* configure.in:
+
+	  - removed useless (because already handled by Cygwin) MS-DOS case
+	  - bug fixes for alpha*-dec-osf*, *sgi-irix* and sparc*-sunos4*
+	  - print a "please contact us" message for sparc*-sunos4* and *beos
+	    (theses parts of configure.in are perhaps not neccessary)
+
+2001-07-18 20:16  robert
+
+	* frontend/parse.c, libmp3lame/vbrquantize.c:
+
+	vbr-mtrh related: encode sfb21, may bloat on heavy metal music
+
+2001-07-18 20:14  robert
+
+	* misc/abx.c:
+
+	update by Frank
+
+2001-07-16 19:35  robert
+
+	* Dll/BladeMP3EncDLL.c, frontend/parse.c, include/lame.h,
+	  libmp3lame/lame.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/psymodel.c, libmp3lame/set_get.c, libmp3lame/util.h,
+	  libmp3lame/version.h:
+
+	adding a new switch --allshort
+	this one forces LAME to use short blocks on every granule
+	useful for testing the short block masking abilities
+
+2001-07-13 22:37  robert
+
+	* libmp3lame/: psymodel.c, quantize.c, util.h, version.h:
+
+	first try to fix the short block threshold calculation BUG
+	this patch tries to resolve the shortcommings for the short block
+	threshold calculation using VBR. Applying this patch for CBR/ABR
+	would break the testcases. It should not affect the vanilla --nspsy...
+	too, maybe later.
+
+2001-07-07 19:54  bouvigne
+
+	* libmp3lame/reservoir.c:
+
+	maxmp3buf was beeing ignored
+
+2001-07-05 21:25  robert
+
+	* libmp3lame/quantize.c:
+
+	fixing the assertion failures mentioned by Albert Faber
+
+2001-07-05 15:56  markt
+
+	* configure:
+
+	regenerated configure
+
+2001-07-05 15:55  markt
+
+	* configure.in:
+
+	updated gcc 2.96 check to use -O instead of -O1
+
+2001-07-05 15:55  markt
+
+	* configure:
+
+	[no log message]
+
+2001-07-05 15:54  markt
+
+	* configure.in:
+
+	gcc 2.96 check
+
+2001-07-05 15:53  markt
+
+	* libmp3lame/version.h:
+
+	updated repository to 3.90alpha
+
+2001-07-05 15:35  markt
+
+	* doc/html/history.html:
+
+	updateded history file from web page cvs repository
+
+2001-07-05 15:32  markt
+
+	* ChangeLog:
+
+	update
+
+2001-07-05 15:27  markt
+
+	* libmp3lame/version.h:
+
+	updated to 3.89beta
+
+2001-07-02 21:45  robert
+
+	* libmp3lame/quantize.c:
+
+	bug fix for --nspsytune
+	minimum bits allocated was too low, resulting in assertion failures
+
+2001-07-02 21:08  robert
+
+	* libmp3lame/lame.c:
+
+	changing --vbr-new noise measuring back to its usual one
+
+2001-07-01 20:36  markt
+
+	* libmp3lame/psymodel.c:
+
+	unbreak CBR testcases.
+
+2001-07-01 20:04  markt
+
+	* frontend/: get_audio.c, main.h, parse.c:
+
+	patch from Nick Duffek <nsd@bosbc.com>
+	for signed/unsigned and bitwidth options.
+
+2001-07-01 16:48  robert
+
+	* libmp3lame/lame.c:
+
+	defaulting --vbr-mtrh to -q2 = -h
+
+2001-07-01 13:11  robert
+
+	* libmp3lame/lame.c:
+
+	allow --vbr-{old,new} to select between different ATH autoadjust types too
+
+2001-07-01 11:50  robert
+
+	* libmp3lame/: lame.c, set_get.c:
+
+	nspsytune related:
+	now it is possible to turn the scalefac_feature off again giving
+	--nspsytune -Z
+	the change was necessary, because of the hard coded -Z
+
+2001-07-01 05:24  jd-
+
+	* libmp3lame/: encoder.c, lame.c, psymodel.c, util.h:
+
+	Restructured ATH auto-leveling code to fix bug for "--adapt-thres-type 1";
+	relaxed tuning for "--adapt-thres-type 2" for compromise with "--athtype 3"
+	(the previous bit rate is still available with "--adapt-thres-level -1.25")
+
+2001-06-30 16:45  robert
+
+	* Makefile.MSVC:
+
+	fix for compiling mp3x on windows using Makefile.MSVC
+
+2001-06-30 16:40  robert
+
+	* frontend/parse.c:
+
+	fix for compiling mp3x on windows using Makefile.MSVC
+
+2001-06-30 00:26  robert
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/util.h, libmp3lame/vbrquantize.c:
+
+	2 new modes for --vbr-mtrh available by different -q n selections:
+	-q0 truely max noise
+	-q1 almost max noise
+
+2001-06-29 20:58  robert
+
+	* libmp3lame/set_get.c:
+
+	revive --nssafejoint --ns-{alto,treble,bass}
+	lame_set_exp_nspsytune is *not an on/off switch*
+
+2001-06-29 15:23  markt
+
+	* configure, configure.in, libmp3lame/lame.c:
+
+	patch for configure.in, replaced a bash specific loop,
+	from Oswald Buddenhagen <ob6@inf.tu-dresden.de>
+
+2001-06-27 15:47  aleidinger
+
+	* configure:
+
+	regen
+
+2001-06-27 15:46  aleidinger
+
+	* configure.in:
+
+	some hardware specific optimization options for gcc
+
+2001-06-27 14:53  aleidinger
+
+	* libmp3lame/i386/Makefile.in:
+
+	regen
+
+2001-06-27 14:53  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	this is nasty, I want native nasm support in libtool, at least it works for me (sort of)
+
+2001-06-27 14:11  aleidinger
+
+	* libmp3lame/: Makefile.in, i386/Makefile.in:
+
+	regen
+
+2001-06-27 14:11  aleidinger
+
+	* libmp3lame/: Makefile.am, i386/Makefile.am:
+
+	go back to let libtool compile liblameasmroutines, the static case was broken, now the libtool v1.4 case may be broken
+
+2001-06-26 11:38  aleidinger
+
+	* configure:
+
+	regen
+
+2001-06-26 11:36  aleidinger
+
+	* configure.in:
+
+	make the use of nasm a configure option
+
+2001-06-25 02:14  cisc
+
+	* frontend/main.c:
+
+	Include portableio.h for the WriteBytes() and WriteBytesSwapped() functions.
+
+2001-06-24 21:01  robert
+
+	* lame.bat:
+
+	some comments updated
+
+2001-06-24 16:47  robert
+
+	* doc/html/contributors.html, libmp3lame/version.h:
+
+	adding two more contributors
+
+2001-06-24 15:58  robert
+
+	* Makefile.MSVC:
+
+	FLOAT8=float for IC
+
+2001-06-24 15:57  robert
+
+	* Makefile.B32:
+
+	let it work again
+
+2001-06-24 02:04  robert
+
+	* libmp3lame/: quantize.c, quantize.h, quantize_pvt.h, takehiro.c,
+	  vbrquantize.c:
+
+	BUG fix in inc_subblock gain, was amplifying at the wrong place
+	this fix  may break the testcases
+	some unused parameters removed
+
+2001-06-23 18:26  robert
+
+	* Dll/MP3EncDll.dsp:
+
+	patch for DLL Project file by Dmitry
+
+2001-06-23 17:56  robert
+
+	* frontend/lametime.c, frontend/parse.c, mpglib/common.c,
+	  Makefile.MSVC:
+
+	some fixes needed by the Borland Compiler BCC, first attempt to support BCC with Makefile.MSVC, DLL not supported yet, MP1 MP2 reencoding does not work with BCCcd lame (why?)
+
+2001-06-23 12:19  robert
+
+	* libmp3lame/quantize_pvt.c:
+
+	fix letting Borland C++ compiler getting thru' again, Makefile.B32 is *not uptodate*
+
+2001-06-23 12:15  robert
+
+	* frontend/get_audio.c:
+
+	BUG fix for mp1 and mp2 input, fixes problem introduced in Revision 1.63
+
+2001-06-22 08:55  aleidinger
+
+	* ChangeLog:
+
+	update changelog
+
+2001-06-22 08:49  aleidinger
+
+	* Makefile.am:
+
+	regen
+
+2001-06-22 08:48  aleidinger
+
+	* Makefile.in:
+
+	we have a test subdir in cvs, force the test target to be out of date at every invocation of make
+
+2001-06-21 20:40  bouvigne
+
+	* libmp3lame/reservoir.c:
+
+	change of the max frame size
+
+2001-06-19 04:46  markt
+
+	* misc/: Lame.vbs, lameGUI.html:
+
+	updates from "Ralf Kempkens" <Ralf.Kempkens@epost.de>
+
+2001-06-18 18:51  markt
+
+	* TODO, frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/main.c, frontend/main.h, frontend/parse.c,
+	  include/lame.h, libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/set_get.c, mpglib/interface.c, mpglib/mpglib.h:
+
+	added two new functions to return number of PCM samples buffererd
+	but not encoded, and the number of bytes of mp3 data buffered but
+	not output.  also added some comments to mpglib/interface.c to
+	make it easier to tell it to look for Xing headers in the middle
+	of a bitstream.
+
+2001-06-16 00:40  robert
+
+	* Makefile.MSVC, Makefile.unix:
+
+	CPU feature detection for fft routines
+
+2001-06-16 00:39  robert
+
+	* libmp3lame/: fft.c, util.h:
+
+	CPU feature autodetection for fft routines
+
+2001-06-15 22:23  markt
+
+	* TODO, frontend/main.c, include/lame.h, libmp3lame/lame.c:
+
+	Robert's fix to init histgram data with --nogap.
+
+	lame_reinit_bitstream() renamed lame_init_bitstream(), and
+	it is called by lame_init_params().  It can also be called
+	after a call to lame_encode_flush_nogap().
+
+2001-06-15 21:25  markt
+
+	* TODO, frontend/main.c, include/lame.h, libmp3lame/lame.c:
+
+	some fixes for VBR tags with --nogap option.
+
+2001-06-14 23:09  robert
+
+	* frontend/parse.c:
+
+	fixed stdin
+
+2001-06-14 00:58  robert
+
+	* libmp3lame/version.h:
+
+	bumped version to alpha 7
+
+2001-06-14 00:43  robert
+
+	* libmp3lame/: lame.c, psymodel.c:
+
+	added JD's loudness approximation to Naoki's duplicated psy routine
+	as I defaulted JD's adapt stuff I was under the impression that he
+	added his code to both ones, so...
+
+2001-06-14 00:19  markt
+
+	* frontend/main.c:
+
+	fix for nogap truncation call.  When processing the last
+	of the .wav files, we need to call lame_encode_flush()
+	instead of lame_encode_flush_nogap().
+
+2001-06-13 22:46  robert
+
+	* frontend/parse.c:
+
+	LFN support for Win32: realized that it would be a good idea to release the search file handle after searching the filename
+
+2001-06-13 08:44  aleidinger
+
+	* Makefile.DJGPP:
+
+	nasm fix
+
+2001-06-12 21:58  robert
+
+	* frontend/parse.c:
+
+	long file name support for Win32 systems
+	works under Win95 using Intel compiler 4.5 / MSVC 4.2
+	not tested under NT, and not much tested anyway ;-)
+
+2001-06-12 21:03  robert
+
+	* Makefile.unix:
+
+	seems to be forgotten by the last committ
+
+2001-06-12 20:32  markt
+
+	* libmp3lame/bitstream.c:
+
+	old crc code removed from bitstream.c.
+	I had added this in when looking for the xing/crc bug
+
+2001-06-12 12:47  aleidinger
+
+	* frontend/lametime.c:
+
+	fix cygwin build, sort some includes
+
+2001-06-12 12:45  aleidinger
+
+	* libmp3lame/: Makefile.in, i386/Makefile.in:
+
+	regen
+
+2001-06-12 12:45  aleidinger
+
+	* libmp3lame/: Makefile.am, i386/Makefile.am:
+
+	do not use libtool for the asm lib, libtool did not know about nasm
+
+2001-06-12 12:42  aleidinger
+
+	* configure, frontend/Makefile.in:
+
+	regen
+
+2001-06-12 12:42  aleidinger
+
+	* configure.in:
+
+	 - enable shared lib
+	 - disable asm routines
+	 - fix build of asm routines in the win32 case
+
+2001-06-12 12:41  aleidinger
+
+	* frontend/Makefile.am:
+
+	statically link libmp3lame to the frondends
+
+2001-06-12 05:27  markt
+
+	* libmp3lame/lame.c:
+
+	removed CRC error message
+
+2001-06-12 05:27  markt
+
+	* libmp3lame/VbrTag.c:
+
+	fix for Xing/CRC problem.
+
+	Xing toc data must start directly after sideinfo data, assuming
+	no CRC.  If CRC is set, then the Xing toc data must *still* start
+	in the same location (since original Xing demo code does not
+	check for CRC and modify the toc offset).
+
+2001-06-12 04:51  markt
+
+	* libmp3lame/: bitstream.c, lame.c:
+
+	put old CRC routine back in (but disabled)
+
+2001-06-12 03:35  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	added some comments about the DLL's non-standard use of libmp3lame.a
+
+2001-06-12 03:31  markt
+
+	* libmp3lame/Makefile.am:
+
+	Robert created lame_global_flags.h,
+	so I'm adding it to Makefile.am, in the "noinst" section.
+
+2001-06-12 00:48  robert
+
+	* Dll/BladeMP3EncDLL.c, libmp3lame/lame_global_flags.h,
+	  libmp3lame/quantize.c, libmp3lame/util.h:
+
+	- fixed Makefile.unix to let mp3rtp compile again (does it still work?)
+	- had to move lame_global_flags structure into a file of its own,
+	  because the Dll compiled but did not link anymore.
+	  Now it works again, tested on Win95 using Makefile.MSVC
+
+2001-06-11 23:42  markt
+
+	* Dll/BladeMP3EncDLL.c, include/lame.h, libmp3lame/set_get.c,
+	  libmp3lame/util.h:
+
+	committed Robert's patch.  lame_global_flags is gone :-)
+
+2001-06-11 22:07  robert
+
+	* frontend/main.c:
+
+	some more new API things
+
+2001-06-11 18:49  markt
+
+	* frontend/: gtkanal.c, parse.c:
+
+	converted rest of frontend code over to "new api"
+
+2001-06-11 16:35  markt
+
+	* frontend/get_audio.c, frontend/get_audio.h, frontend/gtkanal.c,
+	  libmp3lame/mpglib_interface.c, mpglib/interface.c:
+
+	Tracked down a bug in lame_decoder. It was not correctly
+	flushing the internal mpglib buffers when it hit EOF.
+
+	Problem was most severe with low bitrate example.  It the frame size
+	was 32 bytes, only the first 1/3 of the file would be decoded
+	and the reamining 2/3 of the entire file would be buffered
+	inside mpglib.
+
+2001-06-10 20:35  robert
+
+	* Dll/BladeMP3EncDLL.c, include/lame.h:
+
+	making the old VBR default in preparation for the next release
+
+2001-06-10 19:19  markt
+
+	* API, USAGE, misc/Lame.vbs, misc/lameGUI.html:
+
+	added new version of Lame.vbs from "Ralf Kempkens" <Ralf.Kempkens@epost.de>
+	including a GUI/HTML interface.
+
+2001-06-08 21:40  markt
+
+	* frontend/: get_audio.c, gtkanal.c, main.c, main.h:
+
+	updated some comments related to restructering main.c
+	for the --nogap option
+
+2001-06-08 21:29  markt
+
+	* API, TODO, frontend/get_audio.c, frontend/gtkanal.c,
+	  frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c,
+	  frontend/parse.c, frontend/parse.h, frontend/timestatus.c,
+	  include/lame.h, libmp3lame/lame.c, libmp3lame/set_get.c:
+
+	preliminary --nogap option added.
+
+	--nogap file1 file2 file3
+
+	and it produces file1.mp3 file2.mp3 file3.mp3
+
+	problems: no id3tags, no vbr tags.
+
+2001-06-08 18:59  markt
+
+	* test/lametest.py:
+
+	fix so lametest.py doesn't crash if lame does not create an
+	output file.
+
+2001-06-08 00:00  markt
+
+	* frontend/main.c, libmp3lame/bitstream.c:
+
+	fixed bug with lame_encode_flush_nogap routine
+
+2001-06-07 22:12  robert
+
+	* DEFINES, TODO:
+
+	[no log message]
+
+2001-06-07 22:06  robert
+
+	* frontend/parse.c, libmp3lame/encoder.c:
+
+	--ath-adjust 1 (Gaby's original code) was disabled, any reasons for that JD?
+
+2001-06-07 19:14  markt
+
+	* HACKING, frontend/get_audio.c, frontend/gtkanal.c,
+	  frontend/parse.c, frontend/timestatus.c, libmp3lame/lame.c:
+
+	started updating frontend code to use the new API.
+
+2001-06-07 14:02  aleidinger
+
+	* libmp3lame/fft.c:
+
+	unbreak (at least it compiles), more work needed
+
+2001-06-07 10:11  jd-
+
+	* libmp3lame/encoder.c:
+
+	Allow ATH auto-adjust code to begin at the minimum value on the leading frame
+
+2001-06-07 08:40  jd-
+
+	* libmp3lame/encoder.c:
+
+	Restored some ATH auto-adjust indentation and comments (altered since 3.88
+	in a code clean up)
+
+2001-06-07 06:06  pgubanov
+
+	* libmp3lame/fft.c:
+
+	Choose asm-optimized FHT version if ARCH_X86 defined in fft.c
+
+2001-06-05 22:13  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	Added R3Mix quality setting
+
+2001-06-05 19:19  aleidinger
+
+	* doc/html/history.html:
+
+	sync my entry with the one at the webpages
+
+2001-06-05 00:39  markt
+
+	* INSTALL, TODO:
+
+	added note about mpglib i-stereo bug in TODO list.
+	fixed typo in INSTALL file
+
+2001-06-04 23:57  markt
+
+	* TODO, libmp3lame/reservoir.c:
+
+	documented some variables in reservoir.c.
+
+	Current status is:
+
+	maxframesize = no restrictions
+
+	if strict_ISO is defined, we use Gaby's less restrictive
+	interpretation of the standard.
+
+	see TODO version 1.30 for a user who has a hardware player which
+	cannot handle 320kbps frames if the bit reservoir is used.
+
+	I guess the final verdict is tough luck :-)
+
+2001-06-04 23:29  markt
+
+	* API, HACKING, frontend/parse.c, libmp3lame/lame.c:
+
+
+	print error message and fail if user selects error_protection
+	(since this is currently broken)
+
+	added some comments to HACKING on how to add a new option.
+
+	updated API to reflect that all lame_set/get functions are now
+	working.
+
+2001-06-04 23:10  markt
+
+	* include/lame.h, libmp3lame/lame.c:
+
+	updated comments about lame_encode_flush_nogap()
+
+2001-06-04 23:08  markt
+
+	* include/lame.h, libmp3lame/bitstream.c, libmp3lame/lame.c:
+
+	added lame_encode_flush_nogap().
+
+	This routine will flush all internal mp3 buffers, and pad the
+	last frame with ancillary data so it is a complete mp3 frame.
+
+	It will then set ResvSize to 0, so we can continue encoding.
+
+	after a call to lame_encode_flush_nogap(), if we close
+	the mp3 file and open a new one for the future data,
+	then the two mp3 files should play back 'gapless'
+	if they are first concatenated together.
+
+2001-06-04 19:59  robert
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize.c,
+	  libmp3lame/version.h:
+
+	tweaks to VBR
+
+2001-06-04 10:02  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	Extended interface with VBR method selection
+
+2001-06-04 10:01  afaber
+
+	* mpglib/layer3.c:
+
+	Removed exit call(s) in error conditions, since these errors seems to be good recoverable
+
+2001-06-04 01:54  robert
+
+	* libmp3lame/: lame.c, psymodel.c, quantize.c, util.h:
+
+	small tweaks to the VBR codes
+
+2001-06-02 20:22  robert
+
+	* libmp3lame/: lame.c, quantize.c, util.h, version.h:
+
+	started different bit-pressure strategies (VBR)
+
+2001-06-02 15:26  aleidinger
+
+	* configure:
+
+	regen
+
+2001-06-02 15:25  aleidinger
+
+	* configure.in:
+
+	force cygwin users to use "CC=gcc ./configure"
+
+2001-06-01 19:40  glessard
+
+	* frontend/get_audio.c:
+
+	Added support for non-compressed AIFF-C files in parse_aiff_header().
+
+2001-05-30 01:38  markt
+
+	* configure, configure.in:
+
+	removed -pedantic gcc option.
+	From the gcc man page:  "There is no reason to use this
+	option; it exists only to satisfy pedants".
+
+	And there is a reason not to use it:  It causes people to
+	send me email asking if all the warning messages about c++ comments are ok.
+
+2001-05-29 22:14  robert
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/set_get.c:
+
+	quick fix for a typo that turned off auto adjust code by accident, sorry
+
+2001-05-27 18:58  robert
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/version.h:
+
+	made JD's ATH adapt stuff default for --vbr-mtrh
+	some typings
+	changed bitpressure strategy for VBR a bit
+
+2001-05-26 21:31  jd-
+
+	* libmp3lame/util.c:
+
+	use more digestible code in ATHformula_jd for a pre-release compiler bundled
+	with a popular Linux distribution
+
+2001-05-26 16:17  robert
+
+	* libmp3lame/lame.c:
+
+	let the user select -qx for --vbr-mtrh, just to avoid useless e-mails
+
+2001-05-24 22:25  robert
+
+	* libmp3lame/: lame.c, quantize_pvt.c:
+
+	just 5 minutes to add some more on the --verbose printing side
+
+2001-05-21 18:55  bouvigne
+
+	* doc/html/history.html:
+
+	history
+
+2001-05-21 18:19  bouvigne
+
+	* libmp3lame/lame.c:
+
+	update of the default lowpass value. Will probably break some testcases
+
+2001-05-20 20:45  robert
+
+	* libmp3lame/: encoder.c, lame.c, util.h:
+
+	some more --verbose output
+
+2001-05-19 16:16  robert
+
+	* libmp3lame/psymodel.c:
+
+	typo fixed
+
+2001-05-19 16:13  robert
+
+	* frontend/get_audio.c, frontend/main.c, frontend/parse.c,
+	  frontend/timestatus.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/psymodel.c, libmp3lame/util.h:
+
+	starting a very verbose print function about all internal
+	settings, aiming more transparency for the experienced users
+
+2001-05-15 01:24  robert
+
+	* libmp3lame/: psymodel.c, quantize_pvt.c, vbrquantize.c:
+
+	some tunings
+	still problems with fatboy.wav and ns.wav
+
+2001-05-13 20:59  bouvigne
+
+	* libmp3lame/util.c:
+
+	comments in the ath functions
+
+2001-05-13 11:33  robert
+
+	* libmp3lame/: lame.c, psymodel.c, util.c, util.h:
+
+	fixing tonality problem for --vbr-mtrh
+
+2001-05-11 23:33  robert
+
+	* libmp3lame/quantize_pvt.c:
+
+	trying to point out the real difference in l3xmin calculation with nspsytune and without it
+
+2001-05-11 22:14  robert
+
+	* libmp3lame/lame.c:
+
+	nspsytune & newer vbr
+
+2001-05-11 01:30  robert
+
+	* frontend/get_audio.c, frontend/main.h, include/lame.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/version.h, test/VBR.op:
+
+	compile fixes for Intel Compiler, dropped sfb21 early stopping for vbr-old (found differences)
+
+2001-05-10 19:01  aleidinger
+
+	* include/lame.h, libmp3lame/set_get.c:
+
+	- Make the last few set/get functions functional.
+	  (TODO: use them in the frontend).
+	- Converted padding_type to an enum.
+	- Correct some typos.
+	- Adjust some lines to conform to the style of the majority of the file.
+
+	TODO:
+	 - Search for XXX and do appropriate actions.
+	 - Search for typos (because of alot of cut&paste programming).
+
+2001-05-08 15:00  bouvigne
+
+	* frontend/parse.c, libmp3lame/util.c:
+
+	update of --r3mix
+
+2001-05-06 15:11  robert
+
+	* libmp3lame/: lame.c, quantize.c, vbrquantize.c:
+
+	some desperate values for the fast mtrh VBR mode
+
+2001-05-04 01:07  jd-
+
+	* libmp3lame/: tools.h, util.c:
+
+	Added "--athtype 5" to better represent higher frequencies (14 - 19 kHz).
+	Included supporting functions for quadratic interpolation.
+
+2001-05-03 20:13  robert
+
+	* libmp3lame/: lame.c, quantize.c, util.c, util.h, vbrquantize.c:
+
+	some VBR-codeclean-up
+
+2001-05-02 21:02  robert
+
+	* misc/lame4dos.bat:
+
+	patch by Alexander Stumpf:
+	- now works both with drag & drop (SFN) and from the 4DOS-Commandline (LFN)
+	- Using wildcards when prozessing from mp3 to mp3 caused a loop - fixed
+	- removed the mp3-extention test since LAME recognizes the input file fomat
+	  correctly for several versions now (i.e. no --mp3input neccessary anymore)
+
+2001-05-01 22:55  robert
+
+	* libmp3lame/version.h:
+
+	bumped version number
+
+2001-05-01 22:18  robert
+
+	* libmp3lame/: quantize.c, vbrquantize.c:
+
+	new -q2 mode for --vbr-mtrh
+
+2001-05-01 20:37  bouvigne
+
+	* libmp3lame/reservoir.c:
+
+	change of max frame size
+
+2001-04-28 15:37  robert
+
+	* libmp3lame/: encoder.c, quantize_pvt.c, util.c, vbrquantize.c:
+
+	--vbr-mtrh uses now -Y by default, some tweaks
+
+2001-04-27 23:19  robert
+
+	* libmp3lame/: psymodel.c, quantize_pvt.c, util.c, util.h:
+
+	--experimentalY selects a different ATH adjustment
+	- keeps original noise floor
+	- affects high freqs more than low ones
+
+2001-04-26 23:06  cisc
+
+	* config.guess, config.sub:
+
+	Added MorphOS recognition to configure script.
+
+2001-04-26 04:38  markt
+
+	* README.B32, TODO:
+
+	removed mmx notes from README.B32
+
+2001-04-25 16:21  aleidinger
+
+	* configure, libmp3lame/i386/Makefile.in:
+
+	regen
+
+2001-04-25 16:20  aleidinger
+
+	* configure.in:
+
+	bugfix for gcc version detection
+
+2001-04-25 16:19  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	bugfix for non x86 architectures with installed nasm, tested by Karl Pauls <kpauls@eecs.wsu.edu> on Darwin
+
+2001-04-25 06:59  markt
+
+	* TODO, frontend/get_audio.c, frontend/main.h, frontend/parse.c,
+	  include/lame.h, libmp3lame/set_get.c:
+
+	removed 'disable_wave_header' variable from encoding library.
+	It is in the frontend code only.
+
+2001-04-24 01:38  markt
+
+	* TODO, frontend/get_audio.c:
+
+	added something to the TODO list.
+
+	changed:
+
+	"buffer[1]+i"  code to  "&buffer[1][i]"
+
+	in get_audio.c.  buffer[1]+i is clever, but it confused the
+	maintainer of EAC enough to cause him to submit it as a bug
+	report.
+
+2001-04-23 19:47  bouvigne
+
+	* libmp3lame/: lame.c, util.c:
+
+	[no log message]
+
+2001-04-22 22:57  bouvigne
+
+	* libmp3lame/util.c:
+
+	update of the ath functions
+
+2001-04-22 01:34  jd-
+
+	* frontend/get_audio.c:
+
+	Fixed trailing data bug introduced with the 24 bit input code
+
+2001-04-21 22:23  jd-
+
+	* frontend/get_audio.c, frontend/get_audio.h, frontend/gtkanal.c,
+	  frontend/main.c, frontend/mp3rtp.c, include/lame.h,
+	  libmp3lame/lame.c:
+
+	Add 24-bit PCM waveform input capability (with or without libsndfile),
+	and glue code to preserve the functionality of routines that only handle
+	up to 16-bit data.  The changes support both little and big endian
+	architectures.
+
+2001-04-17 20:04  afaber
+
+	* libmp3lame/libmp3lame.dsp, Dll/BladeMP3EncDLL.c,
+	  mpglib/mpglib.dsp, frontend/lame.dsp:
+
+	Added MMX compile option
+
+2001-04-17 19:22  bouvigne
+
+	* libmp3lame/util.c:
+
+	auto adjusting ath shape for vbr on ath type 4
+
+2001-04-16 21:26  bouvigne
+
+	* libmp3lame/: encoder.c, lame.c, psymodel.c:
+
+	wrapped a few things inside of ifdef HAVE_GTK
+
+2001-04-16 11:50  takehiro
+
+	* libmp3lame/: psymodel.c, util.h:
+
+	spread function is now packed into linear array.
+	it reduces memory assumption and improves cache efficienty.
+
+2001-04-16 08:27  takehiro
+
+	* include/lame.h, libmp3lame/VbrTag.c:
+
+	now try to calculate the CRC of VBR header.
+
+2001-04-16 07:58  takehiro
+
+	* libmp3lame/: bitstream.c, bitstream.h:
+
+	cleaned and improved CRC calculation method
+
+2001-04-13 15:13  aleidinger
+
+	* libmp3lame/set_get.c:
+
+	add some comments about converting int->enum
+
+2001-04-13 15:12  aleidinger
+
+	* frontend/parse.c:
+
+	use some of Marks set-functions, also without error checking (yet)
+
+2001-04-12 17:40  bouvigne
+
+	* libmp3lame/: encoder.c, lame.c:
+
+	[no log message]
+
+2001-04-08 07:52  takehiro
+
+	* libmp3lame/: machine.h, quantize_pvt.c:
+
+	portability enchancement(from sourceforge's LAME open discussion forum).
+
+	quantize_pvt.c: changed 1e99 into FLOAT8_MAX
+	machine.h: defined FLOAT8_MAX
+
+2001-04-04 21:58  bouvigne
+
+	* libmp3lame/lame.c:
+
+	update of the lowpass values for vbr rh
+
+2001-04-04 18:11  bouvigne
+
+	* libmp3lame/psymodel.c:
+
+	update of -d for joint stereo
+
+2001-04-01 03:22  jd-
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/set_get.c, libmp3lame/util.h:
+
+	added an --adapt-thres-level option to allow adding an offset (in dB)
+	to the point below which adaptive ATH level adjustment occurs
+
+2001-04-01 02:11  jd-
+
+	* include/lame.h:
+
+	added set/get functions to include/lame.h for option --adapt-thres-type
+
+2001-03-31 23:44  jd-
+
+	* frontend/parse.c, libmp3lame/set_get.c:
+
+	added set/get functions to libmp3lame/set_get.c for option
+	--adapt-thres-type, and used the set function in frontend
+
+2001-03-30 18:43  markt
+
+	* testcase.mp3, frontend/get_audio.c, test/lametest.py:
+
+	updated testcase.mp3
+	removed some unused code from get_audio.c
+
+2001-03-30 17:16  markt
+
+	* test/lametest.py:
+
+	delete output mp3 file before running lame.
+	(before, if lame crashes and does not write any output, the
+	script would use the old output mp3 file, and if it hadn't changed,
+	all tests would pass.)
+
+2001-03-29 18:31  cisc
+
+	* libmp3lame/: version.c, version.h:
+
+	Moved inclusion of lame.h to version.h for lame_version_t in prototype.
+
+2001-03-27 12:26  jd-
+
+	* libmp3lame/psymodel.c:
+
+	added --adapt-thres-type 2 (auto-level adjustment of the ATH,
+	with a frequency-based loudness approximation).
+
+2001-03-27 12:04  jd-
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/util.h:
+
+	added option, --adapt-thres-type 2 (auto-level adjustment of the ATH
+	with a frequency-based loudness approximation).
+
+2001-03-27 10:56  aleidinger
+
+	* configure:
+
+	regen (do not enable vorbis by default)
+
+2001-03-27 10:56  aleidinger
+
+	* configure.in:
+
+	do not enable vorbis by default
+
+2001-03-26 23:02  markt
+
+	* libmp3lame/set_get.c:
+
+	added code to more of the lame_set/lame_get functions-
+	but without any error checking :-(
+
+	Only 47 more to go!
+
+2001-03-26 20:46  markt
+
+	* TODO, libmp3lame/util.c:
+
+	dont scale the input if scale=1.0.
+
+2001-03-26 18:38  markt
+
+	* TODO:
+
+	updated TODO list with some filtering stuff
+
+2001-03-26 17:42  markt
+
+	* libmp3lame/encoder.c:
+
+	another MPEG2 bug found by: "Jiri Hajek" <jirik@ucw.cz>
+
+	This code:
+
+	> int  sum_pe_MS = pe_MS[0][0] + pe_MS[0][1] + pe_MS[1][0] + pe_MS[1][1];
+	> int  sum_pe_LR = pe   [0][0] + pe   [0][1] + pe   [1][0] + pe   [1][1];
+
+	does not work for MPEG2.  now fixed.
+
+2001-03-26 16:05  aleidinger
+
+	* configure:
+
+	regen (version bump)
+
+2001-03-26 16:04  aleidinger
+
+	* configure.in:
+
+	Welcome to 3.89
+
+2001-03-26 00:38  markt
+
+	* frontend/brhist.c:
+
+	bug in brhist_disp_total()
+
+	for --freeformat bmode, br_frames = 0 (why?)
+	so sum / br_frames would segfault.
+
+	if br_frames == 0 , routine now just returns without printing
+	anything.
+
+2001-03-26 00:12  markt
+
+	* TODO:
+
+	minor editing of TODO file
+
+2001-03-25 23:18  markt
+
+	* libmp3lame/version.h:
+
+	updated version to 3.89 alpha 1
+
+2001-03-25 23:16  markt
+
+	* libmp3lame/version.h:
+
+	updated version to 3.88beta
+
+2001-03-25 23:14  markt
+
+	* API, README, TODO, libmp3lame/lame.c, libmp3lame/libmp3lame.dsp:
+
+	made ath type 2 the default.
+	updated test cases
+	added set_get.c to libmp3lame.dsp
+
+2001-03-25 21:37  shibatch
+
+	* libmp3lame/psymodel.c:
+
+	Fixed nspsytune.
+
+2001-03-25 18:43  afaber
+
+	* Dll/BladeMP3EncDLL.def, Dll/MP3EncDll.dsp,
+	  libmp3lame/bitstream.h, libmp3lame/encoder.h,
+	  libmp3lame/psymodel.c, libmp3lame/tables.h:
+
+	Removed the last remainings of KLEMM_43 in order to complet the Windows DLL compilation
+
+2001-03-20 00:42  markt
+
+	* libmp3lame/util.c:
+
+	added a few more minor comments to resampling code
+
+2001-03-20 00:28  markt
+
+	* libmp3lame/util.c:
+
+	removed some cruft from blackman() filtering routine
+
+2001-03-19 21:26  markt
+
+	* frontend/get_audio.c, libmp3lame/util.c, test/lametest.py:
+
+
+	Tested fixed resampling code.  It seemed to work.
+	Added a few comments.
+
+	Also added documentation for "-w" for the usage function in lametest.py
+
+2001-03-18 14:31  aleidinger
+
+	* libmp3lame/vorbis_interface.c:
+
+	use the new MSGF API in Vorbis
+
+2001-03-18 14:25  aleidinger
+
+	* libmp3lame/vorbis_interface.c, frontend/get_audio.c:
+
+	use the new ERRORF API in Vorbis encoding (+fixes for needed API change to lame_decode_ogg_{initfile,fromfile}())
+
+2001-03-15 19:40  markt
+
+	* libmp3lame/util.c:
+
+	Put in fix for resampling bug in fill_buffer_resample.
+
+	Code assumed it would be fed at least BLACKSIZE samples.
+	For each input buffer, the code would save the last BLACKSIZE
+	samples for use for the next call to fill_buffer_resample.
+
+	If the code recieves less than blacksize samples, it will
+	now shift in just as many new samples as are available into
+	the save buffer.
+
+	Not tested :-(
+
+2001-03-14 14:38  aleidinger
+
+	* Dll/BladeMP3EncDLL.c, dshow/Encoder.cpp, dshow/Mpegac.cpp,
+	  dshow/PropPage_adv.cpp:
+
+	regexp: MPG_MD_(.*) -> $1
+
+2001-03-14 14:38  aleidinger
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.unix:
+
+	add set_get.c to the build
+
+2001-03-14 10:57  aleidinger
+
+	* Makefile.in:
+
+	regen
+
+2001-03-14 10:56  aleidinger
+
+	* Makefile.am:
+
+	do not forget Makfile.am.global at "make dist"
+
+2001-03-14 10:49  aleidinger
+
+	* ChangeLog:
+
+	update
+
+2001-03-14 10:40  aleidinger
+
+	* doc/html/Makefile.in, doc/man/Makefile.in,
+	  libmp3lame/i386/Makefile.in:
+
+	regen with automake 1.4d instead of 1.4
+
+2001-03-13 06:15  markt
+
+	* libmp3lame/util.c:
+
+	added assert() to resampling code
+
+2001-03-12 20:58  markt
+
+	* libmp3lame/psymodel.c:
+
+	a few more comments added to psymodel.c
+
+2001-03-12 20:40  markt
+
+	* libmp3lame/: psymodel.c, tables.c:
+
+	removed ISO TABLE reading code from psymodel.c,
+	and ISO psy data from tables.c
+
+2001-03-12 20:31  markt
+
+	* libmp3lame/psymodel.c:
+
+	removed shortlived MINTHMM experiment
+
+2001-03-12 18:52  markt
+
+	* USAGE, configure:
+
+	updated USAGE.
+	ran configuer with --enable-maintainer-mode which seems to
+	have touched all this .in files, sorry about that...
+
+2001-03-12 07:26  markt
+
+	* API, libmp3lame/vbrquantize.c:
+
+	a few updates to API
+
+2001-03-12 04:38  markt
+
+	* frontend/get_audio.c, include/lame.h, libmp3lame/bitstream.c,
+	  libmp3lame/bitstream.h, libmp3lame/encoder.c,
+	  libmp3lame/encoder.h, libmp3lame/lame.c, libmp3lame/set_get.c:
+
+	fixed a few compiler warnings and the assert in lame_get_mode().
+	added NOT_SET value to MPEG_mode_e
+
+2001-03-11 11:25  aleidinger
+
+	* DEFINES:
+
+	  - remove outdated entries
+	  - add OLD_ATH_AUTO_ADJUST
+
+2001-03-11 11:24  aleidinger
+
+	* Makefile.in:
+
+	- regen from Makefile.am (testupdate target)
+
+2001-03-11 11:24  aleidinger
+
+	* frontend/: depcomp, get_audio.c, gtkanal.c, main.c, mp3x.c,
+	  parse.c, timestatus.c:
+
+	 *.c:
+	  - use set/get functions
+	  *** lame_set_quality(): should it check for <0 and >9 itself? (parse.c)
+
+	 depcomp:
+	  - update (autotools)
+
+2001-03-11 11:23  aleidinger
+
+	* libmp3lame/: depcomp, encoder.c, lame.c, psymodel.c, util.c,
+	  util.h:
+
+	 libmp3lame/encoder.c:
+	  - MPEG_mode (JOINT_STEREO) change (related to set/get functions change)
+	  - J.D.s improvements to Gabriels ath auto adjust code (VBR)
+	  - move ath auto adjust code into seperate function
+
+	 libmp3lame/lame.c:
+	  - errorf/msgf/debugf changes
+	  - MPEG_mode (JOINT_STEREO/...) change (related to set/get functions change)
+	  - remove prototypes of set/get functions
+
+	 libmp3lame/psymodel.c:
+	  - MPEG_mode (JOINT_STEREO/...) change (related to set/get functions change)
+
+	 libmp3lame/util.[ch]:
+	  - new errorf/msgf/debugf implementation
+
+	 libmp3lame/depcomp:
+	  - update (autotools)
+
+2001-03-11 11:22  aleidinger
+
+	* include/lame.h:
+
+	  - set/get functions related cleanup
+	  - errorf/msgf/debugf
+
+2001-03-11 11:21  aleidinger
+
+	* libmp3lame/Makefile.in:
+
+	regen
+
+2001-03-11 11:21  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	- add set_get.c
+
+2001-03-11 11:20  aleidinger
+
+	* libmp3lame/set_get.c:
+
+	- set and get functions for the gfp
+
+2001-03-10 19:15  markt
+
+	* libmp3lame/encoder.c:
+
+	a little more tuning of tot_energy for ATH adjust
+
+2001-03-10 19:06  markt
+
+	* libmp3lame/encoder.c:
+
+	modified ATH adjustment code to use tot_ener returned by psy model
+	and not the maximum of the PCM sample values.
+
+	We need to replace this with JD's formula.   We need to decide
+	if this is really worth while.  My preference is to take the
+	most conservative ATH possible, but this seems to produce too
+	high bitrates for VBR modes. (this may no longer be true
+	not that masings are computed in all scalefactor bands)
+
+2001-03-10 18:33  markt
+
+	* frontend/get_audio.c:
+
+	added 127 also, on recommendation of JD, to 8bit -> 16bit
+	conversion routine
+
+2001-03-10 18:29  markt
+
+	* frontend/get_audio.c:
+
+	fix from "J.D." <jodaman@cegt201.bradley.edu> for
+	8 bit input support.
+
+2001-03-09 17:56  markt
+
+	* test/lametest.py:
+
+	'os.pathsep' changed to 'os.sep'
+
+	For example, on unix:
+
+	os.pathsep = ":"  - the character that seperaters search paths in
+	                    the PATH environment variable
+
+	os.sep = "/"      - the charcter that seperates directories
+
+2001-03-07 12:32  aleidinger
+
+	* test/lametest.py:
+
+	- use OS independent path seperator
+
+2001-03-07 12:31  aleidinger
+
+	* DEFINES:
+
+	- NOTABELS is now the default
+
+2001-03-05 20:29  markt
+
+	* libmp3lame/: lame.c, psymodel.c, quantize_pvt.c:
+
+	code (disabled) to use minimum value when going from partition
+	bands to scalefactor bands (instead of average value)
+
+2001-03-05 18:21  markt
+
+	* testcase.mp3, libmp3lame/psymodel.c, libmp3lame/quantize_pvt.c:
+
+	Noise calculation:  had to switch calculation of tot_noise and
+	over_noise back to being done in db units.  Multiply (to save
+	the 22 log10() function calls) was overflowing.
+
+	updated testcases to reflect changes
+
+2001-03-05 01:44  markt
+
+	* testcase.mp3:
+
+	updated testcase.mp3 for NOTABLES code
+
+2001-03-05 01:26  markt
+
+	* libmp3lame/psymodel.c:
+
+	NOTABLES enabled by default.
+
+	Psycho acoustics computed in *all* scalefactor bands.
+
+	cvs tag before this change:  before_notables
+	cvs tag after this change:   notables
+
+2001-03-05 01:25  markt
+
+	* libmp3lame/psymodel.c:
+
+	The last commit before NOTABLES becomes the default.
+	tagged with "before.notables"
+
+2001-03-04 20:03  markt
+
+	* libmp3lame/: encoder.c, psymodel.c, psymodel.h, util.h:
+
+	More prep work for enabling NOTABLES.
+	Will now compute masking for all scalefactor bands
+
+2001-03-04 15:30  markt
+
+	* testcase.mp3, libmp3lame/psymodel.c, libmp3lame/util.c:
+
+	Finished proper normalization of spreading function.
+
+	updated testcases
+
+2001-03-04 06:56  markt
+
+	* libmp3lame/psymodel.c:
+
+	more tweaking of s3 normalization
+
+2001-03-04 06:48  markt
+
+	* libmp3lame/psymodel.c:
+
+	spreading function moved into seperate routine, s3_func().
+	s3 normalized so that:
+
+	         +inf
+	           /
+	           |  s3 [ bark ]  d(bark)   =  1
+	           /
+	         -inf
+
+	which resulted in dividing the result by 0.66.
+
+	This is the first step in fixing the long outstanding bug
+	mentioned by Takehiro:  s3[i][j] is normalized improperly for
+	values of i near the partition band boundaries.  For these values,
+	the computed 'norm' is much too small since a lot of the data is
+	missing, resulting in artificially increasing the spreading function
+	(and thus the masking)
+
+	--nspsytune: s3_l function is used with a normalization of .5
+	(instead of computing the norm).  So I changed this to a .5*.66
+	to compensate for the above change.
+
+	Next step:
+
+	1.
+	s3[i][j] will be multiplied by the width (in barks) of the
+	j'th partition band (about .35).  Once this is done, we will not need to
+	compute and divide by 'norm' later.
+
+	2.
+	Make NOTABLES the default
+
+	3.
+	compute psymodel all the way up to 22khz.
+
+2001-03-04 05:51  markt
+
+	* API, libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h:
+
+	added prototypes to lame.c  (but functions not yet written)
+
+2001-03-04 05:13  markt
+
+	* include/lame.h:
+
+	finished last of the prototypes
+
+2001-03-04 05:02  markt
+
+	* frontend/get_audio.c:
+
+	changed to:
+
+	        gfp->num_samples = data_length / (channels * ((bits_per_sample+7) / 8));
+
+	thanks J.D.!
+
+2001-03-04 00:20  markt
+
+	* include/lame.h, libmp3lame/lame.c:
+
+	added:
+	lame_encode_buffer_sample_t, which is called by the following functions
+	in the API:
+
+	lame_encode_buffer                 (original, short int interface)
+	lame_encode_buffer_float
+	lame_encode_buffer_long
+
+2001-03-02 22:39  markt
+
+	* frontend/get_audio.c, test/lametest.py:
+
+	get_audio.c: fixed num_samples computation for case when
+	bits_per_sample < 8.  (althouth this case is already trapped for
+	earlier)
+
+	lametest.py:  slight change to reference mp3 filename generation
+	so lametest.py can be run from another directory.
+
+2001-03-02 18:28  markt
+
+	* Makefile.am, testcase.mp3, doc/html/Makefile.in,
+	  doc/man/Makefile.in, frontend/get_audio.c,
+	  libmp3lame/i386/Makefile.in:
+
+	error message about non-PCM wave files from
+	"J.D." <jodaman@cegt201.bradley.edu>
+
+	Added "make testupdate" to Makefile.am, which updates
+	the test file in the CVS repository
+
+2001-02-27 11:54  robert
+
+	* include/lame.h, libmp3lame/lame.c:
+
+	lame.h  typo
+	lame.c  fix for possibility of calling lame_init_parms twice
+
+2001-02-27 11:39  aleidinger
+
+	* DEFINES:
+
+	remove KLEMM_42
+
+2001-02-27 11:38  aleidinger
+
+	* configure, Makefile.in, frontend/Makefile.in, misc/Makefile.in:
+
+	regen
+
+2001-02-27 11:37  aleidinger
+
+	* frontend/Makefile.am, misc/Makefile.am:
+
+	remove EXTRA_PROGRAMS on make clean
+
+2001-02-27 11:36  aleidinger
+
+	* Makefile.am:
+
+	remove testcase.new.mp3 on error
+
+2001-02-27 11:36  aleidinger
+
+	* configure.in:
+
+	display version of gcc
+
+2001-02-27 11:35  aleidinger
+
+	* include/lame.h:
+
+	fix typo in comment
+
+2001-02-27 11:33  aleidinger
+
+	* libmp3lame/util.c:
+
+	include machine/floatingpoint.h on FreeBSD
+
+2001-02-27 09:59  robert
+
+	* libmp3lame/: VbrTag.c, bitstream.c, lame.c, quantize_pvt.h,
+	  takehiro.c, util.c, util.h:
+
+	VbrTag.c   fixed gfp/gfc typo
+	lame.c     made data flow analysis happier: there was a possible path to use channels before definition. Even though it would be an error following this path, but the compiler doesn't know it
+	util.hc    message functions are not intended to change gfc?!?
+	takehiro.c fixed a warning
+	bitstream.c fixed a warning
+
+2001-02-27 06:14  markt
+
+	* frontend/gtkanal.c, include/lame.h, libmp3lame/VbrTag.c,
+	  libmp3lame/bitstream.c, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/takehiro.c, libmp3lame/util.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c:
+
+
+	Implmented Frank's excellent idea about error messages:
+
+	gfc->errorf, gfc->msgf and gfc->debugf are all FILE *.
+	default is stderr.  If you want to disable all internal library
+	messages, set these to NULL with lame_set_errorf(), lame_set_msgf() etc...
+
+	For a GUI, you can set these to regular files, and then read
+	the files and display the messages in an pop up window.
+
+	Maybe the default should be NULL?
+
+2001-02-27 05:17  markt
+
+	* include/lame.h:
+
+	plugging away at a few more prototypes
+
+2001-02-26 22:45  robert
+
+	* frontend/parse.c, libmp3lame/util.c:
+
+	little change to Roel's --r3mix setting, on request by Roel
+
+2001-02-26 19:08  markt
+
+	* libmp3lame/VbrTag.c:
+
+	non RH_SEEKTABLE code removed from VbrTag.c
+
+2001-02-26 18:57  markt
+
+	* frontend/lametime.c:
+
+	removed to //include lines
+
+2001-02-26 18:52  markt
+
+	* frontend/: get_audio.c, lametime.c:
+
+
+	incomprehensible gobbledygook replaced by call to standard
+	'stat' function for file size.
+
+2001-02-26 08:06  markt
+
+	* include/lame.h:
+
+	more prototypes added to lame.h
+
+2001-02-26 07:38  markt
+
+	* USAGE, frontend/parse.c, libmp3lame/lame.c:
+
+	useTemporal turned on by default
+	--notemp option added.
+
+2001-02-26 07:26  markt
+
+	* include/lame.h:
+
+	added more of the lame_get/lame_set prototypes to lame.h
+
+	also added this:
+
+	// I give up. Klemm has worn me down on this one...
+	typedef lame_global_flags lame_t;
+
+2001-02-26 06:34  markt
+
+	* misc/Lame.vbs:
+
+	lame.vbs changes submitted by "Paul Reedy" <ka5pmv@webzone.net>
+
+2001-02-25 22:47  markt
+
+	* libmp3lame/vorbis_interface.c:
+
+	removed a klemm_42 from vorbis_interface.c
+
+2001-02-25 22:47  markt
+
+	* INSTALL, libmp3lame/lame.c, libmp3lame/vorbis_interface.c:
+
+	klemm_42 enabled by default.
+
+	This code uses a different formula to choose the lowpass
+	filter.  It takes into account stereo vs. jstereo
+	(jstereo gets 25% more bandwidth).  This has the effect
+	of stereo 128kbps using a 14khz lowpass filter, which some
+	people may not like.
+
+2001-02-25 22:02  markt
+
+	* libmp3lame/lame.c, test/CBRABR.op:
+
+	made allow_diff_short the default if mode=stereo and
+	allow_diff_short has not been set to 0 or 1 by the calling
+	program.
+
+	addes these notes to lame_init_params() :
+	 *
+	 * We first have some complex code to determine bitrate,
+	 * output samplerate and mode.  It is complicated by the fact
+	 * that we allow the user to set some or all of these parameters,
+	 * and need to determine best possible values for the rest of them:
+	 *
+	 *   set some CPU related flags
+	 *   check if we are mono->mono, stereo->mono or stereo->stereo
+	 *   compute bitrate and output samplerate:
+	 *          user may have set compression ratio
+	 *          user may have set a bitrate
+	 *          user may have set a output samplerate
+	 *   set some options which depend on output samplerate
+	 *   compute the actual compression ratio
+	 *   set mode based on compression ratio
+	 *
+	 *  The remaining code is much simpler - it just sets options
+	 *  based on the mode & compression ratio:
+	 *
+	 *   set allow_diff_short based on mode
+	 *   select lowpass filter based on compression ratio & mode
+	 *   set the bitrate index, and min/max bitrates for VBR modes
+	 *   disable VBR tag if it is not appropriate
+	 *   initialize the bitstream
+	 *   initialize scalefac_band data
+	 *   set sideinfo_len (based on channels, CRC, out_samplerate)
+	 *   write an id3v2 tag into the bitstream
+	 *   write VBR tag into the bitstream
+	 *   set mpeg1/2 flag
+	 *   estimate the number of frames (based on a lot of data)
+	 *
+	 *   now we set more flags:
+	 *   nspsytune:
+	 *      see code
+	 *   VBR modes
+	 *      see code
+	 *   CBR/ABR
+	 *      see code
+
+2001-02-25 21:28  markt
+
+	* frontend/parse.c:
+
+	removed VBR warning
+
+2001-02-25 20:24  markt
+
+	* libmp3lame/psymodel.c:
+
+	edited a few comments in psymodel.c
+
+2001-02-25 20:17  markt
+
+	* libmp3lame/encoder.c, libmp3lame/psymodel.c,
+	  libmp3lame/psymodel.h, libmp3lame/util.h, test/nores.op:
+
+	Started some re-originization of psymodel.c
+	created:
+
+	psymodel_init() function, called by both psymodel and psymodel_ns.
+
+	I was carefull to make sure no binary changes were introduced
+	with --nspsytune.
+
+	Modified both psymodel and psymodel_ns to return the
+	energy in each channel.  I'm going to request that the
+	ATH level adjust be based on the energy comptuted by the
+	psymodel, rather than computing a magnitude in encoder.c
+
+2001-02-25 17:37  markt
+
+	* Dll/BladeMP3EncDLL.c, frontend/parse.c, include/lame.h,
+	  libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h:
+
+	removed mode_fixed variable.  If calling program selects a mode
+	(mono, stereo, jstereo) then that mode is used, otherwise
+	lame picks best mode to use.
+
+2001-02-25 01:58  markt
+
+	* include/lame.h:
+
+	started adding more prototypes into lame.h:
+
+	int lame_set_variable_name(lame_global_flags *, int)
+	int lame_get_variable_name(lame_global_flags *)
+
+	_get will return the value (instead of an error code)
+	as suggested.
+
+	_set will return an error code.  But right now, the way lame
+	works there is no error checking until lame_init_params() is
+	called.  This is because, for example, bitrate=135
+	is not an error if free_format=1, but it is an error
+	for CBR.  So many errors cannot be detected until all options
+	are set.
+
+2001-02-24 19:35  markt
+
+	* include/lame.h, libmp3lame/util.h:
+
+	commented out a uint_64_t field in util.h to get lame to
+	compile.  Do we really need these types of variables?
+
+	removed some stuff from lame.h.  Note that many decisions have
+	already been made about the library interface, so if you are
+	planning on changing this, you need to check with me
+	(mark taylor) first.  In particular,
+	there is going to be no file I/O, and all data is in
+	machine order. (no endian stuff in the library).
+
+2001-02-24 13:55  robert
+
+	* Makefile.unix, configMS.h:
+
+	get Makefile.unix working again (tested for Linux, not for OS/2 etc.)
+
+2001-02-21 21:17  robert
+
+	* libmp3lame/lame.c:
+
+	--vbr-mtrh related
+
+2001-02-21 17:07  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	take sfb21 into consideration for median search
+
+2001-02-21 17:06  robert
+
+	* libmp3lame/util.c:
+
+	index transformation in select_kth_int()
+
+2001-02-21 14:59  aleidinger
+
+	* test/lametest.py:
+
+	do not print the passed/failed statistic in the makeref case
+
+2001-02-21 13:49  robert
+
+	* frontend/parse.c, libmp3lame/lame.c:
+
+	default quality handling fix
+
+2001-02-21 12:39  aleidinger
+
+	* Dll/BladeMP3EncDLL.c:
+
+	lame.h has to be included before version.h
+
+2001-02-20 18:34  aleidinger
+
+	* Makefile.in, config.h.in, configure, configure.in,
+	  frontend/brhist.c:
+
+	 - Patch (#103821) from guy_hutchison:
+	    Fixes compilation problem on systems with ncurses dir
+	 - add ChangeLog to Makefile.in
+
+2001-02-20 18:23  aleidinger
+
+	* libmp3lame/: encoder.h, version.h:
+
+	[no log message]
+
+2001-02-20 18:20  aleidinger
+
+	* doc/html/: Makefile.am, Makefile.in:
+
+	  - add basic.html
+
+2001-02-20 18:20  aleidinger
+
+	* configMS.h:
+
+	  - add LAME_LIBRARY_BUILD
+
+2001-02-20 18:20  aleidinger
+
+	* libmp3lame/util.h:
+
+	  - more documentation, seems to be partially truncated  (Frank)
+	  - CPU_features is now a struct
+
+2001-02-20 18:19  aleidinger
+
+	* libmp3lame/takehiro.c:
+
+	  - CPU_features is now a struct
+
+2001-02-20 18:19  aleidinger
+
+	* libmp3lame/lame.c:
+
+	  - CPU_features is now a struct, no need to waste space for those
+	    bolean values (Frank)
+	  - introduce some KLEMM_44 protected code
+
+2001-02-20 18:18  aleidinger
+
+	* libmp3lame/util.c:
+
+	  - fixes + docu for ATHformula_Frank()       (Frank)
+	  - don't compile old resampling in KLEMM_44 case
+
+2001-02-20 18:17  aleidinger
+
+	* libmp3lame/version.c:
+
+	  - doxygen parseable documentation
+	  - better lclint flags
+	  - enable get_lame_version_numerical()
+
+2001-02-20 18:17  aleidinger
+
+	* include/lame.h:
+
+	  - delete prototype of already removed get_lame_about()
+	  - add get_lame_version_numerical() and lame_version_t
+	    (now dshow didn't needs to include version.h to get the numerical
+	     version of lame (dshow not changed, I let pgubanov do this))
+	  - introduce some KLEMM_44 protected code  (Frank)
+	  - rework formatting and documentation to be more (IMO much more) readable
+	    (no lines longer than 80 chars, consistent formatting, looks alot cleaner)
+
+2001-02-20 10:41  aleidinger
+
+	* DEFINES:
+
+	Remove KLEMM_04, there was a previous commit which handled it, see
+	ChangeLog.
+
+2001-02-20 01:56  markt
+
+	* DEFINES, frontend/brhist.c, frontend/get_audio.c,
+	  frontend/timestatus.c:
+
+	KLEMM 5,6,7 made the default & removed
+
+2001-02-20 00:40  markt
+
+	* libmp3lame/lame.c:
+
+	simplified lame_encoder_buffer_interleaved: it now always calls
+	lame_encoder_buffer()
+
+2001-02-20 00:30  markt
+
+	* libmp3lame/: encoder.c, lame.c, util.c, util.h:
+
+	fix for --scale problem?
+
+	made a new routine:  fill_buffer()
+
+	This is the generic routine used to copy data from the input buffer
+	into lame's internal buffer, 'mfbuf[]'.
+
+	It also calls the resample code if necessary, and the user selected
+	rescaling code if necessary.
+
+2001-02-20 00:26  markt
+
+	* frontend/parse.c:
+
+	added comment to vbr warning message
+
+2001-02-20 00:24  markt
+
+	* frontend/parse.c:
+
+	re-added the warning about VBR modes. It seems to have been deleted
+	at some point.
+
+	This is because this website:
+
+	http://www.kuro5hin.org/?op=displaystory;sid=2001/1/25/164540/759
+
+	is comparing Vorbis with lame -V4.
+
+	While many people like the high bitrate VBR modes,
+	lame -V4 is *often* of lower quality than CBR.
+
+2001-02-19 18:29  aleidinger
+
+	* test/VBR.op:
+
+	 - remove "--silent", lametest.py now handles this
+
+	 Aproved by: robert
+
+2001-02-19 18:28  aleidinger
+
+	* test/lametest.py:
+
+	 - allow relative paths in a more portable manner
+	 - should be more OS independand now
+	 - more file checks (readable/executable)
+	 - internally adds new option "--quiet" to the options
+
+	 This works on my system, it also should work on systems where the
+	 previous version worked. It's not as portable as it could be,
+	 search for XXX in the source.
+
+2001-02-18 21:18  robert
+
+	* frontend/main.c, frontend/parse.c, libmp3lame/lame.c,
+	  libmp3lame/version.h, test/VBR.op:
+
+	new options --silent and --quiet to be really quiet
+	new option --verbose (default) to turn -S/--silent off again
+	--vbr-mtrh and --vbr-new use now ATH type 2
+	for VBR modes it is allowed to use different block types in stereo mode (not yet joint stereo)
+	bumped version to 3.88 alpha 10
+
+2001-02-18 12:11  aleidinger
+
+	* dshow/: Makefile.am, Makefile.in:
+
+	Add recently added files to the makefile.
+
+2001-02-17 15:45  pgubanov
+
+	* dshow/Encoder.cpp:
+
+	gfp is sometimes zero in CEncoder::Encode() - why???
+
+2001-02-17 14:30  aleidinger
+
+	* libmp3lame/: pcm.c, pcm.h:
+
+	New code from Frank, some needed parts in different files aren't commited
+	yet, they produce huge differences with lametest.py even if KLEMM_44 isn't
+	defined. -> KLEMM_44 (new API + resampling) isn't usable yet
+
+2001-02-17 14:27  aleidinger
+
+	* test/lametest.py:
+
+	 - use "/usr/bin/env python" instead of "/usr/bin/python" in shebang line
+	   (portability)
+	 - use "-l" instead of "--lines" for wc
+	   (portability, has to run on every IEEE 1003.2 ("POSIX.2") compliant
+	   system)
+	 - bugfix, check for lame2 instead for lame1 in the lame2 part
+	   (Note: the entire test didn't work for me if I use e.g.
+	    ./lametest.py XXX.op ../../testcases/XXX ../../build.org/frontend/lame ...)
+
+2001-02-17 14:17  pgubanov
+
+	* dshow/: aboutprp.cpp, aboutprp.h:
+
+	Elecard copyrigth added (executives need it for some reason)
+
+2001-02-17 13:58  pgubanov
+
+	* dshow/: Mpegac.cpp, Property.rc, UIDS.H, dshow.dsp, dshow.dsw,
+	  elogo.ico, resource.h:
+
+	Some stability improvements + Elecard copyrigth added (executives need it for some reason)
+
+2001-02-16 17:23  markt
+
+	* doc/html/basic.html:
+
+	added basic.html to cvs
+
+2001-02-16 10:35  pgubanov
+
+	* dshow/dshow.dsp:
+
+	STDC_HEADERS defined in project settings
+
+2001-02-16 10:33  pgubanov
+
+	* libmp3lame/lame.c:
+
+	mono handling in encode_buffer_interleaved caused access violation - fixed
+
+2001-02-14 22:22  aleidinger
+
+	* ChangeLog:
+
+	Now we have a ChangeLog, generated from the output of "cvs log"
+
+2001-02-14 22:21  aleidinger
+
+	* ChangeLog.header:
+
+	Header for the ChangeLog, not included at "make dist"
+
+2001-02-14 22:20  aleidinger
+
+	* TODO:
+
+	remove Makefile.MSVC, robert seems to keep it up to date
+
+2001-02-14 22:20  aleidinger
+
+	* Makefile.B32:
+
+	try to unbreak it, add configMS.h -> config.h (untested)
+
+2001-02-14 22:20  aleidinger
+
+	* DEFINES:
+
+	add USE_FFT3DN
+
+2001-02-14 22:19  aleidinger
+
+	* INSTALL:
+
+	   * add some more info how to use some advanced features of our
+	     configure script
+	   * add some info for Cygwin users (use configure)
+	   * add some info about faster code with nasm
+
+2001-02-14 20:50  robert
+
+	* frontend/parse.c:
+
+	added -V1 to Roel's --remix preset, I assume it was missing by accident
+
+2001-02-14 16:38  aleidinger
+
+	* Makefile.am.global, Makefile.in, aclocal.m4, configure,
+	  configure.in, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in:
+
+	use new automake 1.4d (bugfixes)
+
+2001-02-14 14:43  robert
+
+	* libmp3lame/: encoder.c, util.h:
+
+	tuning of the auto ath adjustment for --vbr-mtrh mode
+
+2001-02-14 14:24  robert
+
+	* libmp3lame/util.c:
+
+	patch by Roel:
+	tweaking his ATH modification (--athtype 3)
+
+2001-02-13 18:27  markt
+
+	* frontend/parse.c:
+
+	fixed typo in parse.c
+
+2001-02-13 18:24  markt
+
+	* libmp3lame/psymodel.c:
+
+	added a lot of documentation on the psycho acoustics
+	to the top of psymodel.c
+
+2001-02-13 18:22  markt
+
+	* mpglib/: common.c, common.h, interface.c:
+
+	improved head_check() function:  When resyncing data stream,
+	only look for headers of the same layer of the previous
+	frames.  i.e. dont allow layer 2 and layer 3 frames in the
+	same stream.
+
+2001-02-13 18:21  markt
+
+	* frontend/: get_audio.c, parse.c:
+
+	added the --r3mix option
+	fixed bug with --decoder-mp3delay option
+	added error message for non-8 and 16 bit input
+
+2001-02-13 16:58  robert
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/util.c, libmp3lame/util.h:
+
+	first of all: this patch shows no difference in the CBR/ABR test
+
+	- made athtype 3 default for VBR modes, 1 still default for CBR/ABR modes
+	- made athadjust default for VBR modes, CBR/ABR modes don't need it
+	- removed --athadjust switch, was only temporally solution
+	- collected all spreaded ATH settings into ATH_t struct
+	  if someone needs a new ATH related variable, please add it here
+
+2001-02-12 18:24  markt
+
+	* doc/html/: contributors.html, history.html, index.html,
+	  node6.html, switchs.html:
+
+	new html docs from Gabriel
+
+2001-02-12 17:47  markt
+
+	* test/lametest.py:
+
+	print total pass/fail message at end
+
+2001-02-09 16:47  robert
+
+	* libmp3lame/quantize_pvt.c:
+
+	patch by Gaby:
+	allow ATH adjust for the ATH only modes too
+
+2001-02-08 22:19  robert
+
+	* test/VBR.op:
+
+	update to the VBR python options file
+
+2001-02-07 15:51  robert
+
+	* libmp3lame/: encoder.c, vbrquantize.c:
+
+	all patches --vbr-mtrh related
+
+	encoder.c:
+	- made a variant of Gaby's auto ATH adjust the default
+
+	vbrquantize.c:
+	- some small code moves
+	- added some safety margin to the global gain
+
+2001-02-06 21:43  robert
+
+	* libmp3lame/: psymodel.c, vbrquantize.c:
+
+	we should not try to hard to get high freqs thru'
+	so I will let --vbr-mtrh as is. It seems to give
+	reasonable file sizes again, even with Frank's ATH.
+
+2001-02-05 10:18  robert
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/quantize_pvt.c:
+
+	re-check-in of Gaby's ATH auto adjustment code.
+	You need to specify --athadjust to get this
+	SUBSTANTIALLY QUALITY IMPROVEMENT
+
+	quote:
+	 "Also, we already have gfc->ath_lower (specified in db).
+	 No reason to add another variable which does the same thing,
+	 and does not even use the same units."
+
+	That is not true, there is actually no gfc->ath_lower in dB.
+	We have a gfp->ATHlower in dB. But this is of a totally
+	different meaning.
+	  gfp->ATHlower will lower the ATH for the whole file by a fixed
+	  amount of x dB.
+	  gfc->ath_auto_adjust will lower the ATH on a frame by frame basis
+	  depending on the peak volume.
+
+2001-02-05 04:58  markt
+
+	* frontend/parse.c:
+
+	Added warning about using VBR modes.
+	This is because this website:
+
+	http://www.kuro5hin.org/?op=displaystory;sid=2001/1/25/164540/759
+
+	is comparing Vorbis with lame -V4.
+
+	While many people like the high bitrate VBR modes,
+	lame -V4 is *often* of lower quality than CBR.
+
+2001-02-05 02:36  shibatch
+
+	* libmp3lame/psymodel.c:
+
+	Reverted part of last tweaks of nspsytune.
+
+2001-02-05 02:27  markt
+
+	* HACKING:
+
+	updated HACKING with directions on how to run the
+	lametest.py python script
+
+2001-02-05 02:24  markt
+
+	* test/: CBRABR.op, VBR.op, lametest.py, nores.op:
+
+	Adding a python script used for testing, along with
+	some sample options files.
+
+2001-02-05 02:23  markt
+
+	* HACKING, libmp3lame/encoder.c, libmp3lame/quantize_pvt.c:
+
+	reverted encoder.c and quantize_pvt.c back to 13:00 3 Feb 2001.
+	These modifications broke my test cases.  Any such changes need
+	aproval first.
+
+	Also, we already have gfc->ath_lower (specified in db).
+	No reason to add another variable which does the same thing,
+	and does not even use the same units.
+
+2001-02-05 00:34  cisc
+
+	* frontend/amiga_mpega.c:
+
+	MPG_MD_LR_LR define was moved, set mode_ext to 0 instead (since we don't get that info anyway).
+
+2001-02-04 23:56  robert
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/vbrquantize.c:
+
+	parse.c: small change in default behaviour for --vbr-mtrh
+	lame.c: it makes no sense for a sfb21 extra at sample frequencies below 44.1 kHz
+	vbrquantize.c: oops, last commit was a merger from a wrong branch of mine
+
+2001-02-04 23:28  shibatch
+
+	* libmp3lame/quantize_pvt.c:
+
+	Enabled auto-adjust ATH for nspsytune.
+
+2001-02-04 23:14  shibatch
+
+	* libmp3lame/psymodel.c:
+
+	Tweaked nspsytune.
+
+2001-02-03 23:20  robert
+
+	* libmp3lame/: quantize_pvt.c, version.h:
+
+	bumped version to alpha 9
+	some clean-up
+
+2001-02-03 20:10  robert
+
+	* libmp3lame/: encoder.c, quantize_pvt.c, util.c, util.h,
+	  vbrquantize.c:
+
+	patch by Gabriel Bouvigne:
+		auto adjust of ATH for low volume tracks
+	        a big improvement in quality!
+		therefore on by default
+
+	patch by Robert Hegemann:
+		further improvement of --vbr-mtrh mode
+
+2001-02-02 01:04  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c:
+
+	--vbr-mtrh tweaks
+
+2001-01-31 19:44  aleidinger
+
+	* configure, configure.in:
+
+	bugfix
+
+2001-01-31 15:34  robert
+
+	* libmp3lame/quantize.c:
+
+	fix a typo I introduced by my last commit
+
+2001-01-31 12:53  aleidinger
+
+	* Makefile.am.global, Makefile.in, acconfig.h, acinclude.m4,
+	  aclocal.m4, config.h.in, configMS.h, configure, configure.in,
+	  depcomp, Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in,
+	  frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in:
+
+	- config*/Makefile*/ac*:
+	   * tests for *int*_t
+	   * test for 80 bit floats (for speed optimizations)
+	   * add pcm.* to the makefile
+	   * removed resample.[ch] from the makefile
+	   * depend upon automake 1.4b
+	   * fix in check for ccc
+	     (submitted by nold via the sourceforge patch page at
+	     the lame project page, patch id #103507)
+	   * something I may have forgotten
+
+	  Note:
+	  Please don't commit any Makefile.in if you didn't have
+	  changed the corresponding Makefile.am. CVS didn't stores
+	  the time stamps of the files at commit time, it stores
+	  the time stamps of the commit time, so we have to commit
+	  the files in the correct order, but I'm to lazy to do so
+	  and I assume I'm not the only one.
+	  The same applies to config*.
+
+	- depcomp:
+	  missing file, the dependancy tracking should work again
+
+2001-01-30 20:53  robert
+
+	* libmp3lame/quantize.c:
+
+	fixed a design flaw in VBR_iteration_loop() I'm responsible for.
+	affects quality!
+
+2001-01-30 20:52  robert
+
+	* libmp3lame/: lame.c, quantize_pvt.c, vbrquantize.c:
+
+	tuning of --vbr-mtrh mode
+
+2001-01-30 20:51  robert
+
+	* frontend/parse.c, include/lame.h:
+
+	patch by Gaby:
+	changed --athlower to accept floats
+
+2001-01-30 11:02  robert
+
+	* libmp3lame/: psymodel.c, util.c:
+
+	psymodel.c: fixing compile problem (was: M_LN10 undefined)
+	util.c: Roel's modification to Gaby's ATH, new: --athtype 3
+
+2001-01-29 14:46  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	--vbr-mtrh and --vbr-new use now the faster and sloppier
+	scalefactor-band noise calculation with quality settings
+	-q 3...9
+
+2001-01-28 12:51  takehiro
+
+	* libmp3lame/: quantize.h, util.h:
+
+	oops, compile problem fix
+
+2001-01-28 12:39  takehiro
+
+	* libmp3lame/: quantize.c, quantize.h, quantize_pvt.c,
+	  vbrquantize.c:
+
+	magic number 4095 and 4096 is removed
+
+2001-01-27 18:00  takehiro
+
+	* libmp3lame/psymodel.c:
+
+	make temporal masking effect strong.
+
+2001-01-27 17:52  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	debug message is removed :)
+
+2001-01-27 17:39  takehiro
+
+	* frontend/parse.c, include/lame.h, libmp3lame/psymodel.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/util.h:
+
+	experimental temporal masking support.
+	"--temporal" option to use this.
+
+2001-01-26 22:47  robert
+
+	* frontend/parse.c, libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/vbrquantize.c:
+
+	tuning of --vbr-mtrh VBR mode
+
+2001-01-25 20:57  robert
+
+	* misc/abx.c:
+
+	update by Frank:
+	some further endings and audio formats
+
+2001-01-24 23:59  robert
+
+	* libmp3lame/quantize_pvt.c:
+
+	found and fixed another BUG caused by the "bit optimization." patch
+
+2001-01-24 23:02  robert
+
+	* libmp3lame/: pcm.c, pcm.h:
+
+	updates by Frank
+
+2001-01-24 22:33  robert
+
+	* Makefile.DJGPP, Makefile.unix:
+
+	small config.h related tunings
+
+2001-01-24 21:33  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	quick-fix for code that was broken by Takehiro's last
+	"bit optimization." in function calc_xmin(), quantize_pvt.c
+
+2001-01-23 12:50  takehiro
+
+	* libmp3lame/quantize_pvt.c:
+
+	bit optimization.
+
+2001-01-23 07:12  shibatch
+
+	* libmp3lame/quantize.c:
+
+	Bugfix of nspsytune.
+
+2001-01-22 23:00  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	VBR was always enabled, even when the client did not ask for it
+
+2001-01-22 19:54  aleidinger
+
+	* libmp3lame/vorbis_interface.c:
+
+	remove trailing garbage
+
+2001-01-22 09:31  shibatch
+
+	* libmp3lame/: psymodel.c, quantize.c:
+
+	Tweaked nspsytune.
+
+2001-01-22 04:35  markt
+
+	* Makefile.in, configure, Dll/Makefile.in, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, frontend/parse.c,
+	  include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/psymodel.c, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in:
+
+	fixed bug preventing -m a mode from working.
+
+	ran autoconf which changed all the Makefile.in's
+
+2001-01-22 01:07  robert
+
+	* libmp3lame/: pcm.c, pcm.h, vorbis_interface.c:
+
+	patches by Frank:
+
+	vorbis_interface: was/is broken since a long time
+	pcm.[ch]: fixing some transfer errors (email)
+
+2001-01-21 21:14  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Fixed problems with writing the Xing MP3 header (gfc->internal_flags structure was already freed, while it was needed to write the Xing MP3 tag)
+
+2001-01-21 19:13  robert
+
+	* libmp3lame/: pcm.c, pcm.h:
+
+	patches by Frank:
+
+	scalar.nas - new SIMD assembler routines
+	resample.[ch] - removed
+	pcm.[ch] - new, containing resampling routines and more
+	version.c - some clean up
+
+2001-01-21 19:06  robert
+
+	* libmp3lame/: i386/scalar.nas, resample.c, resample.h, version.c:
+
+	patches by Frank:
+
+	scalar.nas - new SIMD assembler routines
+	resample.[ch] - removed
+	pcm.[ch] - new, containing resampling routines and more
+	version.c - some clean up
+
+2001-01-21 19:03  robert
+
+	* frontend/lametime.c:
+
+	it's always a good idea to include its own header file
+
+2001-01-20 09:51  robert
+
+	* libmp3lame/util.c:
+
+	patch by Gaby:
+
+	I changed a file from the 19/01 cvs (I added an ath balanced between the
+	original one and Frank's one on the option --athtype 2)
+
+2001-01-19 09:08  shibatch
+
+	* libmp3lame/: encoder.c, psymodel.c, quantize_pvt.c:
+
+	Improved reservoir handling(nspsytune).
+
+2001-01-18 22:18  robert
+
+	* libmp3lame/quantize_pvt.c:
+
+	allow "--athlower n" to modify the ATH for sfb21
+
+2001-01-18 13:04  aleidinger
+
+	* Makefile.DJGPP:
+
+	add config.h to the clean target
+
+2001-01-18 13:03  aleidinger
+
+	* Makefile.DJGPP:
+
+	bugfix (please report if it's broken, I can't test the config.h target)
+
+2001-01-17 21:32  robert
+
+	* Makefile.unix:
+
+	additional fixes
+
+2001-01-17 20:35  robert
+
+	* libmp3lame/: VbrTag.c, util.c, util.h:
+
+	RH_SEEK_TABLE enables a different method of generating TOC entries
+	in Xing VBR header. now enabled!
+
+	PLEASE TEST TRY IT
+
+	It should fix the problem poeple reported who encode radio shows or
+	alike which last a few hours.
+	Another advantage is, it will not steadily  increase LAME's memory footprint
+	while running.
+
+2001-01-17 16:05  shibatch
+
+	* libmp3lame/psymodel.c:
+
+	Reverted the final change.
+	It degraded encoded quality of gspi*.wav.
+
+2001-01-17 13:26  shibatch
+
+	* libmp3lame/psymodel.c:
+
+	Tweaked nspsytune.
+
+2001-01-17 09:55  robert
+
+	* Makefile.unix:
+
+	try to fix the broken Makefile after latest configurification
+
+2001-01-17 09:54  robert
+
+	* libmp3lame/newmdct.c:
+
+	+ replaced M_SQRT2 by SQRT2 which is defined in util.h
+	+ replaced "=-" by "= -" to avoid confusion with the
+	  old K&R "=-" operator, an equivalent to "-=". Even
+	  though new compilers seem to handle it as an
+	  assignement and unary minus sequence, but some
+	  buggy compiler could be trapped here (as I).
+
+2001-01-16 13:08  robert
+
+	* configMS.h:
+
+	turned some defines for system include files on
+
+2001-01-16 09:04  robert
+
+	* Makefile.MSVC:
+
+	fixed typo, sorry
+
+2001-01-15 15:16  aleidinger
+
+	* Makefile.am, Makefile.am.global, Makefile.in, config.h.in,
+	  configMS.h, configure, configure.in, Dll/Makefile.am,
+	  Dll/Makefile.in, debian/Makefile.am, debian/Makefile.in,
+	  doc/Makefile.am, doc/Makefile.in, dshow/Makefile.am,
+	  dshow/Makefile.in, frontend/Makefile.am, frontend/Makefile.in,
+	  frontend/brhist.c, frontend/console.c, frontend/get_audio.c,
+	  frontend/gpkplotting.c, frontend/main.c, frontend/mp3rtp.c,
+	  frontend/parse.c, frontend/rtp.c, include/Makefile.am,
+	  include/Makefile.in, libmp3lame/Makefile.am,
+	  libmp3lame/Makefile.in, libmp3lame/id3tag.c,
+	  libmp3lame/machine.h, misc/Makefile.am, misc/Makefile.in,
+	  mpglib/Makefile.am, mpglib/Makefile.in, mpglib/common.c,
+	  mpglib/decode_i386.c, mpglib/mpg123.h:
+
+	automake/autoconf cleanup and enhancement
+
+2001-01-15 14:19  shibatch
+
+	* libmp3lame/: encoder.c, psymodel.c, util.h:
+
+	More cleanups and bugfixes of --nspsytune.
+
+2001-01-15 09:38  aleidinger
+
+	* doc/html/Makefile.am:
+
+	remove node[57].html
+
+2001-01-15 09:14  gramps
+
+	* USAGE:
+
+	Raised track limit from 99 to 255 per user requests.
+
+2001-01-15 09:10  robert
+
+	* Makefile.B32, Makefile.MSVC, Makefile.unix:
+
+	more RH_AMP clean up
+
+2001-01-15 08:58  gramps
+
+	* frontend/parse.c, doc/html/id3.html:
+
+	Raised track limit from 99 to 255 per user requests.
+
+2001-01-15 08:48  gramps
+
+	* libmp3lame/id3tag.c:
+
+	- Simplified prologue of all public functions, removing intermediate "spec"
+	  variable, and assuming (like the rest of LAME) that gfp is never null.
+	- Fixed a stupid sizeof bug (mine) in "id3tag_init".
+	- Raised track limit from 99 to 255 per user requests.
+	- No longer write full text of genre in version 2 tag.  Now write more
+	  cannonical "(num)" format where "num" is the text version of the genre
+	  number, more closely following the updated ID3v2.3 spec and usage in id3lib.
+	  This also makes the tag smaller.
+	- Now use id3lib-compatible bogus language descriptor "XXX" in version 2
+	  comment frames instead of just null bytes.
+	- Changed order of frames written in version 2 tag to match version 1 tag.
+	- Restored some of Frank's optimizations.
+	- Fixed LAME URL.
+	- Reworded some comments and fixed misspellings.
+	- Moved "local_strcasecmp" back into its original position.
+	- Some small reformatting to match original file.
+
+2001-01-14 23:29  gramps
+
+	* USAGE:
+
+	- Changed "highest" to "higher" to describe recommended quality setting in
+	  constant bit rate example.
+
+	- Changed "CBR" to "VBR" to correct misspelling in variable bit rate
+	  description.
+
+2001-01-14 22:40  gramps
+
+	* doc/html/Makefile.in:
+
+	Removed dependency on obsolete node5.html and node7.html.
+
+2001-01-14 22:35  markt
+
+	* USAGE, frontend/parse.c:
+
+	documentation of -q parameter in USAGE and lame --longhelp
+
+2001-01-14 22:13  markt
+
+	* doc/html/: node5.html, node7.html:
+
+	removed as per Gaby
+
+2001-01-14 22:12  markt
+
+	* libmp3lame/: lame.c, quantize.c:
+
+	created new routine lame_init_qval() which does all the
+	gfp->quality related settings.  Cleaned up some more RH_AMP code:
+	The only way to enable scalefac_scale right now is with
+	-Z or --nspsytune.
+
+2001-01-14 21:01  markt
+
+	* testcase.mp3:
+
+	updated test case
+	(Takehiro fixed a bug which I introduced, which changes test cases).
+
+2001-01-14 17:25  aleidinger
+
+	* DEFINES, Makefile.in, aclocal.m4, config.guess, config.sub,
+	  configure, configure.in, missing, mkinstalldirs, Dll/Makefile.am,
+	  Dll/Makefile.in, debian/Makefile.in, doc/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in,
+	  frontend/Makefile.in, frontend/depcomp, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/depcomp,
+	  libmp3lame/i386/Makefile.in, misc/Makefile.in, misc/depcomp,
+	  mpglib/Makefile.in, mpglib/depcomp:
+
+	DEFINES:
+	 remove obsolete defines
+
+	configure*:
+	 minor cleanup
+
+	Makefile*:
+	 - minor cleanup
+	 - use automake 2.14b
+
+	Added files:
+	 needed for new automake
+
+	rest:
+	 updated automake files
+
+2001-01-14 15:40  aleidinger
+
+	* misc/abx.c:
+
+	there are encoders with different delays on different channels (Frank)
+
+2001-01-14 12:21  shibatch
+
+	* libmp3lame/lame.c:
+
+	Enabled scalefac_scale if --nspsytune is specified.
+
+2001-01-14 12:02  takehiro
+
+	* testcase.mp3:
+
+	fixed new amp_scalefac_bands
+	(it may use "trigger" variable without any initialization)
+
+2001-01-14 09:42  takehiro
+
+	* libmp3lame/quantize.c:
+
+	minor bug fix.
+	when subblock gain=1 and scalefactor is -1(means no need to calculate),
+	LAME will try to check the quantization with meanless scalefactor combination.
+
+2001-01-14 09:39  takehiro
+
+	* libmp3lame/quantize.c:
+
+	subblock_gain is 3-bit and its limit is 7, not 8.
+
+2001-01-14 09:35  takehiro
+
+	* libmp3lame/quantize.c:
+
+	oops, conflicts are removed
+
+2001-01-14 09:31  takehiro
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h:
+
+	to store the distortion into III_psy_xmin structure, not simple array.
+	this may make array pointer calculation easier and bring some speed up.
+
+2001-01-14 09:26  shibatch
+
+	* libmp3lame/: encoder.c, psymodel.c, psymodel.h:
+
+	Cleanup and small speed optimization of --nspsytune.
+
+2001-01-14 08:17  markt
+
+	* API:
+
+	one minor update to the API file
+
+2001-01-14 08:13  markt
+
+	* testcase.mp3, libmp3lame/lame.c, libmp3lame/quantize.c:
+
+	made a new, simpler unified amp_scalefac_bands():
+
+	 *  distort[] = noise/masking
+	 *  distort[] > 1   ==> noise is not masked
+	 *  distort[] < 1   ==> noise is masked
+	 *  max_dist = maximum value of distort[]
+	 *
+	 *  Three algorithms:
+	 *  noise_shaping_amp
+	 *        0             Amplify all bands with distort[]>1.
+	 *
+	 *        1             Amplify all bands with distort[] >= max_dist^(.5);
+	 *                     ( 50% in the db scale)
+	 *
+	 *        2             Amplify first band with distort[] >= max_dist;
+	 *
+	 *
+	 *  For algorithms 0 and 1, if max_dist < 1, then amplify all bands
+	 *  with distort[] >= .95*max_dist.  This is to make sure we always
+	 *  amplify at least one band.
+	 *
+
+	noise_shaping_amp=0        -q3 .. -q9
+	noise_shaping_amp=1        -q2
+	noise_shaping_amp=2        -q1, -q0
+
+	--nspsytune was using what is now noise_shaping_amp=2, but the only
+	way to get this now is to use --nspsytune -q1.
+	Naoki: is this a problem?
+
+	I also defaulted the clever RH_AMP stoping criterion in
+	outer_loop.
+
+2001-01-14 05:36  markt
+
+	* libmp3lame/: lame.c, psymodel.c, quantize.c, quantize_pvt.c,
+	  util.h, vbrquantize.c:
+
+	some tuning of VBR masking_lower because of new ATH function.
+	Disabled VBR_q based lowering of ATH.  Is this still needed?
+	You can always achieve the same effect with --athlower option.
+
+2001-01-13 18:01  aleidinger
+
+	* Makefile.am, Makefile.in, configure, configure.in,
+	  Dll/Makefile.in, debian/Makefile.am, debian/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.am, dshow/Makefile.in, frontend/Makefile.am,
+	  frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.am, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.am, mpglib/Makefile.in:
+
+	"make dist" related:
+	 - add debian subdir
+	 - add missing files
+
+	different builddir related:
+	 - change argument to -l option for nasm
+
+2001-01-13 17:40  aleidinger
+
+	* libmp3lame/Makefile.in.old:
+
+	obsolete
+
+2001-01-13 17:36  aleidinger
+
+	* frontend/Makefile.in.old:
+
+	obsolete
+
+2001-01-13 13:45  takehiro
+
+	* libmp3lame/newmdct.c:
+
+	bit coding hack and cleanup
+
+2001-01-13 12:55  takehiro
+
+	* Makefile.in, Dll/Makefile.in, doc/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in,
+	  frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in:
+
+	automake generated
+
+2001-01-13 12:54  takehiro
+
+	* libmp3lame/: fft.c, i386/Makefile.am, i386/fft3dn.nas:
+
+	now LAME supports 3dnow! fft
+
+2001-01-13 10:37  pgubanov
+
+	* dshow/Encoder.cpp:
+
+	Removed (char*) cast in lame_encode_buffer() call
+
+2001-01-12 19:20  markt
+
+	* debian/: changelog, control, copyright, lame-dev.docs,
+	  lame-dev.files, lame-extras.files, lame.docs, lame.files, rules:
+
+	added debian files from Ingo Saitz
+
+2001-01-12 19:17  markt
+
+	* debian/: cron.d.ex, dirs, docs, emacsen-install.ex,
+	  emacsen-remove.ex, emacsen-startup.ex, ex.doc-base.package,
+	  files, init.d.ex, manpage.1.ex, manpage.sgml.ex, menu.ex,
+	  postinst.debhelper, postinst.ex, postrm.ex, preinst.ex,
+	  prerm.debhelper, prerm.ex, substvars, watch.ex:
+
+	New Debian package from Ingo Saitz
+
+2001-01-12 19:11  markt
+
+	* README.Debian:
+
+	removed README.Debian
+
+2001-01-12 11:13  aleidinger
+
+	* misc/abx.c:
+
+	further improvements, e.g. reduced latency (Frank)
+
+2001-01-11 22:37  markt
+
+	* HACKING, frontend/mp3rtp.c, frontend/mp3x.c:
+
+	updated mp3rtp.c and mp3x.c to use lame_global_flags *lame_init()
+	(lame allocates storage for lame_global_flags)
+	rather than lame_init_old(&gf) which required calling
+	program to instantiate gf.
+
+	Now we need to start writing one routine for every parameter:
+
+	lame_set_bitrate
+	lame_set_num_channels
+	etc...
+
+2001-01-10 16:03  aleidinger
+
+	* frontend/lame.dsp, frontend/mp3x.dsp, libmp3lame/libmp3lame.dsp,
+	  mpglib/mpglib.dsp:
+
+	work around for a bug in VC (Todd Richmond)
+
+2001-01-09 15:15  aleidinger
+
+	* misc/abx.c:
+
+	bugfixes
+
+2001-01-08 18:15  aleidinger
+
+	* DEFINES:
+
+	removed KLEMM_12, on by default
+
+2001-01-08 18:07  aleidinger
+
+	* libmp3lame/vbrquantize.c:
+
+	Roberts VBR code: speed improvement for vbr-mtrh (ping pong patch, OKed by Mark)
+
+2001-01-07 23:47  markt
+
+	* frontend/: portableio.c, timestatus.c:
+
+	chage to KLEMM-36 from Frank
+
+2001-01-07 22:53  markt
+
+	* frontend/timestatus.c, libmp3lame/psymodel.c:
+
+	undefined variable (last = 0, line 214) in timestatis.c
+	commented out.
+
+	fixed some dimensions in the funtion prototype of l3para_read
+
+2001-01-07 22:35  markt
+
+	* frontend/timestatus.c:
+
+	Applied Frank's patch (from mp3encoder) to timestatus.c
+	with -R.  I hope I didn't undo this by mistake!
+
+2001-01-07 22:33  markt
+
+	* frontend/timestatus.c:
+
+	added a brhist_jump_back() to timestatus_klemm().
+	sent to me by Magnus Holmgren.
+
+2001-01-07 22:28  markt
+
+	* USAGE, frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/psymodel.c:
+
+	added the "-ma" option.
+	Ultimate goal:
+	          8 kbps   Mono
+	     16- 96 kbps   Intensity Stereo (if available, otherwise Joint Stereo)
+	    112-128 kbps   Joint Stereo -mj
+	    160-192 kbps   something between -mj and -ms
+	    224-320 kbps   Independent Stereo -ms
+
+	currently enables KLEMM_12.  KLEMM_12 is gone.
+
+2001-01-07 16:17  aleidinger
+
+	* libmp3lame/lame.c:
+
+	Don\'t change floatingpoint mask for FreeBSD on Alpha hardware, obtained from FreeBSD-Ports
+
+2001-01-07 14:48  aleidinger
+
+	* misc/abx.c:
+
+	cleanup, no functional change
+
+2001-01-07 14:47  aleidinger
+
+	* Dll/Example.dsw, Dll/MP3EncDll.dsw, dshow/dshow.dsw,
+	  frontend/lame.dsw, frontend/mp3x.dsw, misc/abx.c:
+
+	fix *.dsw
+	new version of abc.c (Frank)
+
+2001-01-07 09:14  markt
+
+	* frontend/: mp3rtp.c, mp3x.c:
+
+	global variables used by frontend code are now instantiated
+	in parse.c.
+
+	Before, the were defined external in main.h, and instantiated
+	in the frontend, meaning they had to appear in mp3x.c, main.c
+	and mp3rtp.c
+
+	we need to get rid of these!
+
+2001-01-07 09:11  markt
+
+	* frontend/main.c, frontend/main.h, frontend/parse.c,
+	  libmp3lame/lame.c:
+
+	more tweaks to the --decode-mp3delay option
+
+2001-01-07 08:28  markt
+
+	* libmp3lame/: lame.c, quantize.c, util.h:
+
+	added a variable, noise_shaping_amp.  It does nothing right now.
+
+2001-01-07 08:24  markt
+
+	* frontend/: main.c, main.h, parse.c:
+
+	added a undocumented option --decode-mp3delay <n>
+	to allow someone to adjust the number of samples
+	lame --decode will truncate.  David Robinson requirested this
+	since he didn't like that lame --decode would truncate 1106 samples
+	(assuming a encoder delay of 576) since BladeEnc has an encoder delay
+	of only 528.)
+
+2001-01-07 05:25  markt
+
+	* frontend/main.c, libmp3lame/util.c:
+
+	main.c:  uses lame_init() instead of lame_init_old().
+	util.c:  added frank's changes: 32 point filter instead of 19.
+	         prep work for frank's new resampling/filtering code.
+	         updated test cases.
+
+2001-01-06 23:12  markt
+
+	* libmp3lame/: lame.c, psymodel.c, quantize_pvt.c, util.c:
+
+	ATHformula modifed to work in Hz instead of Khz.
+
+	Minor change to a bunch of routines + regeneration of
+	test cases.
+
+2001-01-06 22:57  markt
+
+	* testcase.mp3:
+
+	updated testcase
+
+2001-01-06 22:55  markt
+
+	* libmp3lame/fft.c:
+
+	Switched to the Blackman window for the FFT energy estimator.
+	This is just to merge some nspsytune code into default
+
+2001-01-06 07:40  gramps
+
+	* libmp3lame/id3tag.c:
+
+	Backed out some large changes done in November which introduced at least two bugs.  Also fixed other older bug in id3tag_write_v2.
+
+2001-01-06 01:11  markt
+
+	* include/lame.h, libmp3lame/lame.c, libmp3lame/psymodel.c:
+
+	more prep work to remove all psycho acoustic tables
+
+2001-01-06 01:00  markt
+
+	* libmp3lame/: VbrTag.h, lame.c, mpglib_interface.c, psymodel.c:
+
+	added formulas to replace the last of the table data.
+	some changes to reflect that Xing VBR header parsing code
+	has been moved into mpglib
+
+2001-01-05 22:15  markt
+
+	* mpglib/: interface.c, mpglib.h:
+
+	added XingVBR header parsing code
+
+2001-01-05 22:13  markt
+
+	* frontend/: get_audio.c, gtkanal.c:
+
+	fixed bug in frame analyzer when analyzing mp3 files.
+	frame counter incremented too soon.  This was introduced
+	when someone (maybe me, but I dont remember!) replaced the
+	use of gfp->frameNum with a global variable limited in scope to
+	just gtkanal.c
+
+	get_audio.c:  removed VBR Xing header checking code.
+	this has been moved into mpglib.
+
+2001-01-05 15:26  aleidinger
+
+	* Makefile.in.old, configure.in.old:
+
+	obsolete
+
+2001-01-05 15:20  aleidinger
+
+	* Makefile.B32, Makefile.unix, frontend/brhist.c,
+	  frontend/get_audio.c, frontend/gpkplotting.c, frontend/gtkanal.c,
+	  frontend/lame.dsp, frontend/lametime.c, frontend/main.c,
+	  frontend/mp3rtp.c, frontend/mp3x.c, frontend/mp3x.dsp,
+	  frontend/parse.c, frontend/portableio.c, frontend/rtp.c,
+	  frontend/timestatus.c, libmp3lame/VbrTag.c,
+	  libmp3lame/bitstream.c, libmp3lame/debugscalefac.c,
+	  libmp3lame/encoder.c, libmp3lame/fft.c, libmp3lame/id3tag.c,
+	  libmp3lame/lame.c, libmp3lame/libmp3lame.dsp,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/resample.c,
+	  libmp3lame/reservoir.c, libmp3lame/tables.c,
+	  libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/vbrquantize.c, libmp3lame/version.c,
+	  libmp3lame/vorbis_interface.c, misc/abx.c, mpglib/common.c,
+	  mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/interface.c,
+	  mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c,
+	  mpglib/mpglib.dsp, mpglib/tabinit.c:
+
+	misc/abx.c: (Frank Klemm)
+	 - level adjustment
+	 - clean up
+	 - A-B repeat ("chunks")
+
+	Makefile.*:
+	 - nuke NOTERMCAP, it's HAVE_TERMCAP now
+	   (defined where neccessary, please report slipped in breakage)
+
+	(frontend|mp3x|libmp3lame|mpglib).dsp:
+	 - copy configMS.h config.h (Todd Richmond)
+	 - unbreak                  (Todd Richmond)
+	 - nuke NOTERMCAP
+	 - change HAVE([A-Z]*) to HAVE_$1
+
+	*.c:
+	 - get rid of configMS.h, we finally have support in *.dsp
+
+2001-01-03 13:06  aleidinger
+
+	* Makefile.DJGPP, Makefile.am, Makefile.in, Makefile.unix,
+	  aclocal.m4, config.h.in, configure, configure.in,
+	  frontend/Makefile.am, frontend/Makefile.in, frontend/brhist.c,
+	  frontend/console.c, frontend/get_audio.c, frontend/gpkplotting.c,
+	  frontend/gtkanal.c, frontend/lametime.c, frontend/main.c,
+	  frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c,
+	  frontend/portableio.c, frontend/rtp.c, frontend/timestatus.c,
+	  libmp3lame/VbrTag.c, libmp3lame/bitstream.c,
+	  libmp3lame/debugscalefac.c, libmp3lame/encoder.c,
+	  libmp3lame/fft.c, libmp3lame/id3tag.c, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/resample.c,
+	  libmp3lame/reservoir.c, libmp3lame/tables.c,
+	  libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/vbrquantize.c, libmp3lame/version.c,
+	  libmp3lame/vorbis_interface.c, misc/Makefile.am,
+	  misc/Makefile.in, mpglib/common.c, mpglib/dct64_i386.c,
+	  mpglib/decode_i386.c, mpglib/interface.c, mpglib/layer1.c,
+	  mpglib/layer2.c, mpglib/layer3.c, mpglib/tabinit.c:
+
+	Makefile.{unix,DJGPP}: Bugfixes (Includes)
+	Makefile.am: follow the move of some scripts to misc
+	*: add dmalloc support (configure --with-dmalloc)
+	   (it seems we have a memleak somewhere, I will have a closer look soon)
+
+2001-01-03 11:51  shibatch
+
+	* libmp3lame/: psymodel.c, encoder.c:
+
+	Tweaking and bugfix of --nspsytune.
+
+2001-01-02 06:02  markt
+
+	* frontend/get_audio.c, libmp3lame/encoder.c:
+
+	typo in read_samples_pcm fixed
+
+2001-01-01 17:35  markt
+
+	* API, HACKING:
+
+	minor edits to API and HACKING
+
+2001-01-01 17:26  markt
+
+	* Lame.vbs, README.WINGTK, TODO, USAGE, lame4dos.bat,
+	  misc/Lame.vbs, misc/lame4dos.bat:
+
+	moved some more scripts into 'misc' directory
+
+2001-01-01 17:12  markt
+
+	* INSTALL, README.WINGTK, USAGE, auenc, mlame,
+	  frontend/README.Win32, misc/auenc, misc/mlame:
+
+	moved scripts into misc directory
+	moved README.Win32 (which described compiling mp3x under windows)
+	back to its original name, README.WINGTK
+	minor updates to INSTALL and USAGE
+
+2000-12-27 13:13  aleidinger
+
+	* misc/abx.c:
+
+	 - listen to the difference of both signals
+	 - highlighting of "errors"
+	 - DC canceling
+	 - support for monaural signals
+	 - cleanup
+	 - bugfixes
+	 - correct shell quoting
+
+2000-12-25 10:49  shibatch
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/util.h:
+
+	Tweaked --nspsytune.
+
+2000-12-22 15:36  aleidinger
+
+	* misc/abx.c:
+
+	now with cross correlation (Frank)
+
+2000-12-20 22:55  aleidinger
+
+	* misc/abx.c:
+
+	 - files to test have to have the same samplerate (Frank)
+	 - check for correct number of arguments (Alexander)
+
+2000-12-20 15:14  aleidinger
+
+	* DEFINES, libmp3lame/psymodel.c, libmp3lame/tables.c,
+	  libmp3lame/tables.h:
+
+	Patches for KLEMM_43 protected code
+
+2000-12-19 13:09  aleidinger
+
+	* DEFINES, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/reservoir.c, libmp3lame/tables.c,
+	  libmp3lame/vbrquantize.c:
+
+	Ping pong #3, OKed by Mark.
+
+2000-12-19 08:16  markt
+
+	* LICENSE:
+
+	simplifed the LICENSE file describing how to use
+	LAME in commercial software
+
+2000-12-19 07:51  markt
+
+	* INSTALL, README, README.B32:
+
+	updated README files with new configure information.
+	debuging statement added to interface.c, then removed.
+
+2000-12-19 07:46  markt
+
+	* frontend/: brhist.c, get_audio.c:
+
+	more size_t's removed
+
+2000-12-19 07:43  markt
+
+	* frontend/: main.c, mp3rtp.c, parse.c, rtp.c, rtp.h:
+
+	removed some size_t's.
+	Added some windows code to rtp.c/mp3rtp.c:  It is supposed to
+	be much improved:
+
+	    LAME is really great project.
+
+	    However, RTP code for multicasting isn't very good.
+
+	    I've attached some modification, and tested it on Win NT4 and Win2K with
+	    FreeAmp on ordinary 10 and 100 Mbit Ethernet with encoding in neverending
+	    loop. It was running one week w/o any probs.
+
+	    I would like to please you to not include my name anywhere (there are
+	    several reason why, at the moment).
+
+	However, code is very MSVC specific, so it is commented out
+	with #if 0.  Most of the code was added to the end of rtp.c.
+
+2000-12-19 07:00  markt
+
+	* frontend/main.c:
+
+	deleted stupid C++ typecasts.  LAME is written in C.
+	integer arguments to fwrite() do not need typecasts.
+
+2000-12-16 05:43  shibatch
+
+	* libmp3lame/: lame.c, psymodel.c:
+
+	1. Old ATH formula is now default for --nspsytune.
+	2. Tweaked a parameter of --nspsytune.
+	3. Minor code cleanup.
+
+2000-12-14 13:32  aleidinger
+
+	* Makefile.in, configure, Dll/Makefile.in, doc/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in,
+	  frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in:
+
+	regen
+
+2000-12-14 13:31  aleidinger
+
+	* configure.in, libmp3lame/i386/Makefile.am:
+
+	force nasm to generate coff output when building under cygwin (Egor Duga)
+
+2000-12-14 10:05  aleidinger
+
+	* Makefile.in, config.h.in, configure, Dll/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  dshow/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in:
+
+	regen
+
+2000-12-14 10:04  aleidinger
+
+	* Makefile.DJGPP, Makefile.am, Makefile.unix, configMS.h,
+	  configure.in, frontend/Makefile.am, libmp3lame/Makefile.am,
+	  libmp3lame/i386/Makefile.am, mpglib/Makefile.am:
+
+	configure.in:
+	 - determine the size of various types at configure time
+	 - add --enable-debug=anoying
+
+	configMS.h:
+	 - add SIZEOF_... defines, see configure.in
+
+	Makefile.unix:
+	 - bugfix from Robert (shame on me)
+
+	Makefile.DJGPP:
+	 - add cpu_feat.nas and scalar.nas to the build with NASM
+
+	Submitted by Egor Duda <deo@logos-m.ru> (thank you, works great):
+	 * Makefile.am: add $(EXEEXT) to executables for cygwin build
+	 * Makefile.am: take source .wav file from srcdir
+	 * configure.in: require autoconf 2.13
+	 * configure.in: check for executable files extension
+	 * frontend/Makefile.am: use builddir to get autogenerated headers
+	   and libraries from, in case we're doing build in separate directory;
+	   take normal headers from srcdir instead of current.
+	 * libmp3lame/Makefile.am: ditto
+	 * libmp3lame/i386/Makefile.am: ditto
+	 * mpglib/Makefile.am: ditto
+
+2000-12-13 02:28  shibatch
+
+	* libmp3lame/lame.c:
+
+	Minor bugfix.
+
+2000-12-13 02:21  shibatch
+
+	* libmp3lame/psymodel.c:
+
+	Minor bugfix of --nspsytune.
+	(forgot to merge.)
+
+2000-12-12 04:50  shibatch
+
+	* frontend/parse.c, include/lame.h, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/util.c, libmp3lame/util.h:
+
+	Added option --athtype which selects ATH formula.
+
+	Some major changes to --nspsytune.
+	1. --nspsytune doesn't use pe.
+	2. MS psymodel is modified. Added new option --nssafejoint.
+	3. some more tunings of short block preecho control.
+
+2000-12-12 01:11  markt
+
+	* libmp3lame/: lame.c, util.c:
+
+
+	Latest checkin from Alex include an rewritten 'Bitrate()' routine.
+
+	This breaks the --abr code, since new routine considers a bitrate of 0
+	invalid.  Now fixed.
+
+2000-12-11 22:15  markt
+
+	* misc/Makefile.am:
+
+	added mlame_corr.c to the
+	EXTRA_DIST line of Makefile.am
+
+2000-12-11 16:03  aleidinger
+
+	* DEFINES, Makefile.in, frontend/main.c, include/lame.h,
+	  libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c,
+	  libmp3lame/fft.h, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/newmdct.h, libmp3lame/psymodel.c,
+	  libmp3lame/psymodel.h, libmp3lame/quantize_pvt.h,
+	  libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c,
+	  libmp3lame/vorbis_interface.c, mpglib/interface.c,
+	  mpglib/interface.h:
+
+	tries to include every change before the CVS rollback which didn't changes output
+
+2000-12-11 14:48  aleidinger
+
+	* frontend/gtkanal.c, libmp3lame/bitstream.c, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/newmdct.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/reservoir.c, libmp3lame/util.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c, libmp3lame/vorbis_interface.c:
+
+	redo gfc->stereo -> gfc->channels_out conversation
+
+2000-12-11 01:32  markt
+
+	* USAGE:
+
+	updated info regarding the  MAD decoder
+
+2000-12-11 00:34  markt
+
+	* Makefile.am, libmp3lame/lame.c:
+
+	applied patch for cygwin FPE stuff
+
+2000-12-11 00:01  markt
+
+	* USAGE, configure, configure.in, mlame_corr.c,
+	  frontend/get_audio.c, frontend/get_audio.h, include/lame.h,
+	  libmp3lame/mpglib_interface.c, misc/mlame_corr.c:
+
+	configure:  removed all the debug warning flags.  it was impossible
+	            to find real problems when compiling in debug mode.
+
+	moved mlame_corr.c into 'misc' directory
+
+	removed some 'size_t' and 'unsigned' from get_audio.c
+
+	made mp3buffer 'unsigned char*' for the mpglib interface routines.
+
+2000-12-08 13:47  aleidinger
+
+	* auenc, misc/mugeco.sh:
+
+	more portability fixes from Fredrik Mellstrom
+
+2000-12-07 18:58  aleidinger
+
+	* mlame:
+
+	use sh instead of bash
+
+2000-12-07 18:55  aleidinger
+
+	* auenc:
+
+	portability patch from Fredrik Mellstrom
+
+2000-12-05 15:48  aleidinger
+
+	* DEFINES:
+
+	update
+
+2000-12-05 15:46  aleidinger
+
+	* Makefile.MSVC:
+
+	add scalar.nas
+
+2000-12-05 15:40  aleidinger
+
+	* configure, Dll/Makefile.in, doc/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in, frontend/Makefile.in,
+	  include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, mpglib/Makefile.in:
+
+	regen
+
+2000-12-05 15:37  aleidinger
+
+	* Makefile.B32, Makefile.MSVC, Makefile.in, config.h.in,
+	  configMS.h, configure.in, frontend/Makefile.am,
+	  frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/portableio.c, libmp3lame/Makefile.am,
+	  libmp3lame/i386/Makefile.in, libmp3lame/i386/cpu_feat.nas,
+	  misc/ath.c, mpglib/Makefile.am:
+
+	play ping-pong with some files (we're now at 2000-12-03 again), ok'ed by Mark
+
+2000-12-05 01:17  markt
+
+	* DEFINES:
+
+	restored DEFINES.
+
+	Sorry Alexendar - I tried to only revert the *.c and *.h files
+	to their Nov 21 values (because of test case problems) but
+	I was unable to get this to work.  I was lazy and reverted
+	entire repository back to Nov 21.
+
+2000-12-05 01:15  markt
+
+	* DEFINES:
+
+	trying to restore DEFINES
+
+2000-12-04 14:36  aleidinger
+
+	* Makefile.unix:
+
+	add scalar.nas to build
+
+2000-12-04 06:31  pgubanov
+
+	* dshow/: PropPage.cpp, PropPage.h:
+
+	Target bitrate fix
+
+2000-12-04 06:30  pgubanov
+
+	* dshow/: Mpegac.cpp, Mpegac.def, Mpegac.h, PropPage_adv.cpp,
+	  PropPage_adv.h, Property.rc, README, REG.CPP, REG.H, UIDS.H,
+	  dshow.dsp, iaudioprops.h, resource.h:
+
+	CR/LF fix
+
+2000-12-03 23:27  markt
+
+	* testcase.mp3, libmp3lame/util.c:
+
+	KLEMM_01 defaulted.
+
+	This enables the new ATH formula.
+
+2000-12-03 23:03  markt
+
+	* libmp3lame/: tables.c, tables.h:
+
+	huffmantab: int changed back to short.
+
+2000-12-03 23:00  markt
+
+	* DEFINES, Makefile.B32, Makefile.MSVC, Makefile.in, config.h.in,
+	  configMS.h, configure, configure.in, Dll/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in,
+	  doc/html/contributors.html, doc/html/examples.html,
+	  doc/html/history.html, doc/html/id3.html, doc/html/index.html,
+	  doc/html/lame.css, doc/html/modes.html, doc/html/node6.html,
+	  doc/html/switchs.html, doc/man/Makefile.in, frontend/Makefile.am,
+	  frontend/Makefile.in, frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/gtkanal.c, frontend/main.c, frontend/parse.c,
+	  frontend/portableio.c, include/Makefile.in, include/lame.h,
+	  libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c,
+	  libmp3lame/fft.h, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/newmdct.h, libmp3lame/pcm.c, libmp3lame/pcm.h,
+	  libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/tables.h,
+	  libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c,
+	  libmp3lame/version.h, libmp3lame/vorbis_interface.c,
+	  libmp3lame/i386/Makefile.am, libmp3lame/i386/Makefile.in,
+	  libmp3lame/i386/cpu_feat.nas, mpglib/Makefile.am,
+	  mpglib/Makefile.in, mpglib/interface.c, mpglib/interface.h:
+
+
+	Reverted back to Nov 21 version.
+
+	Added HTML doc from GB
+
+2000-12-03 17:38  aleidinger
+
+	* configure:
+
+	regen
+
+2000-12-03 17:37  aleidinger
+
+	* configure.in:
+
+	fix in debugging options
+
+2000-12-03 14:16  aleidinger
+
+	* DEFINES:
+
+	add KLEMM_36
+
+2000-12-03 14:14  aleidinger
+
+	* frontend/portableio.c:
+
+	Portability fix from Frank, you need to define KLEMM_36 to enable it
+	(no functional change if you leave it disabled):
+	---snip---
+	 It is a hoax to call this code portable-IO:
+
+	   - It doesn't work on machines with CHAR_BIT != 8
+	   - it also don't test this error condition
+	   - otherwise it tries to handle CHAR_BIT != 8 by things like
+	     masking 'putc(i&0xff,fp)'
+	   - It doesn't handle EOF in any way
+	   - it only works with ints with 32 or more bits
+	   - It is a collection of initial buggy code with patching the known errors
+	     instead of CORRECTING them!
+	     For that see comments on the old Read16BitsHighLow()
+	---snip---
+
+2000-12-03 13:14  aleidinger
+
+	* misc/abx.c:
+
+	Improvements from Frank:
+	 - more input formats (detected by filename)
+	Improvements by me:
+	 - sanity checks
+	 - works on FreeBSD
+
+2000-12-01 17:42  aleidinger
+
+	* libmp3lame/: psymodel.c, tables.c, tables.h:
+
+	Patches from Frank:
+	---snip---
+	defined 4 new types for holding psydata information
+	psydata  is divided into 25 normal tables (the 24 tables + 1 master table)
+	access via "normal" index instead of scanning through the data
+	tables are now sparsable, i.e. it is possible to remove unneeded parts
+	but this is not yet done to avoid to do to much things at once
+	tables are now smaller
+	---snip---
+	Hi also did some tests to verify this didn't changes the output.
+
+	I also verified it with "make test" and some regular encoding.
+
+2000-11-30 10:23  aleidinger
+
+	* DEFINES:
+
+	add description of some compile time defines
+
+2000-11-30 10:20  aleidinger
+
+	* Makefile.B32:
+
+	sync with recent changes in the other Makefiles:
+	 - HAVExxx -> HAVE_xxx
+	 - HAVE_CONFIG_MS_H
+
+2000-11-30 10:17  aleidinger
+
+	* frontend/: get_audio.c, get_audio.h:
+
+	 - remove check for CHAR_BITS, was a typo from Frank (confirmed by Frank)
+	 - add optimization for unknown SIZEOF_UNSIGNED_LONG (submitted by Frank)
+	   in optimized version of SwapBytesInWords()
+	 - make the optimized version of SwapBytesInWords() the default
+	   (OKed by Mark)
+	 - remove DetermineByteOrder(), we have compile time support for it
+
+2000-11-30 10:14  aleidinger
+
+	* configure, Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, mpglib/Makefile.in,
+	  dshow/Makefile.in, doc/man/Makefile.in, doc/html/Makefile.in,
+	  doc/Makefile.in, Dll/Makefile.in, frontend/Makefile.in,
+	  include/Makefile.in:
+
+	regen
+
+2000-11-30 10:11  aleidinger
+
+	* libmp3lame/pcm.c:
+
+	 - some modifications from Frank
+
+2000-11-30 10:08  aleidinger
+
+	* configure.in:
+
+	 - compile time check for sizeof(int)
+	 - more compiler warnings for debugging
+
+2000-11-30 10:07  aleidinger
+
+	* config.h.in, configMS.h:
+
+	 - compile time value for sizeof(int)
+
+2000-11-30 10:07  aleidinger
+
+	* libmp3lame/Makefile.am, frontend/Makefile.am, mpglib/Makefile.am:
+
+	 - additional options for lclint
+
+2000-11-30 10:06  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	 - *.lst instead of specifying every file in "CLEANFILES"
+
+2000-11-27 16:39  aleidinger
+
+	* libmp3lame/: pcm.c, pcm.h:
+
+	submitted by Frank, first revision of a new lame API, not connected to the build yet
+
+2000-11-26 20:58  robert
+
+	* libmp3lame/: lame.c, util.c, util.h, i386/cpu_feat.nas:
+
+	Part2 of Frank's Patch
+
+	His List of Changes (part 1 + 2):
+
+	  - changed the type of the MP3 byte stream from 'char' to 'unsigned char'
+	  - added some 'const' attributes
+	  - added to lame_internal_flags: gfp, frame_size, coding, frame_count
+	  - one code move inside lame.c (mode_ext), one remove (channels_out)
+	  - two new types in util.c
+	  - some bug fixes with Ogg
+	  - SIMD2 detection
+
+2000-11-26 10:49  robert
+
+	* frontend/get_audio.c, frontend/main.c, include/lame.h,
+	  libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c,
+	  libmp3lame/fft.h, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/newmdct.h, libmp3lame/psymodel.c,
+	  libmp3lame/psymodel.h, libmp3lame/util.h,
+	  libmp3lame/vorbis_interface.c, mpglib/interface.c,
+	  mpglib/interface.h:
+
+	Patch by Frank:
+	changes from  char to unsigned char
+
+2000-11-25 22:59  robert
+
+	* libmp3lame/quantize.c:
+
+	bug fix for -X6, could result in clicking noises
+
+2000-11-25 20:40  robert
+
+	* libmp3lame/quantize.c:
+
+	typo "powf()" lend to crashes under windows, fixed
+
+2000-11-25 18:56  robert
+
+	* libmp3lame/: quantize.c, quantize.h, vbrquantize.c:
+
+	small fix for vbr-mtrh mode
+
+2000-11-25 18:18  robert
+
+	* libmp3lame/: lame.c, quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  util.h, vbrquantize.c:
+
+	removed superfluous memset in vbr_noise_shaping2()
+	some veryminor speed up for cbr
+	amp_scalefac cleanup
+
+2000-11-24 17:28  robert
+
+	* frontend/gtkanal.c:
+
+	Patches by Frank:
+
+	- documentation
+	- introduced gfc->channels_in
+	- renamed gfc->stereo into gfc->channels_out
+	  (note by me: stereo would imply a boolean type    stereo ? yes/no
+	   what's really annoying and confusing is that we didn't used it that way,
+	   but instead stereo=1 -> mono/1-channel, stereo=2 -> stereo/2-channels)
+	- minor bug fixes for BitrateIndex search
+
+2000-11-24 17:06  robert
+
+	* include/lame.h, libmp3lame/bitstream.c, libmp3lame/encoder.c,
+	  libmp3lame/lame.c, libmp3lame/newmdct.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c,
+	  libmp3lame/reservoir.c, libmp3lame/util.c, libmp3lame/util.h,
+	  libmp3lame/vbrquantize.c:
+
+	Patches by Frank:
+
+	- documentation
+	- introduced gfc->channels_in
+	- renamed gfc->stereo into gfc->channels_out
+	  (note by me: stereo would imply a boolean type    stereo ? yes/no
+	   what's really annoying and confusing is that we didn't used it that way,
+	   but instead stereo=1 -> mono/1-channel, stereo=2 -> stereo/2-channels)
+	- minor bug fixes for BitrateIndex search
+
+2000-11-23 23:19  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	some loops manually unrolled into "Duff's Device"
+	speed improvement for --vbr-mtrh GCC compiled ca. 5 % overall
+	speed improvement for --vbr-mtrh Intel 4.5 compiled ca. 1-2 %
+	looks like the intel compiler does a better job on loops
+	compared to GCC.
+
+2000-11-23 15:14  robert
+
+	* Makefile.MSVC:
+
+	compromise between size/speed/multi CPU, thanks to Dmitry
+
+2000-11-23 13:06  aleidinger
+
+	* misc/ath.c:
+
+	readd support for other systems than linux (at least FreeBSD)
+
+2000-11-22 21:03  robert
+
+	* Makefile.MSVC:
+
+	added little howto into Makefile.MSVC
+	think MS C compiler works now again
+
+2000-11-22 01:09  robert
+
+	* frontend/parse.c:
+
+	cosmetics
+
+2000-11-22 00:30  robert
+
+	* libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/tables.c,
+	  libmp3lame/tables.h, libmp3lame/util.c, libmp3lame/version.h,
+	  misc/ath.c:
+
+	some patches by Frank
+
+	- replace ath.c (has with Lame nothing to do)
+	- lame.c: A line in my new code exchange (see ATHformula problems)
+	- util.c: ATHformula changed over from kHz to cycles per second (last util formula with kHz been)
+	- ATHformula below 20 cycles per second (instead of 10 cycles per second) limits (< 20 cycles per second are Infraschall,
+	  additionally the function becomes there completely useless)
+	- quantize_pvt.c: Effects of ATHformula
+	- tables.c:
+	  - something documents -
+	  -number of entries over one increases
+	  (20=>21, 11=>12, etc..)
+	- SNR_s converted and to the obvious values
+	  0.15/0.18/0.20/0.25/0.30/0.35/0.40 rounded.
+	- w1 and w2 with 576 multiply (error is <
+	                                 0.91*10^-3, it seems in the tables both to have been rounded off as well as with
+	                                 minimum error have been rounded) - end to OF DATA marker to the integrity test
+	                                 inserted - a reading in of the table revises: psymodel.c - fewer error-prone code (fewer
+	                                 * p++) - meaningful error messages for problem localization - Peeeeeeps in the case of
+	                                 error - removing from loop (now j, is used only farther back; and adapted by k2) -
+	                                 ATHformula - util.c - some amusing " while" Konstrukte, which originate still from the
+	                                 ISO code, transformed into the appropriate " for" Konstrukte (with it first some amusing
+	                                 things are noticeable, so e.g. why starting from index 0 instead of 1 are looked up?)
+
+2000-11-21 22:15  robert
+
+	* Makefile.MSVC, frontend/gtkanal.c:
+
+	some reorganization in Makefile.MSVC
+	it's now more commandline configurable
+
+2000-11-20 20:45  robert
+
+	* frontend/: mp3x.c, parse.c:
+
+	fix for mp3x.c: showed usage twice
+	fix for parse.c: lame_version_print()
+	  in some situations the text is longer than 80 characters
+	  now the url will be wrapped into the next line, right aligned
+	  if 80 character aren't enough
+
+2000-11-20 15:08  robert
+
+	* Makefile.MSVC, Makefile.unix, frontend/parse.c,
+	  libmp3lame/lame.c, libmp3lame/quantize.c:
+
+	overhauled Makefile.MSVC for easier configuration
+	design bug in parse.c fixed (should not include files from engine)
+
+2000-11-20 01:48  robert
+
+	* Makefile.MSVC, Dll/BladeMP3EncDLL.c:
+
+	it's now possible to compile lame_enc.dll with Makefile.MSVC
+	tried the DLL with CD-ex, seems to work
+
+2000-11-20 00:16  robert
+
+	* Makefile.MSVC:
+
+	updated Compile Flags due to crashes
+	added rule to generate config.h out of configMS.h
+	first try to let the dll compile, still does not work
+
+2000-11-19 14:12  robert
+
+	* Makefile.MSVC, Makefile.unix, frontend/gtkanal.c,
+	  libmp3lame/lame.c:
+
+	Some bugs fixed introduced due to configure stuff and others
+
+2000-11-19 11:26  aleidinger
+
+	* Makefile.MSVC:
+
+	bugfix for decoder define
+
+2000-11-18 12:13  aleidinger
+
+	* frontend/Makefile.in:
+
+	regen (unbreak build)
+
+2000-11-18 12:12  aleidinger
+
+	* frontend/Makefile.am:
+
+	bugfix after removing ieeefloat.*
+
+2000-11-18 10:50  aleidinger
+
+	* frontend/brhist.c, frontend/get_audio.c, frontend/gpkplotting.c,
+	  frontend/gtkanal.c, frontend/lame.dsp, frontend/lametime.c,
+	  frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c,
+	  frontend/parse.c, frontend/portableio.c, frontend/rtp.c,
+	  frontend/timestatus.c, libmp3lame/VbrTag.c,
+	  libmp3lame/bitstream.c, libmp3lame/debugscalefac.c,
+	  libmp3lame/encoder.c, libmp3lame/fft.c, libmp3lame/id3tag.c,
+	  libmp3lame/lame.c, libmp3lame/libmp3lame.dsp,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/reservoir.c,
+	  libmp3lame/tables.c, libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/vbrquantize.c, libmp3lame/version.c,
+	  libmp3lame/vorbis_interface.c, misc/abx.c, misc/ath.c,
+	  mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c,
+	  mpglib/interface.c, mpglib/layer1.c, mpglib/layer2.c,
+	  mpglib/layer3.c, mpglib/mpglib.dsp, mpglib/tabinit.c:
+
+	include configMS.h on Windows
+
+2000-11-18 10:49  aleidinger
+
+	* Makefile.MSVC, Makefile.DJGPP:
+
+	define HAVE_CONFIG_MS_H for Windows
+
+2000-11-18 10:49  aleidinger
+
+	* Makefile.in:
+
+	regen (configMS.h)
+
+2000-11-18 10:48  aleidinger
+
+	* Makefile.am, configMS.h:
+
+	introduce configMS.h for Windows
+
+2000-11-18 05:40  markt
+
+	* README.Debian, debian/changelog, debian/control,
+	  debian/copyright, debian/cron.d.ex, debian/dirs, debian/docs,
+	  debian/emacsen-install.ex, debian/emacsen-remove.ex,
+	  debian/emacsen-startup.ex, debian/ex.doc-base.package,
+	  debian/files, debian/init.d.ex, debian/manpage.1.ex,
+	  debian/manpage.sgml.ex, debian/menu.ex,
+	  debian/postinst.debhelper, debian/postinst.ex, debian/postrm.ex,
+	  debian/preinst.ex, debian/prerm.debhelper, debian/prerm.ex,
+	  debian/rules, debian/substvars, debian/watch.ex,
+	  frontend/brhist.c, frontend/get_audio.c, frontend/main.c:
+
+	added debian stuff.  Make one of the KLEMM's the default
+
+2000-11-18 04:30  markt
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, Makefile.in,
+	  Makefile.unix, Dll/Makefile.in, doc/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in, dshow/Makefile.in,
+	  frontend/get_audio.c, frontend/portableio.c, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  mpglib/Makefile.in:
+
+	Makefiles:  removed ieeefloat.* from makefiles.
+	get_audio.c: replaced DetermineByteOrder with original routine.
+
+2000-11-18 04:24  markt
+
+	* frontend/: Makefile.am, Makefile.in, get_audio.c, get_audio.h,
+	  ieeefloat.c, ieeefloat.h, portableio.c, portableio.h:
+
+	Removed ieeefloat.*
+
+2000-11-15 18:52  aleidinger
+
+	* frontend/get_audio.c:
+
+	only allow fast SwapBytesInWords if SIZEOF_UNSIGNED_LONG is defined
+
+2000-11-14 12:25  aleidinger
+
+	* libmp3lame/resample.h:
+
+	remove define of INLINE
+
+2000-11-14 12:24  aleidinger
+
+	* frontend/ieeefloat.c:
+
+	let configure handle little/big endianess
+
+2000-11-14 12:20  aleidinger
+
+	* libmp3lame/: bitstream.c, fft.c, newmdct.c, psymodel.c,
+	  quantize.c, takehiro.c, util.c:
+
+	INLINE -> inline
+
+2000-11-14 12:19  aleidinger
+
+	* libmp3lame/machine.h:
+
+	As discussed on the mailinglist:
+	 - correct when to define INLINE/inline
+	 - INLINE -> inline, configure already does something similar
+
+2000-11-14 12:18  aleidinger
+
+	* libmp3lame/encoder.c:
+
+	compile time resolvable assertions switched to compile time errors
+
+2000-11-14 12:18  aleidinger
+
+	* libmp3lame/lame.c:
+
+	 - compile time resolvable assertions switched to compile time errors
+	 - adjust version string
+
+2000-11-14 12:17  aleidinger
+
+	* frontend/parse.c:
+
+	 - adjust version string
+	 - sort system includes
+
+2000-11-14 12:16  aleidinger
+
+	* include/lame.h:
+
+	 - quiet 4 lclint "errors"
+	 - disable get_lame_about()
+
+2000-11-14 12:15  aleidinger
+
+	* libmp3lame/version.c:
+
+	 - switched from run time generated version strings to compile time
+	   generated ones
+	 - implement void get_lame_version_numerical(lame_version_t *const)
+	   (#ifdef'ed out)
+	 - disable get_lame_about(), snprintf isn't available in Win32
+
+2000-11-13 14:11  aleidinger
+
+	* dshow/Makefile.in:
+
+	regen (add dshow.dsw)
+
+2000-11-13 14:10  aleidinger
+
+	* dshow/Makefile.am:
+
+	add dshow.dsw
+
+2000-11-13 14:10  aleidinger
+
+	* misc/mugeco.sh:
+
+	shell math instead of awk math (no leading zeros needed)
+
+2000-11-13 13:42  pgubanov
+
+	* include/lame.h:
+
+	Explicit CDECL for API
+
+2000-11-13 13:31  pgubanov
+
+	* dshow/: Encoder.h, Encoder.cpp, dshow.dsp:
+
+	Synchronized with current LAME code
+
+2000-11-13 10:57  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	support for CONFIG_DEFS
+
+2000-11-13 10:57  aleidinger
+
+	* libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  frontend/Makefile.in:
+
+	regen
+
+2000-11-13 10:56  aleidinger
+
+	* libmp3lame/Makefile.am, frontend/Makefile.am:
+
+	 - support for CONFIG_DEFS
+	 - possibility to exclude code to lint
+
+2000-11-13 10:53  aleidinger
+
+	* frontend/ieeefloat.c:
+
+	remove CVS log tag/information, we have "cvs log" for this
+
+2000-11-13 10:50  aleidinger
+
+	* frontend/get_audio.c:
+
+	 - sort includes
+	 - compile time resolvable assertions switched to compile time errors
+	 - we didn't need to determine the size of "unsigned long" at runtime
+	   (KLEMM_10 case), we're able to do it at compile time (with the help
+	   of configure)
+
+2000-11-13 10:48  aleidinger
+
+	* libmp3lame/vbrquantize.c:
+
+	 - move define of TAKEHIRO_IEEE754_HACK into configure.in
+	 - commented out code -> ifdef'ed out code
+	   (I'm on a anti-warning rampage)
+
+2000-11-13 10:47  aleidinger
+
+	* libmp3lame/quantize_pvt.c:
+
+	move define of TAKEHIRO_IEEE754_HACK into configure.in
+
+2000-11-13 10:45  aleidinger
+
+	* misc/: abx.c, ath.c:
+
+	 - include config.h
+	 - include correct soundcard.h (with support from configure)
+
+2000-11-13 10:42  aleidinger
+
+	* configure, config.h.in, Makefile.in:
+
+	regen
+
+2000-11-13 10:41  aleidinger
+
+	* configure.in:
+
+	 - handle TAKEHIRO_IEEE754_HACK
+	 - support for 'CONFIG_DEFS="-Dxxx" ./configure'
+	 - handle endianess
+	 - check for soundcard.h
+
+2000-11-13 10:39  aleidinger
+
+	* mpglib/Makefile.in:
+
+	regen (add possibility to exclude code for linting)
+
+2000-11-13 10:38  aleidinger
+
+	* mpglib/Makefile.am:
+
+	add possibility to exclude code for linting
+
+2000-11-13 10:35  aleidinger
+
+	* misc/mugeco.sh:
+
+	add start and stop date/time
+
+2000-11-13 09:30  pgubanov
+
+	* dshow/dshow.dsw:
+
+	Initial release
+
+2000-11-12 22:18  aleidinger
+
+	* misc/mugeco.sh:
+
+	add id
+
+2000-11-12 22:17  aleidinger
+
+	* misc/mugeco.sh:
+
+	bugfix
+
+2000-11-12 20:45  aleidinger
+
+	* misc/Makefile.in:
+
+	regen (add mugeco.sh)
+
+2000-11-12 20:45  aleidinger
+
+	* misc/Makefile.am:
+
+	add mugeco.sh
+
+2000-11-12 20:43  aleidinger
+
+	* misc/mugeco.sh:
+
+	first version of the multi generation encoder script
+
+2000-11-12 10:57  aleidinger
+
+	* Makefile.in, configure:
+
+	regen (readd dshow)
+
+2000-11-12 10:56  aleidinger
+
+	* Makefile.am, configure.in:
+
+	readd dshow
+
+2000-11-11 23:20  pfk
+
+	* Makefile.DJGPP, Makefile.am, Makefile.in, Makefile.in.old,
+	  Makefile.unix, USAGE, configure, configure.in,
+	  frontend/get_audio.c, frontend/get_audio.h, frontend/main.c,
+	  frontend/parse.c, libmp3lame/bitstream.c, libmp3lame/encoder.h,
+	  libmp3lame/lame.c, libmp3lame/resample.c, libmp3lame/resample.h,
+	  libmp3lame/reservoir.c, libmp3lame/tables.c, libmp3lame/tables.h,
+	  libmp3lame/i386/scalar.nas, misc/abx.c:
+
+
+
+	A lot of very small changes. Most important is prparing of a more
+	sofisticated method to determine the bandwidth and the MP3 sampling
+	frequency.
+
+2000-11-11 17:26  aleidinger
+
+	* configure, Makefile.in:
+
+	regen (add dshow)
+
+2000-11-11 17:26  aleidinger
+
+	* configure.in, Makefile.am:
+
+	add dshow
+
+2000-11-11 17:25  aleidinger
+
+	* dshow/: Makefile.am, Makefile.in:
+
+	initial version
+
+2000-11-11 05:56  markt
+
+	* testcase.mp3, libmp3lame/encoder.c, libmp3lame/machine.h,
+	  libmp3lame/util.c:
+
+	updated testcases after changing some default settings
+
+2000-11-11 05:47  markt
+
+	* libmp3lame/encoder.c:
+
+	make RH_VALIDATE_MS the default
+
+2000-11-11 04:40  markt
+
+	* frontend/parse.c, libmp3lame/lame.c, libmp3lame/util.c:
+
+	undid some of Frank's changes to the resample code.
+
+2000-11-11 01:55  markt
+
+	* dshow/Encoder.cpp:
+
+	[no log message]
+
+2000-11-11 01:53  markt
+
+	* dshow/: Encoder.cpp, Encoder.h, Mpegac.cpp, Mpegac.def, Mpegac.h,
+	  PropPage.cpp, PropPage.h, PropPage_adv.cpp, PropPage_adv.h,
+	  Property.rc, README, REG.CPP, REG.H, UIDS.H, dshow.dsp,
+	  iaudioprops.h, resource.h:
+
+	directshow filter for LAME from Peter Gubanov
+
+2000-11-10 23:18  pfk
+
+	* frontend/get_audio.c, libmp3lame/lame.c, libmp3lame/machine.h,
+	  libmp3lame/resample.c, libmp3lame/resample.h, libmp3lame/util.c,
+	  libmp3lame/util.h, libmp3lame/i386/scalar.nas, misc/scalartest.c:
+
+
+
+	Resample continued.
+
+	The old code now uses a 31 Tap FIR for HQ coding and a 7 Tap FIR for MQ and
+	LQ coding.
+
+2000-11-10 14:42  aleidinger
+
+	* frontend/.cvsignore, libmp3lame/.cvsignore, mpglib/.cvsignore:
+
+	add lclint.txt
+
+2000-11-10 14:41  aleidinger
+
+	* frontend/Makefile.in, libmp3lame/Makefile.in, mpglib/Makefile.in:
+
+	regen (lclint target)
+
+2000-11-10 14:40  aleidinger
+
+	* config.h.in:
+
+	regen (HAVE_EFENCE)
+
+2000-11-10 14:39  aleidinger
+
+	* configure:
+
+	regen (disalbe-shared/HAVE_EFENCE)
+
+2000-11-10 14:36  aleidinger
+
+	* configure.in:
+
+	- new default: no shared lib
+	- define HAVE_EFENCE if apropriate
+
+2000-11-10 14:33  aleidinger
+
+	* mpglib/Makefile.am:
+
+	add lclint target (564 code "errors" found so far)
+
+2000-11-10 14:33  aleidinger
+
+	* frontend/Makefile.am:
+
+	add lclint target (471 code "errors" found so far)
+
+2000-11-10 14:32  aleidinger
+
+	* libmp3lame/Makefile.am:
+
+	add lclint target (1505 code "errors" found so far)
+
+2000-11-10 14:31  aleidinger
+
+	* libmp3lame/quantize.c:
+
+	fix RH_AMP (gfc = gfp->internal_flags)
+
+2000-11-09 22:01  pfk
+
+	* include/lame.h, libmp3lame/bitstream.c, libmp3lame/resample.c,
+	  libmp3lame/resample.h, libmp3lame/i386/scalar.nas, misc/ath.c,
+	  misc/scalartest.c:
+
+
+
+	Start of resampling.
+
+2000-11-09 00:29  pfk
+
+	* testcase.mp3, libmp3lame/bitstream.c, libmp3lame/id3tag.c,
+	  libmp3lame/machine.h, libmp3lame/version.h, misc/ath.c:
+
+
+
+	Small changes.
+
+	  - removed an old function strcasecmp (replaced by fuzzy_strcmp)
+	  - optimized region 2 bitcoder
+	  - remark about version.h (stringification)
+	  - INLINE = inline + static
+
+2000-11-08 19:59  aleidinger
+
+	* libmp3lame/resample.c, mpglib/layer1.c:
+
+	include assert.h, seems to be forgotten in last commit (how could this
+	compile?)
+
+2000-11-07 23:06  pfk
+
+	* frontend/get_audio.c, frontend/parse.c, frontend/timestatus.c,
+	  include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c,
+	  libmp3lame/id3tag.c, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/version.c,
+	  libmp3lame/version.h, misc/ath.c, mpglib/layer1.c:
+
+
+
+	Changed back to old report interface until we've discussed all possible
+	versions and make a decision.
+
+	Some bugfixes. Some remarks.
+
+2000-11-07 15:36  aleidinger
+
+	* configure:
+
+	regen after:
+	 - HAVE{MPGLIB,VORBIS,GTK} -> HAVE_$1
+	 - --disable-analyzer-hooks
+	 - --enable-efence
+
+2000-11-07 15:36  aleidinger
+
+	* config.h.in:
+
+	HAVE{MPGLIB,VORBIS,GTK} -> HAVE_$1
+
+2000-11-07 15:35  aleidinger
+
+	* configure.in:
+
+	- HAVE{MPGLIB,VORBIS,GTK} -> HAVE_$1
+	- --disable-analyzer-hooks
+	- --enable-efence    (use the ElectricFence malloc debugging library)
+
+2000-11-07 15:31  aleidinger
+
+	* frontend/get_audio.c, frontend/main.c, frontend/parse.c,
+	  libmp3lame/lame.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/vorbis_interface.c:
+
+	HAVE{MPGLIB,VORBIS,GTK} -> HAVE_$1
+
+2000-11-07 12:42  aleidinger
+
+	* frontend/Makefile.in, libmp3lame/Makefile.in:
+
+	regen after amiga_mpega.c move
+
+2000-11-07 12:41  aleidinger
+
+	* frontend/Makefile.am, libmp3lame/Makefile.am:
+
+	follow the move of amiga_mpega.c from libmp3lame to frontend
+
+2000-11-07 01:59  pfk
+
+	* frontend/brhist.c, frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/main.c, libmp3lame/bitstream.c, libmp3lame/version.h:
+
+
+
+	minor changes.
+
+	some options can be passed via "export LAMEOPT=..."
+
+2000-11-07 00:58  cisc
+
+	* Makefile.unix, frontend/amiga_mpega.c, libmp3lame/amiga_mpega.c:
+
+	Moved amiga_mpega.c to frontend where it belongs, and added it to Makefile.unix
+
+2000-11-07 00:14  markt
+
+	* libmp3lame/: bitstream.c, encoder.c, lame.c, psymodel.c,
+	  psymodel.h, quantize.c, quantize.h, quantize_pvt.c,
+	  quantize_pvt.h, reservoir.c, reservoir.h, util.c, util.h,
+	  vbrquantize.c:
+
+	removed lame_global_flags pointer from lame_internal_flags.
+
+2000-11-06 23:19  markt
+
+	* libmp3lame/: lame.c, quantize_pvt.c, util.c, util.h:
+
+	fixed resample bug when resampling by integer amounts.
+
+2000-11-06 19:26  cisc
+
+	* API:
+
+	Improved get_lame_xxx() API a little bit more
+
+2000-11-06 19:22  cisc
+
+	* frontend/gtkanal.c, frontend/parse.c, include/lame.h,
+	  libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/lame.c,
+	  libmp3lame/version.c, libmp3lame/version.h:
+
+	Improved get_lame_xxx() API a little bit more
+
+2000-11-06 17:29  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c:
+
+	fixed segmentation fault in Frank's noise calculation
+	implemented Todd Richmond's idea to speed up the outer_loop()
+
+2000-11-06 12:31  aleidinger
+
+	* libmp3lame/i386/.cvsignore:
+
+	add .lst files
+
+2000-11-06 08:22  markt
+
+	* Makefile.am, configure.in, frontend/.indent.pro,
+	  frontend/brhist.c, libmp3lame/.indent.pro:
+
+	went back to frame counts in VBR display
+
+2000-11-06 04:24  markt
+
+	* frontend/get_audio.c, mpglib/interface.c, mpglib/mpglib.h:
+
+	cleaned up mpeg header search code in get_audio.c
+	modified mpglib so we can move VBR header code into mpglib
+	and out of the frontend code.  a little more work is still needed.
+
+2000-11-06 01:13  pfk
+
+	* libmp3lame/: bitstream.c, bitstream.h, id3tag.c, util.o:
+
+
+
+	Small changes for fuzzy ID3 tag compare.
+
+2000-11-06 00:58  cisc
+
+	* frontend/gtkanal.c, frontend/parse.c, include/lame.h,
+	  libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/lame.c,
+	  libmp3lame/version.c, libmp3lame/version.h:
+
+	Modified get_lame_xxx() API so it's more re-entrance friendly (returning a const pointer from a static var that's changed every time the function is called is really dirty!).
+
+2000-11-05 22:27  pfk
+
+	* testcase.mp3, frontend/parse.c, frontend/rtp.h,
+	  frontend/timestatus.c, libmp3lame/lame.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h:
+
+
+
+	Minor changes.
+	Added -X8.
+
+2000-11-05 18:29  pfk
+
+	* frontend/get_audio.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/quantize.c, libmp3lame/util.h, libmp3lame/util.o:
+
+
+
+	  Changed lame_init_???_init to Class_ID.
+	  On initialization this variable gets the value LAME_ID.
+	  Advantages documented.
+
+	Some little Bugs fixed.
+
+2000-11-05 17:13  takehiro
+
+	* Makefile.in, configure, configure.in, Dll/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  frontend/Makefile.in, frontend/main.c, frontend/parse.c,
+	  include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/newmdct.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in:
+
+	configure.in: typo fix
+	newmdct.c: precision fix(?)
+
+2000-11-05 14:52  aleidinger
+
+	* libmp3lame/i386/Makefile.in:
+
+	regen (clean of generated .lst files)
+
+2000-11-05 14:52  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	add generated .lst files to files to clean
+
+2000-11-05 14:41  aleidinger
+
+	* misc/Makefile.in:
+
+	regen after adding scalartest.c
+
+2000-11-05 14:40  aleidinger
+
+	* misc/Makefile.am:
+
+	add scalartest.c
+
+2000-11-05 14:34  aleidinger
+
+	* libmp3lame/: util.c~, util.d, util.o:
+
+	remove generated/backup files, seems they are commited by accident
+
+2000-11-05 13:15  pfk
+
+	* libmp3lame/: tools.c, tools.h:
+
+
+
+	add file for generic tools.
+
+2000-11-05 13:09  pfk
+
+	* testcase.mp3, libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/lame.c, libmp3lame/lameerror.h, libmp3lame/psymodel.c,
+	  libmp3lame/resample.c, libmp3lame/resample.h,
+	  libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/util.c,
+	  libmp3lame/util.c~, libmp3lame/util.d, libmp3lame/util.h,
+	  libmp3lame/util.o, libmp3lame/version.h,
+	  libmp3lame/i386/scalar.nas, misc/scalartest.c:
+
+
+
+	  * Changed psy_data from double to float (this ssem not to change any bit in
+	    MP3, but saves 20 KB).
+
+	  * Other, but small modifications
+
+2000-11-05 00:19  pfk
+
+	* frontend/brhist.c:
+
+
+
+	bugfix. Sorry
+
+2000-11-04 18:15  pfk
+
+	* frontend/brhist.c, frontend/brhist.h, frontend/mp3rtp.c,
+	  frontend/rtp.c, frontend/rtp.h, frontend/timestatus.c,
+	  include/lame.h, libmp3lame/resample.c, libmp3lame/resample.h,
+	  libmp3lame/tables.c, libmp3lame/version.c,
+	  libmp3lame/i386/Makefile.am, libmp3lame/i386/Makefile.in,
+	  libmp3lame/i386/scalar.nas, misc/ath.c:
+
+
+
+	small changes in brhist.
+	some tests and modifications for streaming MP3.
+	other unremarkable stuff
+
+2000-11-04 02:18  pfk
+
+	* doc/html/switchs.html, frontend/get_audio.c,
+	  frontend/timestatus.c:
+
+
+
+	Unimportant changes.
+
+2000-11-03 14:21  aleidinger
+
+	* libmp3lame/id3tag.c:
+
+	more 'const'nes, also saves some bytes in the generated .o
+
+2000-11-03 14:13  aleidinger
+
+	* libmp3lame/i386/Makefile.in:
+
+	regen after change in Makefile.am
+
+2000-11-03 14:13  aleidinger
+
+	* libmp3lame/i386/Makefile.am:
+
+	remove trailing backslash in last line of EXTRA_DIST
+
+2000-11-03 14:08  aleidinger
+
+	* doc/html/contributors.html:
+
+	add myself to contributors
+
+2000-11-03 14:07  aleidinger
+
+	* configure:
+
+	NOTERMCAP/TERMCAP_AVAILABLE -> HAVE_TERMCAP
+
+2000-11-03 14:04  aleidinger
+
+	* frontend/brhist.c, configure.in, config.h.in:
+
+	NOTERMCAP/TERMCAP_AVAILABLE -> HAVE_TERMCAP
+
+2000-11-03 14:00  aleidinger
+
+	* frontend/parse.c:
+
+	add missing include
+
+2000-11-03 00:47  pfk
+
+	* frontend/brhist.c, frontend/console.c, frontend/console.h,
+	  frontend/mp3rtp.c, frontend/parse.c, frontend/timestatus.c,
+	  include/lame.h, libmp3lame/bitstream.c, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/resample.h,
+	  libmp3lame/util.c, libmp3lame/version.c, libmp3lame/version.h,
+	  libmp3lame/i386/Makefile.am, libmp3lame/i386/Makefile.in,
+	  libmp3lame/i386/scalar.nas:
+
+
+
+	Minor changes. Biggest ist in bitstream.c, but triggered by KLEMM_14.
+
+2000-11-02 17:16  pfk
+
+	* TODO, frontend/brhist.c, frontend/console.c, frontend/console.h,
+	  libmp3lame/resample.c, libmp3lame/resample.h,
+	  libmp3lame/version.c, libmp3lame/i386/scalar.nas:
+
+
+
+	These are minor changes to a version which fails on my computer.
+
+	  * MMX reporting added to get_lame_version(9 as requested by TODO.
+	  * Added 5 files for resampling and console IO.
+
+2000-11-02 12:57  aleidinger
+
+	* mpglib/: common.c, common.h:
+
+	bugfix for --disable-decoder-layer1 case
+
+2000-11-01 21:56  markt
+
+	* LICENSE, frontend/parse.c, include/lame.h:
+
+	updated LICENSE to remove comments about libsndfile,
+	since libsndfile no longer included in library
+
+2000-11-01 21:54  markt
+
+	* libmp3lame/: .indent.pro, bitstream.c, version.h:
+
+	added indent.pro back to CVS
+
+2000-11-01 18:25  markt
+
+	* STYLEGUIDE, libmp3lame/encoder.c:
+
+	some more context fixes
+
+2000-11-01 18:22  markt
+
+	* libmp3lame/: newmdct.c, psymodel.c, quantize.c, quantize_pvt.c,
+	  reservoir.c, reservoir.h, takehiro.c, util.c, vbrquantize.c:
+
+	removed more 'context'.
+
+	lame now segfaults.
+
+2000-11-01 18:06  markt
+
+	* libmp3lame/: .indent.pro, VbrTag.c, fft.c, fft.h, id3tag.c,
+	  lame.c, newmdct.h, psymodel.h, quantize.h, quantize_pvt.h:
+
+	 removing 'context'
+
+2000-11-01 17:56  markt
+
+	* libmp3lame/: bitstream.c, bitstream.h, util.h:
+
+	restored bitstream.c to original.
+	drain_into_ancillary_data was written the way it is
+	on purpose.  dont change it without checking with me first
+
+2000-11-01 17:46  markt
+
+	* libmp3lame/util.h:
+
+	[no log message]
+
+2000-11-01 17:40  markt
+
+	* libmp3lame/util.h:
+
+	removed 'context'
+	why was lame_internal_flags renamed context?
+	This is under the catagory of cosmetic.
+
+2000-11-01 17:32  markt
+
+	* STYLEGUIDE, frontend/get_audio.c, frontend/parse.c,
+	  libmp3lame/lame.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/quantize.c, libmp3lame/quantize_pvt.c:
+
+	removed some cosmetic changes.
+
+2000-11-01 16:09  robert
+
+	* frontend/: mp3rtp.c, rtp.c:
+
+	mp3rtp was broken, does now compile again
+
+2000-11-01 14:35  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.h:
+
+	only cosmetic changes, done by indent
+
+2000-11-01 14:31  robert
+
+	* frontend/.indent.pro, libmp3lame/.indent.pro, misc/.indent.pro:
+
+	these files are used by the indent program to pretty format sources
+
+2000-11-01 00:01  robert
+
+	* frontend/: brhist.c, brhist.h, main.c, timestatus.c:
+
+	some more brhist pretty print
+
+2000-10-31 13:58  aleidinger
+
+	* frontend/Makefile.in:
+
+	regen after bugfix in Makefile.am
+
+2000-10-31 13:57  aleidinger
+
+	* frontend/Makefile.am:
+
+	fix build of mp3x
+
+2000-10-31 13:18  robert
+
+	* Makefile.MSVC, frontend/brhist.c, frontend/lametime.h:
+
+	fixes for bitrate histogram and MS compilation
+
+2000-10-31 12:18  robert
+
+	* frontend/: lametime.c, parse.c, timestatus.c:
+
+	quick fixes for Console_IO stuff
+	Console_IO is declared in brhist.c, but when compiling
+	without bitrate histogram capabilities the code would
+	not compile anymore
+
+2000-10-30 23:58  robert
+
+	* Makefile.MSVC, Makefile.unix:
+
+	analyzer stuff was moved to frontend
+	because of automake/configure
+
+2000-10-30 22:34  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	Takehiro's IEEE754 hack for VBR modes new and mtrh
+
+2000-10-30 11:28  aleidinger
+
+	* Makefile.in:
+
+	we didn't need acconfig.h, so don't depend on it
+
+2000-10-30 10:51  robert
+
+	* libmp3lame/util.c:
+
+	BUG fix for debug code for BUG fix for fill_buffer_resample()  ;-(
+
+2000-10-30 10:48  robert
+
+	* libmp3lame/util.c:
+
+	BUG fix for fill_buffer_resample()
+
+2000-10-29 22:26  robert
+
+	* libmp3lame/util.c:
+
+	small fix for fill_buffer_resample()
+	some buffers where too small allocated, but this will
+	not really help, the routine has some ugly looking points
+	left that need to be fixed.
+
+2000-10-29 21:11  robert
+
+	* libmp3lame/: VbrTag.c, bitstream.c, bitstream.h, encoder.c,
+	  id3tag.c, lame.c, quantize.c, quantize_pvt.c, reservoir.c,
+	  reservoir.h, util.c, util.h, vbrquantize.c:
+
+	gfp gfc stuff FINISHED for now
+
+2000-10-29 20:03  robert
+
+	* libmp3lame/: encoder.c, fft.c, fft.h, newmdct.c, newmdct.h,
+	  psymodel.c, psymodel.h, quantize_pvt.h, takehiro.c:
+
+	a step further with this gfp gfc stuff
+
+2000-10-29 19:15  robert
+
+	* libmp3lame/: quantize_pvt.h, takehiro.c, util.h:
+
+	some more gfc stuff
+
+2000-10-29 18:12  robert
+
+	* libmp3lame/: encoder.c, quantize.c, quantize.h, quantize_pvt.c,
+	  quantize_pvt.h, takehiro.c, vbrquantize.c:
+
+	more on gfp gfc reorganization
+
+2000-10-29 16:37  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  takehiro.c, vbrquantize.c:
+
+	gfp gfc reorganization
+
+2000-10-29 13:58  robert
+
+	* libmp3lame/: fft.c, lame.c, psymodel.c, quantize.c,
+	  quantize_pvt.c, util.h:
+
+	data encapsulating Naoki's psymode
+
+2000-10-29 12:52  aleidinger
+
+	* .cvsignore:
+
+	add some config.h related files
+
+2000-10-29 12:51  aleidinger
+
+	* configure:
+
+	now with support for config.h
+
+2000-10-29 12:50  aleidinger
+
+	* Makefile.in, Dll/Makefile.in, doc/Makefile.in,
+	  doc/html/Makefile.in, doc/man/Makefile.in, frontend/Makefile.in,
+	  include/Makefile.in, libmp3lame/Makefile.in,
+	  libmp3lame/i386/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in:
+
+	regenerated after adding support for config.h
+
+2000-10-29 12:49  aleidinger
+
+	* frontend/Makefile.am, libmp3lame/Makefile.am, mpglib/Makefile.am:
+
+	support for config.h
+
+2000-10-29 12:47  aleidinger
+
+	* config.h.in, stamp-h.in:
+
+	config.h support
+
+2000-10-29 12:45  aleidinger
+
+	* frontend/brhist.c, frontend/get_audio.c, frontend/gpkplotting.c,
+	  frontend/gtkanal.c, frontend/ieeefloat.c, frontend/lametime.c,
+	  frontend/main.c, frontend/mp3rtp.c, frontend/mp3x.c,
+	  frontend/parse.c, frontend/portableio.c, frontend/rtp.c,
+	  frontend/timestatus.c, configure.in, aclocal.m4:
+
+	support for config.h
+
+2000-10-29 12:41  aleidinger
+
+	* mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c,
+	  mpglib/interface.c, mpglib/layer1.c, mpglib/layer2.c,
+	  mpglib/layer3.c, mpglib/tabinit.c, libmp3lame/VbrTag.c,
+	  libmp3lame/amiga_mpega.c, libmp3lame/bitstream.c,
+	  libmp3lame/debugscalefac.c, libmp3lame/encoder.c,
+	  libmp3lame/fft.c, libmp3lame/id3tag.c, libmp3lame/lame.c,
+	  libmp3lame/mpglib_interface.c, libmp3lame/newmdct.c,
+	  libmp3lame/psymodel.c, libmp3lame/quantize.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/reservoir.c,
+	  libmp3lame/tables.c, libmp3lame/takehiro.c, libmp3lame/util.c,
+	  libmp3lame/vbrquantize.c, libmp3lame/version.c,
+	  libmp3lame/vorbis_interface.c:
+
+	support for config.h
+
+2000-10-28 21:57  pfk
+
+	* configure, libmp3lame/bitstream.c, libmp3lame/bitstream.h,
+	  libmp3lame/lame.c:
+
+
+
+	CRC table based code removed
+
+	Ease CRC header calculation
+
+2000-10-28 14:23  pfk
+
+	* frontend/get_audio.c, frontend/lametime.c, frontend/lametime.h,
+	  frontend/main.c, frontend/mp3x.c, frontend/parse.c,
+	  include/lame.h, libmp3lame/bitstream.c, libmp3lame/lame.c,
+	  libmp3lame/util.c, libmp3lame/util.h:
+
+
+
+	Moved 2 functions from util.c to lametime.c
+
+	Fixed a memory leak caused by an early return
+
+	bitstream: Local crc moved to gfp->crcvalue, next step can be to remove a
+	function parameter
+
+	minor changes
+
+2000-10-28 12:31  robert
+
+	* include/lame.h, libmp3lame/VbrTag.c, libmp3lame/bitstream.c,
+	  libmp3lame/lame.c, libmp3lame/util.c, libmp3lame/util.h:
+
+	hunting some BUGs, but still not found
+	encoding a mono VBR resampled to 11 kHz shows some strange behaviour
+
+2000-10-28 10:47  aleidinger
+
+	* Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in,
+	  doc/man/Makefile.in, frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/i386/Makefile.in,
+	  misc/Makefile.in, mpglib/Makefile.in:
+
+	don't use gtar instead of tar
+
+2000-10-28 10:42  aleidinger
+
+	* lame.spec:
+
+	lame.spec gets now generated at configure time from lame.spec.in
+
+2000-10-28 10:40  aleidinger
+
+	* Makefile.am, Makefile.in:
+
+	- add lame.spec.in to distribution
+	- remove lame.spec from distribution
+	- show how long lame needs for the testcase
+
+2000-10-28 10:35  aleidinger
+
+	* configure.in, configure:
+
+	- generate lame.spec from lame.spec.in
+	- CPU specific optimizations (x86, gcc 2.7.3.x or better)
+
+2000-10-28 10:32  aleidinger
+
+	* lame.spec.in:
+
+	template for configure to generate lame.spec
+
+2000-10-28 01:29  pfk
+
+	* include/lame.h, libmp3lame/lame.c, libmp3lame/util.c,
+	  libmp3lame/util.h, libmp3lame/version.h:
+
+
+
+	  short => sample_t  in lame_encode_buffer and all the related stuff
+
+	  some essential but simple speedups in resampling code
+
+	  resulting MP3 will be different from previous
+
+	  code modification not finished, this is only half of the work
+
+2000-10-27 23:04  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	max_range tables
+
+2000-10-27 21:50  pfk
+
+	* frontend/main.c, libmp3lame/lame.c, libmp3lame/psymodel.c,
+	  libmp3lame/util.c, libmp3lame/util.h:
+
+
+
+	KLEMM_04(old) removed, scalar routines introduced.
+
+2000-10-27 21:34  robert
+
+	* libmp3lame/vbrquantize.c:
+
+	LSF needs some different max_range tables
+	I plugged some in and it seems to work
+	they are designed after max_sfac_tab[6][4]
+	you may look into scale_bitcount_lsf()
+
+2000-10-27 16:30  robert
+
+	* libmp3lame/: quantize.c, vbrquantize.c:
+
+	LSF hack for vbr-mtrh VBR mode
+
+2000-10-27 15:48  takehiro
+
+	* libmp3lame/newmdct.c:
+
+	bit optimization
+
+2000-10-27 11:27  robert
+
+	* libmp3lame/quantize_pvt.c, mpglib/layer3.c:
+
+	BUG in frame analyzer fixed, there was some wild pointer used
+	in layer3.c in preflag condition
+
+2000-10-27 11:19  takehiro
+
+	* libmp3lame/: machine.h, tables.c, tables.h,
+	  i386/choose_table.nas:
+
+	64bit int lookup table moved from C code to asm code.
+
+2000-10-26 19:07  pfk
+
+	* frontend/brhist.c, frontend/get_audio.c, frontend/mp3rtp.c,
+	  frontend/timestatus.c, include/lame.h, libmp3lame/bitstream.c,
+	  libmp3lame/psymodel.c, libmp3lame/util.c, misc/ath.c:
+
+
+
+	Make some modifications active.
+
+	No Termcap terms are now handled in the same way like termcap terms.
+
+2000-10-25 22:18  robert
+
+	* libmp3lame/: quantize.c, quantize.h, quantize_pvt.h,
+	  vbrquantize.c:
+
+	improved vbr_mtrh VBR mode
+
+2000-10-25 14:03  aleidinger
+
+	* frontend/Makefile.am:
+
+	prevent the CVS Id from being integrated into Makefile.in
+
+2000-10-24 22:47  robert
+
+	* Makefile.MSVC, Makefile.unix, libmp3lame/quantize.c:
+
+	improved RH_AMP
+
+2000-10-24 22:17  pfk
+
+	* frontend/get_audio.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/psymodel.c:
+
+
+
+	Better syncword recognization
+
+2000-10-24 18:11  takehiro
+
+	* configure, configure.in, frontend/Makefile.in,
+	  libmp3lame/machine.h:
+
+	configure/configure.in
+	  added "--enable-all-float", which make FLOAT8 as float
+
+	machine.h
+	  FLOAT (and FLOAT8) typedef fix for alpha processor
+
+2000-10-24 17:44  takehiro
+
+	* libmp3lame/newmdct.c:
+
+	loop integration.
+	"make test" may find some difference caused by some rounding problem
+
+2000-10-24 15:01  robert
+
+	* libmp3lame/quantize.c:
+
+	fix for -q7 mode
+
+2000-10-24 13:54  robert
+
+	* libmp3lame/quantize.c:
+
+	typo
+
+2000-10-24 13:28  robert
+
+	* libmp3lame/: quantize.c, quantize_pvt.c, quantize_pvt.h:
+
+	some simplifications
+
+2000-10-24 11:40  robert
+
+	* Makefile.MSVC, Makefile.unix, libmp3lame/quantize.c:
+
+	improvements, need some compile time defines, look into Makefile.unix
+
+2000-10-23 18:59  robert
+
+	* libmp3lame/machine.h:
+
+	FLOAT is float, FLOAT8 is double  again ;-)
+
+2000-10-23 15:50  takehiro
+
+	* Makefile.am, Makefile.in, frontend/Makefile.in:
+
+	more make test update
+
+2000-10-23 15:44  takehiro
+
+	* libmp3lame/machine.h:
+
+	sorry, mistaken check in....
+
+2000-10-23 15:40  takehiro
+
+	* Makefile.am, Makefile.in, lame.spec, Dll/Makefile.in,
+	  doc/Makefile.in, doc/html/Makefile.in, doc/man/Makefile.in,
+	  frontend/Makefile.in, include/Makefile.in,
+	  libmp3lame/Makefile.in, libmp3lame/machine.h,
+	  libmp3lame/i386/Makefile.in, misc/Makefile.in,
+	  mpglib/Makefile.in:
+
+	"make test" update
+
+2000-10-23 15:40  takehiro
+
+	* libmp3lame/bitstream.c:
+
+	cosmetic change
+
+2000-10-23 10:16  aleidinger
+
+	* Makefile.in:
+
+	update after change to Makefile.am
+
+2000-10-23 10:16  aleidinger
+
+	* Makefile.am:
+
+	let test targetbuild frontend/lame if it isn't already build
+	 - didn't work with "make -j 4 test"
+	 - IMHO the previous version was a feature
+	(requested by Takehiro-san)
+
+	splittet test target into more subtargets
+
+	corrected testg target
+
+	added CVS_RSH=ssh to update/diff target
+
+2000-10-22 22:50  robert
+
+	* libmp3lame/psymodel.c:
+
+	fix for short block I introduced 2000-10-19
+
+2000-10-22 18:20  pfk
+
+	* Makefile.unix, frontend/brhist.c, frontend/brhist.h,
+	  frontend/get_audio.c, frontend/main.c, frontend/parse.c,
+	  frontend/parse.h, include/lame.h, libmp3lame/bitstream.c,
+	  libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/lame.c,
+	  libmp3lame/reservoir.c, libmp3lame/util.c, libmp3lame/util.h,
+	  libmp3lame/version.c, libmp3lame/version.h, misc/ath.c:
+
+
+
+	A lot of small changes, most of them must be switched on via compile time
+	defines.
+
+	vbr displays shows MS and LR frames different.
+
+	vbr displays depends on the current display width.
+
+2000-10-22 15:36  takehiro
+
+	* Makefile.am:
+
+	do "make test" with one step
+
+2000-10-22 15:28  takehiro
+
+	* .cvsignore, Dll/.cvsignore, doc/.cvsignore, doc/html/.cvsignore,
+	  doc/man/.cvsignore, frontend/.cvsignore, include/.cvsignore,
+	  libmp3lame/.cvsignore, libmp3lame/i386/.cvsignore,
+	  misc/.cvsignore, mpglib/.cvsignore:
+
+	igonore Makefile.am things (.libs, .deps, and so on)
+
+2000-10-22 15:17  takehiro
+
+	* libmp3lame/.cvsignore, mpglib/.cvsignore:
+
+	added *.lo
+
+2000-10-22 12:06  aleidinger
+
+	* ltconfig, ltmain.sh, missing, mkinstalldirs:
+
+	generated by automake/libtool
+
+2000-10-22 12:02  aleidinger
+
+	* frontend/Makefile.in, libmp3lame/Makefile.in, mpglib/Makefile.in:
+
+	generated by automake
+
+2000-10-22 12:01  aleidinger
+
+	* configure:
+
+	now with automake/libtool support
+
+2000-10-22 12:00  aleidinger
+
+	* confdefs.h:
+
+	seems to get generated at configure time
+
+2000-10-22 11:58  aleidinger
+
+	* aclocal.m4:
+
+	generated by aclocal
+
+2000-10-22 11:58  aleidinger
+
+	* configure.in:
+
+	- add asm support if nasm is found
+	  (if we support this, see ASM_FOR_ARCH)
+	- added automake support
+	- added libtool support
+	  (a Dll user should look into "AC_LIBTOOL_WIN32_DLL" of the libtool
+	  documentation and send apropriate patches)
+	- --enable-{mp3x,mp3rtp}
+	- only build analyzer if GTK is present
+	- set CPUTYPE (to use asm routines where supported)
+	- --enable-decoder* -> --disable-decoder*
+
+2000-10-22 11:57  aleidinger
+
+	* acinclude.m4:
+
+	remove GTK entry, "aclocal" takes care of it in aclocal.m4
+
+2000-10-22 11:53  aleidinger
+
+	* misc/Makefile.am:
+
+	Initial automake support
+
+2000-10-22 11:52  aleidinger
+
+	* Dll/Makefile.in, doc/Makefile.in, doc/html/Makefile.in,
+	  doc/man/Makefile.in, include/Makefile.in,
+	  libmp3lame/i386/Makefile.in, misc/Makefile.in, Makefile.in:
+
+	generated by automake
+
+2000-10-22 11:50  aleidinger
+
+	* frontend/: README.Win32, gpkplotting.c, gpkplotting.h, gtkanal.c,
+	  gtkanal.h, mp3x.c, mp3x.dsp, mp3x.dsw:
+
+	moved from analyzer/... because automake didn't allows sources for one
+	program/library to be in more than one directory (at least without
+	hacks)
+
+2000-10-22 11:46  aleidinger
+
+	* Makefile.am:
+
+	- initial automake support
+	- delete testcase.new.mp3 on "clean"
+	- added "update" target, does a cvs update
+	- added "diff" target, does a cvs diff -u
+
+2000-10-22 11:44  aleidinger
+
+	* frontend/Makefile.am:
+
+	- initial automake support
+	- conditionally build mp3x/mp3rtp
+
+2000-10-22 11:43  aleidinger
+
+	* libmp3lame/: Makefile.am, i386/Makefile.am:
+
+	Initial automake/libtool support:
+	 - if nasm is detected and we have asm for this @CPUTYPE@:
+	    * include asm support
+	 - didn't build without decoder: "undefined reference to `mpg123_pinfo'"
+
+2000-10-22 11:41  aleidinger
+
+	* mpglib/Makefile.am:
+
+	Initial automake/libtool support:
+	 - mpglib gets linked to libmp3lame.{a,so}
+	 - isn't installed on it's own
+
+2000-10-22 11:39  aleidinger
+
+	* Dll/Makefile.am, doc/Makefile.am, doc/html/Makefile.am,
+	  doc/man/Makefile.am, include/Makefile.am:
+
+	Initial automake support.
+
+2000-10-22 10:19  takehiro
+
+	* libmp3lame/: l3side.h, newmdct.c, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h, takehiro.c, vbrquantize.c:
+
+	1. changed sfb_smax to sfb_smin. it is really minimum number, and so confusing.
+	2. prepare for mixed block
+	3. prepare for asm quantize code
+
+2000-10-22 09:41  takehiro
+
+	* libmp3lame/: fft.c, util.h:
+
+	no need to be in internal flag for constants
+
+2000-10-22 09:27  takehiro
+
+	* libmp3lame/: Makefile.in, encoder.c, newmdct.c, newmdct.h,
+	  util.h:
+
+	1 (util.h) deleted unused flag from internal flags
+	2 (newmdct) in place code of mdct_short
+	3 some cosmetic change
+
+2000-10-22 08:25  takehiro
+
+	* libmp3lame/newmdct.c:
+
+	code clean up
+
+2000-10-22 06:56  takehiro
+
+	* libmp3lame/machine.h:
+
+	deleted old remark about asm routine
+
+2000-10-22 06:56  takehiro
+
+	* libmp3lame/newmdct.c:
+
+	code cleanup
+
+2000-10-21 19:28  takehiro
+
+	* libmp3lame/: quantize_pvt.c, i386/choose_table.nas:
+
+	reduce memory assumption little and bit faster choose_table
+
+2000-10-21 19:11  takehiro
+
+	* libmp3lame/newmdct.c:
+
+	add coment and remove unused code
+
+2000-10-21 19:01  takehiro
+
+	* libmp3lame/newmdct.c:
+
+	bit optimization and now thread safe, I think.
+
+2000-10-21 17:24  takehiro
+
+	* libmp3lame/newmdct.c:
+
+	brute force loop unrolling and some elimination of multiple.
+	bit faster.
+
+2000-10-21 13:05  robert
+
+	* libmp3lame/: encoder.c, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h, vbrquantize.c:
+
+	frame analyzer info will now be set up in main encoding
+	routine only, for the whole frame. problem with SCFSI fixed
+
+2000-10-20 21:46  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	Added lame alpha, beta version and if MMX is enabled to the version interface,
+	should be backward compatible
+
+2000-10-20 21:43  afaber
+
+	* frontend/brhist.c:
+
+	Fixed histgramming display for Win32, added fflush
+
+2000-10-20 20:50  afaber
+
+	* frontend/: brhist.c, brhist.h:
+
+	Resolved const mistach beween BRHIST function declartions
+
+2000-10-20 20:49  afaber
+
+	* libmp3lame/libmp3lame.dsp:
+
+	Added MPGLIB define
+
+2000-10-20 19:28  robert
+
+	* misc/: abx.c, ath.c:
+
+	initial checkin
+
+2000-10-20 13:04  robert
+
+	* libmp3lame/: quantize.c, vbrquantize.c:
+
+	I think I fixed a BUG in subblock gain code
+
+2000-10-19 21:10  robert
+
+	* frontend/parse.c, include/lame.h, libmp3lame/lame.c,
+	  libmp3lame/psymodel.c, libmp3lame/quantize.c:
+
+	fixed BUG in atQ table, removed --raise-smr stuff
+
+2000-10-18 17:34  robert
+
+	* libmp3lame/lame-analysis.h:
+
+	no way to disable analysis for lame-lib
+
+2000-10-18 16:47  robert
+
+	* libmp3lame/lame-analysis.h, mpglib/layer3.c, mpglib/mpglib.h:
+
+	fixed some ambiguities
+	define NOANALYSIS as suggested in INSTALL if you don't want
+	to collect some analysis data
+
+2000-10-18 11:18  robert
+
+	* frontend/brhist.c, include/lame.h, libmp3lame/lame.c:
+
+	some tweaks
+
+2000-10-18 11:02  shibatch
+
+	* libmp3lame/psymodel.c:
+
+	Rewrote double to FLOAT8.
+
+2000-10-18 10:55  shibatch
+
+	* libmp3lame/psymodel.c:
+
+	Added short block pre-echo control to --nspsytune.
+	This improves castanets.wav.
+
+2000-10-17 22:59  pfk
+
+	* STYLEGUIDE, frontend/brhist.c, frontend/brhist.h,
+	  frontend/get_audio.h, frontend/main.c, frontend/parse.c,
+	  frontend/parse.h, frontend/timestatus.c, include/lame.h,
+	  libmp3lame/lame.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/psymodel.c, libmp3lame/util.h:
+
+
+
+	 * small changes to prepare to add a lame float interface
+	 * other stuff
+
+2000-10-17 00:13  pfk
+
+	* Makefile.unix, frontend/brhist.c, frontend/brhist.h,
+	  frontend/get_audio.c, frontend/timestatus.c, include/lame.h,
+	  libmp3lame/VbrTag.c, libmp3lame/bitstream.c, libmp3lame/fft.c,
+	  libmp3lame/lame.c, libmp3lame/mpglib_interface.c,
+	  libmp3lame/quantize_pvt.c, libmp3lame/version.c,
+	  libmp3lame/version.h:
+
+
+
+	removed some shorts.
+	two version of version report
+	some minor changes
+
+2000-10-16 22:19  robert
+
+	* frontend/: brhist.c, main.c:
+
+	cosmetics
+
+2000-10-16 19:55  florian
+
+	* Makefile.in, configure, configure.in, libmp3lame/Makefile.in,
+	  libmp3lame/lame.c, mpglib/Makefile.in:
+
+	integrated Alexanders patch, minor bug fixes
+
+2000-10-16 19:29  robert
+
+	* libmp3lame/: tables.c, tables.h, takehiro.c:
+
+	takehiro.c now thread safer
+
+2000-10-16 19:27  robert
+
+	* frontend/brhist.h:
+
+	missing include files
+
+2000-10-16 10:03  robert
+
+	* Makefile.unix:
+
+	some convenience
+
+2000-10-16 02:40  markt
+
+	* include/lame.h, libmp3lame/VbrTag.c:
+
+	[no log message]
+
+2000-10-16 02:29  markt
+
+	* include/lame.h:
+
+	added some prototypes.  no code yet
+
+2000-10-16 02:29  markt
+
+	* API:
+
+	added some lame_set_variable prototypes in lame.h
+
+2000-10-16 02:17  markt
+
+	* frontend/mp3rtp.c, include/lame.h, libmp3lame/fft.h,
+	  libmp3lame/lame.c:
+
+	fixed fft.h defines
+
+2000-10-16 02:12  markt
+
+	* API, Makefile.in, configure, configure.in:
+
+	broken frame analyzer fixed - -DANALYSIS was missing from default
+	library build
+
+2000-10-16 01:38  markt
+
+	* frontend/: get_audio.c, main.c, mp3rtp.c:
+
+	fixed broken fskip()
+
+2000-10-16 01:37  markt
+
+	* STYLEGUIDE, Dll/BladeMP3EncDLL.c:
+
+	fixed Frank's broken fskip()
+
+2000-10-16 00:44  markt
+
+	* libmp3lame/: Makefile.in, mpglib_interface.c, util.c, util.h:
+
+	made data for resampling dynamically allocated
+
+2000-10-16 00:28  pfk
+
+	* STYLEGUIDE, frontend/brhist.c, frontend/brhist.h,
+	  frontend/get_audio.c, frontend/parse.c, frontend/timestatus.c,
+	  frontend/timestatus.h:
+
+
+
+	Most changes must be switched on via KLEMM_0[0-9].
+	Also some minor changes.
+	Start of short documenation of the source code.
+
+	_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+
+	****************
+	*** #defines ***
+	****************
+
+	KLEMM_01: Use my experimental data to calculate ATH
+	          But masking for >16 kHz seems to be buggy.
+	KLEMM_02: lame_set_stream_binary_mode() and lame_get_file_size() as
+	          lib function, still searching a better place for that
+	KLEMM_03: not more used
+	KLEMM_04: faster FIR filter with less rounding errors
+	KLEMM_05: sparse VBR bitrate display
+	KLEMM_06: fskip() uses fseek() if possible
+	KLEMM_07: use of timestatus_klemm.c which only uses timestatus.c functions,
+	          some code clarification and documentation
+
+2000-10-15 22:46  markt
+
+	* libmp3lame/: util.c, util.h:
+
+	lowpass filtering data structurs made dynamic
+
+2000-10-15 21:23  markt
+
+	* USAGE:
+
+	[no log message]
+
+2000-10-15 21:17  markt
+
+	* frontend/get_audio.c, libmp3lame/VbrTag.c:
+
+	Fixed bug parsing Xing VBR header: lame will now compute
+	correct number of frames when decoding
+
+2000-10-15 20:54  markt
+
+	* Makefile.unix, frontend/get_audio.c, frontend/main.c:
+
+	playback bugfix
+
+2000-10-15 20:12  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	msv6 dll project files updated
+
+2000-10-15 20:11  markt
+
+	* Dll/: MP3EncDll.dsp, MP3EncDll.dsw (MSVC6):
+
+	 msvc6 update
+
+2000-10-15 20:05  markt
+
+	* Dll/: MP3EncDll.dsp, MP3EncDll.dsw:
+
+	reverted back to MSVC5 project files.
+	accidently changed them to my MSVC6 versions.
+
+	Albert, when are you goint to upgrade!!!!
+
+2000-10-15 20:02  markt
+
+	* Dll/: MP3EncDll.dsp, MP3EncDll.dsw:
+
+	msv6 dll project files updated
+
+2000-10-15 19:51  markt
+
+	* libmp3lame/lame.c:
+
+	fixed typo
+
+2000-10-15 19:33  markt
+
+	* USAGE, include/lame.h, libmp3lame/lame.c:
+
+	updated USAGE
+
+2000-10-15 19:10  markt
+
+	* API, USAGE, Dll/BladeMP3EncDLL.c:
+
+	edited API, USAGE
+
+2000-10-14 19:18  robert
+
+	* libmp3lame/i386/cpu_feat.nas:
+
+	BUG in 3DNow detection fixed, was my faulty porting to NASM
+
+2000-10-14 11:42  robert
+
+	* libmp3lame/: takehiro.c, util.h:
+
+	takehiro.c now thread safe ?
+
+2000-10-14 10:08  pfk
+
+	* frontend/brhist.c, libmp3lame/psymodel.c:
+
+
+
+	psymodel:  FIR filter changed, trigger with KLEMM_04
+	brhist:    display changed back to the old display, new display must be
+		   triggered by KLEMM_05
+
+2000-10-13 22:58  pfk
+
+	* frontend/brhist.c, frontend/brhist.h, frontend/main.c,
+	  frontend/timestatus.c, include/lame.h, libmp3lame/util.c:
+
+
+
+	Changes are commented in brhist.c or must be enabled with KLEMM_xx.
+
+2000-10-13 16:43  robert
+
+	* frontend/brhist.c, frontend/brhist.h, frontend/main.c,
+	  include/lame.h, libmp3lame/lame.c:
+
+	bitrate histogram is working again
+
+2000-10-13 15:24  robert
+
+	* Makefile.unix:
+
+	small fixes
+
+2000-10-13 05:37  florian
+
+	* frontend/Makefile.in, frontend/Makefile.in.old,
+	  libmp3lame/Makefile.in, libmp3lame/Makefile.in.old:
+
+	prepare for automake: new vars, system dependent checks to configure.in
+
+2000-10-13 05:17  florian
+
+	* Makefile.in, Makefile.in.old, configure, configure.in,
+	  configure.in.old:
+
+	prepare for automake: new vars, system dependent checks to configure.in
+
+2000-10-12 19:19  florian
+
+	* acinclude.m4, aclocal.m4, configure.in:
+
+	Preparing for automake
+
+2000-10-12 17:48  robert
+
+	* Makefile.MSVC, Makefile.unix:
+
+	NASM specific fixes
+
+2000-10-12 17:19  robert
+
+	* libmp3lame/i386/cpu_feat.nas:
+
+	CPU feature code using NASM
+
+2000-10-12 17:18  robert
+
+	* Makefile.MSVC, libmp3lame/Makefile.in, libmp3lame/util.c:
+
+	CPU feature detection code now using NASM
+
+2000-10-12 08:59  shibatch
+
+	* libmp3lame/: psymodel.c, quantize.c, quantize_pvt.c, util.h:
+
+	 Add two new features to --nspsytune.
+	 1. New block type selecting algorithm.
+	 2. Improved noise shaping at high bitrate CBR. Turned on by -q1 --nspsytune.
+
+2000-10-12 00:50  robert
+
+	* Makefile.MSVC:
+
+	it's getting better :-)
+
+2000-10-12 00:49  robert
+
+	* frontend/parse.c:
+
+	BUG fix in case LAME compiled without GTK, then called with -g
+
+2000-10-11 23:08  robert
+
+	* libmp3lame/: Makefile.in, quantize_pvt.c, util.c:
+
+	fixes for Frank's ATH
+
+2000-10-11 18:45  robert
+
+	* include/lame.h, libmp3lame/lame.c:
+
+	added alternative to lame_encode_finish:
+	- lame_encode_flush, does the same as lame_encode_finish
+	  but will not free lame internal buffers
+	- lame_close, will free lame internal buffers
+
+	So the following is equivalent to lame_encode_finish
+		lame_encode_flush()
+		<do some stuff like statistics>
+		lame_close()
+
+	But this adds the possibility to get some more
+	analyzing after all frames are encoded.
+
+	Suggested to use with
+		lame_bitrate_hist()
+		lame_stereo_mode_hist()
+
+2000-10-11 17:54  robert
+
+	* libmp3lame/: encoder.c, lame.c, util.c, util.h:
+
+	simple statistics (histogram) added,
+	problem: lame_encode_finish() also frees internal buffer
+	solution: two new functions splitting lame_encode_finish()
+	          into lame_encode_flush() and lame_close()
+
+2000-10-10 23:18  pfk
+
+	* libmp3lame/util.c:
+
+
+
+	Additional ATH calculation (enabled by KLEMM_01).
+
+2000-10-10 20:26  robert
+
+	* libmp3lame/: lame.c, takehiro.c:
+
+	use of MMX should be safe on non MMX CPUs now,
+	but this will not work on Microsoft platforms.
+	We will have to adapt the assembler routines
+	for the MS assembler or for NASM.
+
+2000-10-10 19:36  robert
+
+	* Makefile.MSVC, libmp3lame/util.c:
+
+	Makefile work
+
+2000-10-10 18:34  robert
+
+	* libmp3lame/lame.c:
+
+	cut'n'paste devil :(
+
+2000-10-10 18:28  robert
+
+	* libmp3lame/: lame.c, util.c, util.h:
+
+	Frank's CPU feature detection code added
+
+2000-10-10 17:59  afaber
+
+	* Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.h, frontend/brhist.c,
+	  libmp3lame/VbrTag.c, libmp3lame/libmp3lame.dsp:
+
+	MSVC Win32 updates, added Alpha Beta version numbers to DLL version structure
+	(should be backward compatible)
+
+2000-10-10 05:31  markt
+
+	* TODO:
+
+	notes about what needs to be done for configure
+
+2000-10-09 19:55  markt
+
+	* libmp3lame/: encoder.h, lame-analysis.h:
+
+	[no log message]
+
+2000-10-09 19:55  markt
+
+	* TODO, frontend/timestatus.c, include/lame.h:
+
+	generic cleanup
+
+2000-10-09 19:42  markt
+
+	* TODO:
+
+	frame analyzer now works with ./configure, at least for linux
+
+2000-10-09 19:29  markt
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.MSVC, TODO, configure,
+	  configure.in, frontend/get_audio.c, frontend/get_audio.h:
+
+	attept to fix Makefiles.B32, DJGPP, MSVC.
+
+2000-10-09 16:27  markt
+
+	* libmp3lame/lame-analysis.h:
+
+	[no log message]
+
+2000-10-09 16:23  markt
+
+	* Makefile.in, Makefile.unix, aclocal.m4, configure, configure.in,
+	  frontend/Makefile.in, frontend/main.h,
+	  libmp3lame/lame-analysis.h:
+
+	moved mp3x -> analyzer (name was clashing with executable name)
+	work on configure to get mp3x to compile (not yet done)
+	  but gtk stuff in configure.in now working
+
+2000-10-09 14:38  markt
+
+	* libmp3lame/lame.c:
+
+	added a comment about downsampling
+
+2000-10-08 20:08  markt
+
+	* frontend/main.c, frontend/timestatus.c, include/lame.h,
+	  libmp3lame/VbrTag.c, libmp3lame/VbrTag.h, libmp3lame/encoder.c,
+	  libmp3lame/lame.c:
+
+	cleaned up VBR tag stuff
+
+2000-10-08 19:43  markt
+
+	* frontend/get_audio.c, frontend/get_audio.h, frontend/main.c,
+	  frontend/main.h, frontend/mp3rtp.c, frontend/parse.c,
+	  frontend/parse.h, frontend/timestatus.c, frontend/timestatus.h,
+	  include/lame.h, libmp3lame/lame.c, libmp3lame/version.c,
+	  libmp3lame/version.h:
+
+	lots of changes, just trying to get things to compile.
+
+2000-10-08 17:48  markt
+
+	* libmp3lame/id3tag.h:
+
+	Trying to add id3tag.h again.
+
+2000-10-07 08:25  robert
+
+	* lame4dos.bat:
+
+	bug fixes by Alexander Stumpf
+
+2000-10-07 05:04  markt
+
+	* libmp3lame/: id3tag.c, util.h:
+
+	missing id3tag.h include files for util.h, id3tag.c
+
+2000-10-07 05:00  markt
+
+	* INSTALL, Makefile.unix, Dll/LameDLLInterface.htm,
+	  frontend/main.c, frontend/main.h, include/lame.h,
+	  libmp3lame/id3tag.c, libmp3lame/lame.c, libmp3lame/util.c,
+	  libmp3lame/util.h:
+
+	id3tag_spec made it back into lame.h.  deleted.
+
+	frameNum has to be in the library - the front end has no way
+	of correctly counting frames unless it parses the mp3 output
+	headers.  totalframes should also probably be in the library.
+
+2000-10-06 21:16  florian
+
+	* Makefile.in, configure, configure.in, frontend/Makefile.in,
+	  libmp3lame/Makefile.in:
+
+	minor changes for install and uninstall
+
+2000-10-06 13:19  takehiro
+
+	* libmp3lame/: id3tag.c, lame.c, util.h:
+
+	quick fix, maybe work but not checked hard
+
+2000-10-06 13:19  takehiro
+
+	* frontend/main.c, include/lame.h:
+
+	quick fix, I don't check this
+
+2000-10-06 00:55  markt
+
+	* libmp3lame/: id3tag.c, lame.c, util.h:
+
+	id3tag cleanup
+
+2000-10-06 00:54  markt
+
+	* frontend/parse.c, include/lame.h:
+
+	id3 stuff cleaned up.  id3 related strucs made internal to the
+	library
+
+2000-10-05 19:53  cisc
+
+	* frontend/: get_audio.c, get_audio.h:
+
+	small correction
+
+2000-10-05 05:18  markt
+
+	* TODO, frontend/Makefile.in:
+
+	[no log message]
+
+2000-10-05 05:13  markt
+
+	* Makefile.in, configure, configure.in, libmp3lame/Makefile.in:
+
+	more configure work.
+
+2000-10-05 04:50  markt
+
+	* testcase.mp3:
+
+	updated testcase
+
+2000-10-05 04:49  markt
+
+	* Makefile.in, libmp3lame/psymodel.c:
+
+	added comment about Naoki's blocktype bug fix.
+	also, for JSTEREO but with the '-d' option, L and R channels
+	can have different block types, so we cant just look at the
+	block type for channel 0
+
+2000-10-05 04:31  markt
+
+	* Makefile.in, frontend/Makefile.in:
+
+	forgot to add Makefile.in
+
+2000-10-04 22:37  robert
+
+	* Lame.vbs:
+
+	needs Windows Script >= 5.1, donated by Ralf Kempkens <Ralf.Kempkens@epost.de>
+
+2000-10-04 17:13  afaber
+
+	* Dll/Example.dsw, Dll/MP3EncDll.dsp, libmp3lame/libmp3lame.dsp,
+	  mpglib/mpglib.dsp:
+
+	MSVC project update(s) to new layout of the libmp3lame files
+
+2000-10-04 12:48  shibatch
+
+	* libmp3lame/psymodel.c:
+
+	Bugfix of long block pre-echo control.
+
+2000-10-04 12:13  takehiro
+
+	* libmp3lame/i386/: choose_table.nas, fft.nas, fft3dn.nas,
+	  fftfpu.nas, fftsse.nas, ffttbl.nas, nasm.h:
+
+	moved i386 directory
+
+2000-10-04 04:26  markt
+
+	* libmp3lame/Makefile.in:
+
+	[no log message]
+
+2000-10-04 04:23  markt
+
+	* configure, configure.in:
+
+	make still does not work.  some kind of infinite loop
+
+2000-10-04 04:00  markt
+
+	* Makefile.unix:
+
+	more configure work
+
+2000-10-04 03:54  markt
+
+	* Makefile.in, Makefile.unix, VbrTag.c, VbrTag.h, amiga_mpega.c,
+	  bitstream.c, bitstream.h, configure, configure.in,
+	  debugscalefac.c, encoder.c, encoder.h, fft.c, fft.h, id3tag.c,
+	  l3side.h, lame-analysis.h, lame.c, machine.h, mpglib_interface.c,
+	  newmdct.c, newmdct.h, psymodel.c, psymodel.h, quantize.c,
+	  quantize.h, quantize_pvt.c, quantize_pvt.h, reservoir.c,
+	  reservoir.h, tables.c, tables.h, takehiro.c, util.c, util.h,
+	  vbrquantize.c, version.c, version.h, vorbis_interface.c,
+	  libmp3lame/Makefile.am, libmp3lame/Makefile.in,
+	  libmp3lame/VbrTag.c, libmp3lame/VbrTag.h,
+	  libmp3lame/amiga_mpega.c, libmp3lame/bitstream.c,
+	  libmp3lame/bitstream.h, libmp3lame/debugscalefac.c,
+	  libmp3lame/encoder.c, libmp3lame/encoder.h, libmp3lame/fft.c,
+	  libmp3lame/fft.h, libmp3lame/id3tag.c, libmp3lame/l3side.h,
+	  libmp3lame/lame-analysis.h, libmp3lame/lame.c,
+	  libmp3lame/machine.h, libmp3lame/mpglib_interface.c,
+	  libmp3lame/newmdct.c, libmp3lame/newmdct.h,
+	  libmp3lame/psymodel.c, libmp3lame/psymodel.h,
+	  libmp3lame/quantize.c, libmp3lame/quantize.h,
+	  libmp3lame/quantize_pvt.c, libmp3lame/quantize_pvt.h,
+	  libmp3lame/reservoir.c, libmp3lame/reservoir.h,
+	  libmp3lame/tables.c, libmp3lame/tables.h, libmp3lame/takehiro.c,
+	  libmp3lame/util.c, libmp3lame/util.h, libmp3lame/vbrquantize.c,
+	  libmp3lame/version.c, libmp3lame/version.h,
+	  libmp3lame/vorbis_interface.c:
+
+
+	Moved everything to libmp3lame.  worked on configure, but
+	not quite working.
+
+2000-10-04 03:01  markt
+
+	* frontend/aclocal.m4, frontend/configure, frontend/configure.in,
+	  mpglib/configure, mpglib/configure.in:
+
+	removed more configure files in subdirectories.
+	There should only be one ./configure, in the main directory
+
+2000-10-04 02:57  markt
+
+	* configure, configure.in, frontend/get_audio.c,
+	  frontend/get_audio.h, frontend/timestatus.c,
+	  frontend/timestatus.h:
+
+	more configure work
+
+2000-10-04 01:07  markt
+
+	* configure, configure.in, frontend/Makefile.in:
+
+	more configure patches for frontend.
+
+2000-10-04 01:02  markt
+
+	* TODO, configure, configure.in, frontend/configure:
+
+	new configure that doesn't run configure in all the subdirectories!
+
+2000-10-03 22:08  afaber
+
+	* README.WINGTK, lamelib.dsp, frontend/lame.dsp, frontend/lame.dsw,
+	  libmp3lame/libmp3lame.dsp, mpglib/mpglib.dsp:
+
+	Re-organized some of the MSVC project files, fixes to compile mp3x again on Win32 platform
+
+2000-10-03 17:56  robert
+
+	* fft.c:
+
+	removed unused includes
+
+2000-10-03 10:32  robert
+
+	* fft.c, fft.h, lame.c, psymodel.c, quantize.c, quantize_pvt.c,
+	  util.h:
+
+	fft.c now thread safe !?
+
+2000-10-03 09:44  robert
+
+	* encoder.c, newmdct.c, newmdct.h:
+
+	removed redundancies
+
+2000-10-03 09:43  robert
+
+	* testcase.mp3:
+
+	updated testcase for LAME 3.88 alpha 1
+
+2000-10-03 04:07  markt
+
+	* INSTALL:
+
+	Some configure options are for the library, some are for
+	the front end.  How do we pass front end options to
+	frontend/configure?
+
+2000-10-03 03:57  markt
+
+	* Makefile.in:
+
+	[no log message]
+
+2000-10-02 10:15  markt
+
+	* Makefile.in:
+
+	make -> $(MAKE)
+
+2000-10-02 09:00  markt
+
+	* quantize_pvt.h:
+
+	Fix for winamp bug.  (commented out for now)
+
+2000-10-02 06:20  markt
+
+	* aclocal.m4, configure, configure.in, frontend/configure,
+	  frontend/configure.in:
+
+	configure updates
+
+2000-10-01 19:05  afaber
+
+	* lamelib.dsp, frontend/lame.dsp, mpglib/mpglib.dsp:
+
+	Adapted project file in order to compile it again with the MSVC compiler
+
+2000-10-01 18:34  markt
+
+	* Makefile.in:
+
+	[no log message]
+
+2000-10-01 18:25  markt
+
+	* INSTALL, Makefile.in, id3tag.c, lame-analysis.h, lame.c,
+	  frontend/Makefile.in, frontend/configure, frontend/configure.in,
+	  frontend/main.c, frontend/parse.c, include/lame-analysis.h,
+	  include/lame-id3tag.h, include/lame.h:
+
+	trying to move decoding back into library
+
+2000-10-01 17:58  afaber
+
+	* frontend/get_audio.c:
+
+	Make it compile again with MSVC compiler
+
+2000-10-01 17:17  markt
+
+	* frontend/: gpkplotting.c, gpkplotting.h, gtkanal.c, main.c,
+	  mp3x.c:
+
+	moved GTK frame analyzer stuff into mp3x
+
+2000-10-01 15:29  takehiro
+
+	* Makefile.in, aclocal.m4, configure, configure.in,
+	  mpglib_interface.c, vorbis_interface.c, frontend/Makefile.in,
+	  frontend/get_audio.c, frontend/main.c,
+	  frontend/vorbis_interface.c, mpglib/Makefile.in,
+	  mpglib/configure, mpglib/configure.in, mpglib/main.c:
+
+	more modularization work.
+	VORBIS and mpglib interface is now in the libmp3lame library.
+	functions in these files are wrapper of mpglib/libvorbis.
+	I think it is ok to include them in libmp3lame.
+
+2000-10-01 15:19  takehiro
+
+	* VbrTag.c:
+
+	merged VbrTag.h into lame.h
+
+2000-10-01 15:03  takehiro
+
+	* encoder.c, lame.c, util.h, Dll/BladeMP3EncDLL.c,
+	  frontend/get_audio.c, include/lame.h:
+
+	merged VbrTag.h into lame.h
+
+2000-10-01 11:28  afaber
+
+	* mpglib/: common.c, common.h, dct64_i386.c, decode_i386.c,
+	  interface.c, interface.h, layer1.c, layer1.h, layer2.c, layer2.h,
+	  layer3.c, layer3.h, main.c, mpg123.h, mpglib.dsp, mpglib.h,
+	  dct64_i386.h, decode_i386.h:
+
+	More MPGLIB cleanup, got rid of the global mpstr struct gmp (in order to make lib thread safe)
+
+2000-10-01 10:40  afaber
+
+	* mpglib/: common.c, common.h, decode_i386.c, interface.c,
+	  layer3.c, mpg123.h:
+
+	Cleanup of mpg123.h file (still need to get rid of the dirty extern gmp hack)
+
+2000-10-01 10:05  afaber
+
+	* mpglib/: layer1.c, mpg123.h:
+
+	Removed unused stuff in MPG123.h file, removed stuff that was commented out in Layer1.c
+
+2000-10-01 10:00  afaber
+
+	* mpglib/: mpg123.h, tabinit.c:
+
+	Removed some double/float warnings, removed disable warnings pragma for MSVC compiler
+
+2000-10-01 09:52  takehiro
+
+	* lame.c, frontend/main.c:
+
+	moved main_crc_init from frontend to library
+
+2000-10-01 09:51  afaber
+
+	* mpglib/: common.c, common.h, dct64_i386.c, decode_i386.c,
+	  interface.c, layer2.c, layer3.h, mpg123.h, mpglib.dsp, tabinit.c,
+	  tabinit.h:
+
+	Reorganized some of the function prototypes, removed non existing function prototypes from common.h
+
+2000-10-01 09:32  takehiro
+
+	* libmp3lame/.cvsignore:
+
+	initial check in for libmp3lame
+
+2000-10-01 09:29  takehiro
+
+	* libmp3lame/Makefile.am:
+
+	check in for the feauture...
+
+2000-10-01 09:09  afaber
+
+	* bitstream.h, frontend/main.c:
+
+	Added void main_CRC_init (void) function prototype in bitstream.h
+
+2000-10-01 06:24  takehiro
+
+	* frontend/: Makefile.in, mp3x.c:
+
+	making frameanalyzer problem fixed
+
+2000-10-01 04:56  markt
+
+	* util.c:
+
+	added Frank's normalization of Blackman filter coefficients.
+	This had no effect on any of my resample test cases.
+
+2000-09-30 15:32  markt
+
+	* STYLEGUIDE:
+
+	more notes on identation and int in STYLEGUIDE
+
+2000-09-30 15:09  afaber
+
+	* id3tag.c:
+
+	fixed signed/unsigned mismatch
+
+2000-09-30 14:50  markt
+
+	* HACKING, bitstream.c, bitstream.h, util.c, util.h:
+
+	added stuff in HACKING on how to handle global data
+	moved freegfc() into util.c
+
+2000-09-30 14:28  markt
+
+	* util.c:
+
+	number of pre-computed convolution windows determined dynamically.
+	(storage still needs to malloc'd and free'd in lame_encode_finish).
+
+2000-09-30 14:17  robert
+
+	* Makefile.in:
+
+	small fix
+
+2000-09-30 13:14  afaber
+
+	* Dll/: BladeMP3EncDLL.c, MP3EncDll.dsp:
+
+	Changes in order to get it compile on a Win32 platform
+
+2000-09-30 12:49  afaber
+
+	* lamelib.dsp, VbrTag.h, lame.dsp, lame.dsw, frontend/brhist.c,
+	  frontend/get_audio.c, frontend/lame.dsp, frontend/lame.dsw,
+	  frontend/timestatus.c, mpglib/mpglib.dsp:
+
+	Changes in order to get it compile on a Win32 platform
+
+2000-09-30 08:29  takehiro
+
+	* frontend/parse.c:
+
+	renamed some functions
+
+2000-09-30 08:21  takehiro
+
+	* doc/html/: contributors.html, examples.html, history.html,
+	  id3.html, index.html, lame.css, modes.html, node6.html,
+	  switchs.html:
+
+	new document for 3.87 from Gaby.
+
+2000-09-30 08:15  takehiro
+
+	* frontend/: configure, configure.in:
+
+	debug about gtk detection
+
+2000-09-30 07:54  takehiro
+
+	* lame.c, frontend/get_audio.c, frontend/main.c, frontend/main.h,
+	  frontend/mp3rtp.c, frontend/parse.c, include/lame.h:
+
+	removed outpath from library.
+
+2000-09-30 06:58  takehiro
+
+	* bitstream.c, bitstream.h, util.c, util.h:
+
+	moved some code from util to bitstream
+
+2000-09-30 04:40  markt
+
+	* VbrTag.c, lame.c, frontend/vorbis_interface.c:
+
+	re-enabled id3v2 tag and Xing vbr header
+
+2000-09-29 18:16  takehiro
+
+	* lame.c, frontend/get_audio.c, frontend/main.c, frontend/main.h,
+	  frontend/parse.c, frontend/timestatus.c, include/lame.h:
+
+	"silent" and "brhist" is moved to frontend
+
+2000-09-29 18:07  takehiro
+
+	* lame.c, frontend/main.c, frontend/main.h, frontend/parse.c,
+	  frontend/timestatus.c, include/lame.h:
+
+	"update_interval" is moved to frontend
+
+2000-09-29 17:49  takehiro
+
+	* encoder.c, lame.c, psymodel.c, quantize.c, vbrquantize.c,
+	  frontend/main.c, frontend/parse.c, include/lame-analysis.h,
+	  include/lame.h, frontend/mp3x.c:
+
+	changed from "gtkflag" to "analysis", because it is not only for gtk.
+
+2000-09-29 17:48  takehiro
+
+	* frontend/timestatus.c:
+
+	oops, timestatus not correctly displayed
+
+2000-09-29 17:43  takehiro
+
+	* id3tag.c, lame.c, quantize.c, quantize_pvt.c, util.h,
+	  vbrquantize.c, frontend/gtkanal.c, frontend/main.c,
+	  frontend/mp3x.c, frontend/parse.c, include/analysis.h,
+	  include/id3tag.h, include/lame-analysis.h, include/lame-id3tag.h,
+	  include/lame.h, mpglib/layer3.c, mpglib/mpglib.h:
+
+	OK, Florian, I renamed include file avoid confusing.
+	(it's so generic and not likely to be unique)
+
+2000-09-29 17:31  takehiro
+
+	* Makefile.in, encoder.c, lame.c, parse.c, psymodel.c, util.c,
+	  util.h, vbrquantize.c, frontend/Makefile.in, frontend/brhist.c,
+	  frontend/get_audio.c, frontend/get_audio.h, frontend/gtkanal.c,
+	  frontend/main.c, frontend/main.h, frontend/parse.c,
+	  frontend/parse.h, frontend/timestatus.c,
+	  frontend/vorbis_interface.c:
+
+	1. timestatus things are moved to frontend(maybe complete ?)
+	2. input file handling is moved to frontend(so the file input API is removed)
+
+2000-09-29 04:51  markt
+
+	* frontend/brhist.c, frontend/get_audio.c, frontend/get_audio.h,
+	  mpglib/main.c:
+
+	removed analysis.h from get_audio.c
+	typo in brhist.c
+
+2000-09-28 23:31  robert
+
+	* lame4dos.bat:
+
+	improved lame.bat for 4DOS users, donated by Alexander Stumpf <alestrix@unm.edu>
+
+2000-09-28 16:36  takehiro
+
+	* Makefile.in, VbrTag.c, brhist.c, brhist.h, configure,
+	  configure.in, encoder.c, get_audio.c, get_audio.h, gpkplotting.c,
+	  gpkplotting.h, gtkanal.c, id3tag.h, ieeefloat.c, ieeefloat.h,
+	  lame.c, lametime.c, lametime.h, main.c, mp3rtp.c, mp3x.c,
+	  parse.c, portableio.c, portableio.h, psymodel.c, quantize.c,
+	  quantize_pvt.c, rtp.c, rtp.h, tables.c, timestatus.c,
+	  timestatus.h, util.c, util.h, vbrquantize.c, version.c,
+	  version.h, vorbis_interface.c, frontend/.cvsignore,
+	  frontend/Makefile.in, frontend/aclocal.m4, frontend/brhist.c,
+	  frontend/brhist.h, frontend/configure, frontend/configure.in,
+	  frontend/get_audio.c, frontend/get_audio.h,
+	  frontend/gpkplotting.c, frontend/gpkplotting.h,
+	  frontend/gtkanal.c, frontend/ieeefloat.c, frontend/ieeefloat.h,
+	  frontend/lametime.c, frontend/lametime.h, frontend/main.c,
+	  frontend/mp3rtp.c, frontend/mp3x.c, frontend/parse.c,
+	  frontend/portableio.c, frontend/portableio.h, frontend/rtp.c,
+	  frontend/rtp.h, frontend/timestatus.c, frontend/timestatus.h,
+	  frontend/vorbis_interface.c, include/id3tag.h, include/lame.h,
+	  mpglib/Makefile.in, mpglib/layer3.c, mpglib/mpglib.h:
+
+	moved frontend staffs into frontend/
+	Need to debug vorbis/mpglib/analyzer/bitrate histgram.
+	still long way to go...
+
+	HAVEGTK is changed ANALYSIS(library side) and HAVEGTK(frontend side)
+
+	BRHIST is deleted from library. all the bitrate histogram works are
+	now in frontend(but not works properly, yet).
+
+	timestatus things are also moved to frontend.
+
+	parse.c is now out of library.
+
+2000-09-27 12:05  takehiro
+
+	* include/analysis.h, gtkanal.h:
+
+	moved gtkanal.h to include/analysis.h
+
+2000-09-27 04:17  florian
+
+	* Makefile.in:
+
+	fixed make install -> move of lame.h broke it.
+
+2000-09-26 17:47  takehiro
+
+	* Makefile.in, gtkanal.h:
+
+	more clean up and debug "make clean"
+
+2000-09-26 17:35  takehiro
+
+	* Makefile.in:
+
+	moved more staff out of libmp3lame
+
+2000-09-26 17:28  takehiro
+
+	* Makefile.in:
+
+	removed brhist.o etc from library
+
+2000-09-26 17:25  takehiro
+
+	* include/lame.h:
+
+	lame.h moved to include
+
+2000-09-26 17:24  takehiro
+
+	* timestatus.c:
+
+	little clean up
+
+2000-09-26 17:03  takehiro
+
+	* Makefile.in, configure, configure.in, lame.h:
+
+	1 moved lame.h into include/
+	2 modularized work with mpglib
+
+2000-09-26 16:59  cisc
+
+	* amiga_mpega.c:
+
+	Mark, you broke lame_decode_initfile(), what were you thinking? ;) .. anyways, fixed, and added new mp3data struct variables...
+
+2000-09-26 15:48  takehiro
+
+	* mpglib/: .cvsignore, Makefile.in, common.c, configure,
+	  configure.in, dct64_i386.c, decode_i386.c, interface.c, layer3.c,
+	  main.c, tabinit.c:
+
+	configure support and more modularized work
+
+2000-09-26 15:47  takehiro
+
+	* mpglib/Makefile:
+
+	now this is generated by configure
+
+2000-09-26 05:22  markt
+
+	* version.h:
+
+	CVS is now 3.88 alpha 1
+
+2000-09-26 04:49  markt
+
+	* version.h:
+
+	updated to 3.87 beta
+
+2000-09-26 04:48  markt
+
+	* get_audio.c, get_audio.h, gtkanal.c, timestatus.c, mpglib/main.c:
+
+	removed all references to gfc-> from get_audio.c
+	this was needed if we are going to move get_audio.c out of
+	libmp3lame and into the front end code.
+
+2000-09-26 01:00  markt
+
+	* HACKING, STYLEGUIDE:
+
+	[no log message]
+
+2000-09-26 00:55  markt
+
+	* CodingStyle.c, lametype.h:
+
+	Removed two files
+
+2000-09-26 00:09  markt
+
+	* amiga_mpega.c, get_audio.c, lame.c, lame.h, timestatus.c,
+	  timestatus.h, util.h:
+
+	when input file was a mp3, it was trashing a bunch of
+	variables (mode, bitrate, etc..)
+
+2000-09-25 21:37  robert
+
+	* Makefile.MSVC:
+
+	MMX choose table support, needs NASM (can be disabled)
+
+2000-09-25 21:23  florian
+
+	* configure, configure.in:
+
+	changed default installation prefix to /usr (/usr/local/lib doesn't seem to be in default linker path)
+
+2000-09-25 20:58  florian
+
+	* Makefile.in:
+
+	fixed shared lib (runtime linker information)
+
+2000-09-25 15:20  markt
+
+	* Makefile.in:
+
+	removed ?= from makefile
+
+2000-09-25 14:36  shibatch
+
+	* psymodel.c:
+
+	A small bugfix of --nspsytune.
+
+2000-09-25 02:13  florian
+
+	* configure, Makefile.in, configure.in:
+
+	cleaner version handling of libmp3lame.so, uninstall target in Makefile
+
+2000-09-25 00:30  markt
+
+	* id3tag.c:
+
+	fixed genre bug in id3tag.c
+
+2000-09-24 22:59  markt
+
+	* id3tag.c, vbrquantize.c:
+
+	removed yet another unsigned loop counter
+
+2000-09-24 21:53  robert
+
+	* Makefile.MSVC:
+
+	enabled Takehiro's IEEE hack
+
+2000-09-24 14:59  robert
+
+	* configure, configure.in:
+
+	BUG fixed, which prevented using Layer1/2 decoding abilities
+
+2000-09-24 14:34  robert
+
+	* encoder.c, lame.c, quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  util.h, vbrquantize.c:
+
+	code cleanup and very little speedup
+
+2000-09-24 12:38  robert
+
+	* quantize.c:
+
+	minor RH_AMP tweak, and once again, do not use tabulator within this file
+
+2000-09-24 12:29  robert
+
+	* quantize.c:
+
+	please do not use tabulators within this file (better in no files)
+
+2000-09-24 12:22  robert
+
+	* VbrTag.c:
+
+	minor BUG fix for MPEG-2(.5)
+
+2000-09-24 11:39  takehiro
+
+	* quantize.c:
+
+	sorry, scalefac_scale did not have a bug. that was my compiler bug...
+
+2000-09-24 10:38  afaber
+
+	* mpglib/interface.c:
+
+	Fixed MP1/2 decoding problem, for files that were encoded with a CRC
+
+2000-09-24 01:32  markt
+
+	* get_audio.c:
+
+	minor fix to mp3 header parsing
+
+2000-09-23 23:36  afaber
+
+	* bitstream.c:
+
+	removed unused variable bits
+
+2000-09-23 23:36  afaber
+
+	* id3tag.c:
+
+	fixed signed/unsigned mismatch, added bitstream.h include file
+
+2000-09-23 22:31  markt
+
+	* VbrTag.c, bitstream.c, bitstream.h, id3tag.c, id3tag.h, lame.c,
+	  lame.h, main.c, parse.c:
+
+	id3v1 and id3v2 tags now get written directly into
+	the bitstream instead of into the output file.
+
+	The only file I/O left in libmp3lame will be the VBR tag.
+
+2000-09-23 21:13  markt
+
+	* get_audio.c, lame.h, mpglib/main.c:
+
+	removed lame_decode_fromfile() calls from the API,
+	moved them into get_audio.c
+
+2000-09-23 20:08  markt
+
+	* lame.h, mpglib/main.c:
+
+	some mpglib restructering.
+	All mp3 routines which work with files now only make
+	calls to lame_decode_* that are in the API.
+
+2000-09-23 14:48  markt
+
+	* VbrTag.c:
+
+	bug in Xing header for MPEG2.5 fixed
+
+2000-09-23 09:07  takehiro
+
+	* quantize.c, quantize_pvt.c, util.c, util.h:
+
+	workaround for subblock_gain and scalefac_scale artifact.
+	I hope this will fix -q1 problems.
+
+2000-09-23 02:11  markt
+
+	* version.c:
+
+	[no log message]
+
+2000-09-23 01:23  markt
+
+	* mpglib/main.c:
+
+	[no log message]
+
+2000-09-23 01:23  markt
+
+	* VbrTag.c, VbrTag.h, lame.h, parse.c, util.c, util.h:
+
+	bug fixed in decoding:  if syncword found in Xing VBR header toc,
+	it would confuse things.
+
+	Also fixed overflow in vbrtag.c, and changed size of xing vbr
+	header to 128kbs.  This will make non-vbr aware players
+	give a more reasonable playing time estimate.
+
+2000-09-23 00:51  robert
+
+	* psymodel.c:
+
+	minor fix
+
+2000-09-22 22:54  shibatch
+
+	* quantize.c, quantize_pvt.c:
+
+	Minor bugfixes of --nspsytune. Frame analyzer works correctly with --nspsytune.
+
+2000-09-21 23:55  shibatch
+
+	* parse.c, psymodel.c, quantize.c:
+
+	Tweaks to --nspsytune. This improves CBR quality.
+
+2000-09-21 16:50  afaber
+
+	* Dll/LameDLLInterface.htm:
+
+	Updated lame_enc.dll documentation file
+
+2000-09-20 22:56  takehiro
+
+	* Makefile.in, configure, configure.in, encoder.c, lame.c,
+	  timestatus.c:
+
+	more configure updates.
+	not compiling/linking BRHIST routine when it is disabled.
+
+2000-09-20 20:50  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h, Example.cpp:
+
+	Added bNoRes option in LHV1 structure, updated example to have default settings as in testcase.wav test case
+
+2000-09-20 19:08  afaber
+
+	* brhist.c, lame.h:
+
+	Changed BRHST un-signed variables to signed variables
+
+2000-09-20 18:50  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	High quality was not enabled
+
+2000-09-20 18:49  afaber
+
+	* Dll/MP3EncDll.dsp:
+
+	Added TAKEHIRO_IEEE754_HACK define to project file
+
+2000-09-20 18:41  afaber
+
+	* lame.dsp:
+
+	Added TAKEHIRO_IEEE754_HACK define to project file
+
+2000-09-20 16:40  robert
+
+	* quantize.c:
+
+	VBR old quality tuning for --raise-smr
+
+2000-09-19 14:40  takehiro
+
+	* Makefile.in:
+
+	update glibc inline math error detection
+
+2000-09-19 14:32  takehiro
+
+	* configure, configure.in:
+
+	oops, needless gabage removed
+
+2000-09-19 14:26  takehiro
+
+	* configure:
+
+	newer configure script made by configure.in
+
+2000-09-19 14:12  takehiro
+
+	* Makefile.in, configure.in:
+
+	not compiling/linking mpglib code when it disabled.
+	not compiling/linking gtk related code when it disabled.
+
+	control LAYER1 and LAYER2 decoding function with --enable-decode-layer1 and
+	--enable-decode-layer2
+
+	autodetect math inline bug of glibc < 2.1.3
+
+2000-09-19 14:11  robert
+
+	* quantize_pvt.c:
+
+	modified --ATHlower to not touch sfb21
+
+2000-09-19 14:06  takehiro
+
+	* .cvsignore:
+
+	ignore files related configure script and library itself
+
+2000-09-19 05:33  markt
+
+	* mpglib/main.c:
+
+	got rid of a size_t in main.c
+
+2000-09-19 05:19  markt
+
+	* lame.dsp (MSVC6), Dll/MP3EncDll.dsp:
+
+	updated msvc6 project files
+
+2000-09-19 04:54  markt
+
+	* mpglib/main.c:
+
+	removed unsigned int  being used as a loop counter.
+
+2000-09-19 04:18  markt
+
+	* encoder.h, lame.c, util.c, util.h:
+
+	updated filter settings
+
+2000-09-18 22:29  afaber
+
+	* Dll/Example.cpp:
+
+	Bug fixes in example file
+
+2000-09-18 21:57  markt
+
+	* testcase.mp3, util.c, util.h:
+
+	changed BPC to 160 on Frank's advice.
+	This means pre-compute 160 filter-sinc-windows, instead of just 16.
+	Should also fix the aliasing problem shown in mp3.com bulliten
+	board
+
+2000-09-18 21:30  markt
+
+	* Makefile.B32, Makefile.DJGPP, Makefile.in, Makefile.unix:
+
+	Makefiles updated to reflect that all the ASM code has been
+	removed and replaced with IEEE754_HACK.  I'm glad to see
+	it gone - but I didn't remove it!
+
+2000-09-18 21:28  markt
+
+	* STYLEGUIDE, VbrTag.c, brhist.c, get_audio.c, machine.h,
+	  quantize.c, quantize_pvt.c, takehiro.c, vorbis_interface.c:
+
+	minor code cleanup.
+
+2000-09-18 20:53  afaber
+
+	* lame.dsp:
+
+	Fixed library problem in ReleaseGTK mode
+
+2000-09-18 20:09  markt
+
+	* config.log:
+
+	removed config.log from repository
+
+2000-09-18 19:43  afaber
+
+	* brhist.c:
+
+	Fixes for Cygwin compiler
+
+2000-09-18 18:52  markt
+
+	* INSTALL, Makefile.in, Makefile.unix, config.log:
+
+	more configure updates
+
+2000-09-18 18:34  markt
+
+	* INSTALL, INSTALL.configure, Makefile, Makefile.in, Makefile.unix,
+	  aclocal.m4, confdefs.h, config.guess, config.log, config.sub,
+	  configure, configure.in, install-sh:
+
+	added configure stuff from Florian!
+
+	original Makefile is now in Makefile.unix
+
+2000-09-18 01:48  cisc
+
+	* util.c, vbrquantize.c, version.h:
+
+	warning fixes & bumped alpha version
+
+2000-09-17 23:25  markt
+
+	* Makefile, lame.h:
+
+	added note about shared library
+
+2000-09-17 22:25  markt
+
+	* USAGE, encoder.c, lame.c, lame.h, parse.c:
+
+	--scale option added
+
+2000-09-17 21:47  afaber
+
+	* bitstream.c, get_audio.c, quantize.c:
+
+	removed unecessary (int) casts
+
+2000-09-17 21:21  markt
+
+	* HACKING, STYLEGUIDE, lame.h:
+
+	some editing
+
+2000-09-17 21:04  afaber
+
+	* encoder.c, lame.dsp:
+
+	Enabled BRHIST in MSVC project file, and changed calls to brhist functions in encoder.c
+
+2000-09-17 20:55  markt
+
+	* encoder.c, takehiro.c:
+
+	forgot to add encoder.c to cvs
+
+2000-09-17 20:53  markt
+
+	* bitstream.c, machine.h, util.c, util.h:
+
+	more 'unsigned's removed
+
+2000-09-17 20:52  afaber
+
+	* brhist.c, brhist.h, lame.c, lame.h, timestatus.c:
+
+	Moved BRHIST variables to lame_global_flags structure, so a library (like lame_enc.dll) can have access to the histogramming data
+
+2000-09-17 20:20  markt
+
+	* lame.c, testcase.mp3, version.c:
+
+	resampling nolonger needs to quantize back to integers
+	since internal representation of PCM samples is now floating point
+
+2000-09-17 19:50  markt
+
+	* Makefile, fft.c, gtkanal.c, lame.c, machine.h, newmdct.c,
+	  newmdct.h, psymodel.c, psymodel.h, testcase.mp3, util.c, util.h,
+	  mpglib/main.c:
+
+	sample_t changes updated, sample_t = FLOAT
+
+2000-09-17 18:52  markt
+
+	* INSTALL, Makefile, Makefile.B32, Makefile.DJGPP, Makefile.MSVC,
+	  encoder.h, lame.c, lame.dsp, lametime.h, main.c, timestatus.h,
+	  Dll/MP3EncDll.dsp:
+
+	added encoder.c which has the core encoding function.
+	fixed sample_t stuff
+
+2000-09-17 17:55  robert
+
+	* Makefile, l3side.h, quantize.c, quantize_pvt.c, takehiro.c:
+
+	not everyone has access to Vorbis in Mark's home directory ;-)
+
+2000-09-17 17:54  afaber
+
+	* mpglib/main.c:
+
+	Changed return value from zero to -1 when EOF has been reached
+
+2000-09-17 16:19  takehiro
+
+	* quantize.c:
+
+	added #include <math.h>
+
+2000-09-17 10:07  takehiro
+
+	* get_audio.c:
+
+	trivial warning fix
+
+2000-09-17 09:32  takehiro
+
+	* quantize_pvt.c:
+
+	removed old assembler code
+
+2000-09-17 09:30  takehiro
+
+	* main.c:
+
+	quick hack for "sample_t is not defined"
+
+2000-09-17 05:00  cisc
+
+	* get_audio.h, version.c:
+
+	updated some libsndfile related stuff
+
+2000-09-17 04:19  cisc
+
+	* VbrTag.h, bitstream.h, brhist.h, encoder.h, fft.h, get_audio.h,
+	  gpkplotting.h, gtkanal.h, id3tag.h, ieeefloat.h, l3side.h,
+	  lame.h, lametime.h, lametype.h, machine.h, newmdct.h,
+	  portableio.h, psymodel.h, quantize.h, quantize_pvt.h,
+	  reservoir.h, rtp.h, tables.h, timestatus.h, util.h, version.h:
+
+	conformed all this-is-included-defines to match 'project_file_name' style
+
+2000-09-16 22:52  afaber
+
+	* lame.dsp, reservoir.c, reservoir.h, tables.c, tables.h,
+	  timestatus.c, timestatus.h, util.c, util.h, vbrquantize.c:
+
+	Changed lame header/source to LGPL license where necessary, added LGPL header to files when applicable
+
+2000-09-16 22:39  afaber
+
+	* encoder.h, fft.h, get_audio.c, get_audio.h, gpkplotting.c,
+	  gpkplotting.h, gtkanal.c, gtkanal.h, l3side.h, lametime.c,
+	  lametime.h, newmdct.h, parse.c, psymodel.h, quantize.c,
+	  quantize.h, quantize_pvt.c, quantize_pvt.h, Dll/MP3EncDll.dsp:
+
+	Changed lame header/source to LGPL license where necessary, added LGPL header to files when applicable
+
+2000-09-16 22:16  afaber
+
+	* fft.c, machine.h, psymodel.c:
+
+	Removed the float/double compiler warnings
+
+2000-09-16 22:08  afaber
+
+	* Dll/: BladeMP3EncDLL.h, MP3EncDll.dsp:
+
+	Small changes to the lame_enc project settings
+
+2000-09-16 21:52  afaber
+
+	* brhist.c, brhist.h, get_audio.c, gtkanal.c, lametime.h, main.c,
+	  psymodel.c, quantize.c, takehiro.c, timestatus.c, vbrquantize.c,
+	  mpglib/layer2.c, mpglib/layer3.c, mpglib/main.c:
+
+	Removed a bunch of signed/unsigned compiler warnings
+	and removed const/no const assignements compiler warnings
+	welcome to const hell Frank!
+
+2000-09-16 21:07  markt
+
+	* Makefile, quantize_pvt.c:
+
+	shared lib support, IEEE stuff the default on i386
+
+2000-09-16 21:07  cisc
+
+	* amiga_mpega.c:
+
+	added mode & mode_ext support to mp3data struct, like mpglib/main.c
+
+2000-09-16 21:06  afaber
+
+	* lame.dsp:
+
+	Added lametime.c and lametime.h files to project
+
+2000-09-16 19:03  markt
+
+	* HACKING, STYLEGUIDE:
+
+	style updates
+
+2000-09-16 18:54  markt
+
+	* STYLEGUIDE:
+
+	adding STYLEGUIDE
+
+2000-09-16 18:54  markt
+
+	* CodingStyle.c, LICENSE, USAGE, bitstream.c, get_audio.c,
+	  gtkanal.c, id3tag.c, l3side.h, lame.c, lame.h, lametime.c,
+	  machine.h, parse.c, quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  tables.c, tables.h, takehiro.c, testcase.mp3, timestatus.c,
+	  util.h, vbrquantize.c, version.c, mpglib/common.h,
+	  mpglib/interface.h, mpglib/main.c:
+
+	got rid of a bunch of unsigned variables.
+
+2000-09-16 13:59  afaber
+
+	* brhist.c, psymodel.c, quantize_pvt.c, takehiro.c, vbrquantize.c:
+
+	Removed the signed/unsigned mismatch compiler warnings
+
+2000-09-16 13:30  afaber
+
+	* bitstream.c:
+
+	Removed the signed/unsigned mismatch compiler warnings
+
+2000-09-16 12:53  afaber
+
+	* mpglib/layer1.c:
+
+	Switched include from mpg123.h to common.h to avoid compiler warnings
+
+2000-09-16 00:43  cisc
+
+	* psymodel.c, timestatus.c:
+
+	warning fixes
+
+2000-09-15 16:36  shibatch
+
+	* psymodel.c:
+
+	Tweaks to --nspsytune.
+
+2000-09-15 15:01  takehiro
+
+	* quantize_pvt.c:
+
+	oops, foolish bug ...
+
+2000-09-15 13:03  takehiro
+
+	* quantize_pvt.c:
+
+	TAKEHIRO_IEEE754_HACK now C99 aliasing rule compliant.
+	it runs correctly with "-fstrict-aliasing" (GCC)
+
+2000-09-14 03:32  markt
+
+	* brhist.c, mpglib/mpg123.h:
+
+	fixed VBR display
+
+2000-09-13 23:31  markt
+
+	* Makefile, quantize.c, reservoir.c:
+
+	NORES_TEST turned back of
+
+2000-09-13 18:46  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Fixed bug in lame_enc.dll when using preset option, and return proper frame size when using MPEG-2
+
+2000-09-13 18:24  afaber
+
+	* mpglib/: common.c, common.h, interface.c, interface.h, layer2.c,
+	  layer3.c, main.c, mpg123.h, mpglib.dsp, mpglib.h:
+
+	Added common.h and interface.h, and added the functions prototypes that should be in these files, instead of mpg123.h
+
+2000-09-13 18:22  markt
+
+	* util.c:
+
+	precompute for filter turned back on
+
+2000-09-13 18:19  markt
+
+	* lame.c, util.c, util.h:
+
+	replaced upsampling filter with 19 point blackman filter
+
+2000-09-13 11:18  markt
+
+	* parse.c:
+
+	typo in documentation
+
+2000-09-13 11:03  markt
+
+	* Makefile, parse.c, testcase.mp3, vorbis_interface.c:
+
+	fixed vorbis_interface.c so it would compile
+
+2000-09-13 10:59  markt
+
+	* Makefile, bitstream.c, fft.c, get_audio.c, lame.c, lame.h,
+	  psymodel.c:
+
+	fixed some bugs introduced by frank.
+	get_audio.c must count samples for .wav files.
+	lame.c: disabling ATH is not the way to solve the problem Frank
+	wants  to solve
+
+2000-09-13 09:23  robert
+
+	* quantize.c:
+
+	quality adjustment for VBR old to better use --raise-smr
+
+2000-09-12 22:36  pfk
+
+	* brhist.c, gtkanal.c, id3tag.c, lame.c, lametype.h, main.c,
+	  psymodel.c, quantize.c, quantize_pvt.c, tables.c, tables.h,
+	  takehiro.c, util.c, util.h, vbrquantize.c, vorbis_interface.c,
+	  mpglib/common.c, mpglib/huffman.h, mpglib/l2tables.h,
+	  mpglib/layer2.c, mpglib/layer3.c, mpglib/main.c, mpglib/mpg123.h,
+	  mpglib/tabinit.c:
+
+
+
+	added const to all constant tables, so that they are placed in write
+	protected RAM or in ROM (standalone DSP version).
+
+	The SEGFAULT be with you (instead of debugging for hours).
+
+	Also some remarks instead of changes instead of code changes.
+
+	Remove them if they are fully useless.
+
+2000-09-12 20:47  robert
+
+	* Makefile, lame.c, lame.h, parse.c, psymodel.c, quantize_pvt.c:
+
+	added --raise-smr <0..1>  a new toy to control quality
+
+2000-09-12 18:20  pfk
+
+	* Makefile, Makefile.B32, Makefile.DJGPP, Makefile.MSVC,
+	  bitstream.c, get_audio.c, lame.c, lame.h, lametype.h, parse.c,
+	  util.h, version.h, vorbis_interface.c, mpglib/main.c:
+
+
+
+	Some bug fixes
+	Activated lametime.c
+	Two types of display update now possible (old and new, depends on Makefile)
+
+2000-09-12 06:26  pfk
+
+	* brhist.c, lame.c, lametype.h, version.c:
+
+
+
+	brhist.c	Changed display of percentages between 0.1 and 1 %
+
+	lame.c:		???
+	version.h:	include as less as possible
+
+	lametype.h:	First try to disentangle the #include jungle of lame
+			(this style would be the immediate death for larger
+			projects)
+
+2000-09-12 00:47  markt
+
+	* main.c, mpglib/l2tables.h, mpglib/layer2.h:
+
+	al_table struct renamed al_table2
+
+2000-09-11 20:33  shibatch
+
+	* psymodel.c:
+
+	 --nspsytune uses additive masking.
+
+2000-09-11 20:05  robert
+
+	* psymodel.c:
+
+	disabled "additive masking" in subband calculation
+
+2000-09-11 20:04  robert
+
+	* lame.c, lame.h, parse.c, quantize.c, quantize.h, quantize_pvt.c:
+
+	experimental mix of VBR new and old available with --vbr-mtrh
+
+2000-09-10 23:24  markt
+
+	* HACKING:
+
+	added rule #1 LAME style guide
+
+2000-09-10 22:13  markt
+
+	* doc/html/modes.html:
+
+	modes.html was not in the repository
+
+2000-09-10 21:45  markt
+
+	* testcase.mp3, testcase.wav:
+
+	made the test case a little longer
+	(100k .wav file)
+
+2000-09-10 21:27  markt
+
+	* lame.h, parse.c, mpglib/huffman.h, mpglib/l2tables.h,
+	  mpglib/layer2.h:
+
+	reverted mpglib routines back to original.
+	please keep mpglib as close as possible to the mpg123/mpglib
+	code that it is based on.
+
+	Went back to display every 100 frames, which I prefer.
+
+2000-09-10 20:54  markt
+
+	* Makefile, lame.c, timestatus.c:
+
+	went back to display every 100 frames.
+
+2000-09-10 19:54  cisc
+
+	* brhist.c:
+
+	small adjustment
+
+2000-09-10 19:52  cisc
+
+	* version.c:
+
+	correct includes for libsndfile prototypes
+
+2000-09-10 18:05  pfk
+
+	* Makefile, USAGE, brhist.c, brhist.h, fft.c, fft.h, lame.c,
+	  lame.h, version.h, mpglib/huffman.h:
+
+
+
+	some minor changes. Start to introduce sample_t.
+
+	Changed VBR display.
+
+2000-09-10 13:11  pfk
+
+	* fft.c, parse.c, psymodel.c, version.h, mpglib/l2tables.h,
+	  mpglib/layer2.h:
+
+
+
+	fft.c:		loop variables short => size_t/int
+	layer2.h
+	l2tables.h:	formated, structure definition changed for (possible)
+			speedup
+	parse.c		optimized sfb21 usage for presets
+
+2000-09-09 23:00  pfk
+
+	* get_audio.c, gtkanal.c, lametime.c, lametime.h, mpglib/common.c,
+	  mpglib/l2tables.h, mpglib/layer2.c, mpglib/layer2.h,
+	  mpglib/mpg123.h:
+
+
+
+	struct al_table {}          <=>
+	typedef struct {} al_table  conflict removed
+
+	lame/gtkanal.c: typecast of functions ptr's
+
+2000-09-09 21:11  pfk
+
+	* CodingStyle.c, Makefile, USAGE, lametime.c, lametime.h, mlame,
+	  mlame_corr.c, quantize_pvt.c, quantize_pvt.h, vbrquantize.c,
+	  version.c, version.h, mpglib/layer1.c, mpglib/layer2.c:
+
+
+
+	Makefile:	added option -pedantic
+	USAGE:		updated some remarks,
+			added some remarks,
+			kbs => kbps, HZ/hz => Hz, space between number and unit
+	mlame:		-mf => -mj
+			uses mlame_corr
+	mlame_corr:	First try of a program which analyzes the total file
+			and recommend flags
+	quantize_pvt.*:	made some arrays const
+			asm => __asm__
+	version.*	copied vom pfk1 tree
+	mpglib/*.c	added newline at the end of the file
+
+	CodingStyle.c	start of an CodingStyle Guide, pre-alpha
+	lametime.*	heavy system specific code should moved to this
+		        file, should not mixed with other code
+
+2000-09-09 21:04  cisc
+
+	* amiga_mpega.c:
+
+	warning fix
+
+2000-09-09 14:41  robert
+
+	* bitstream.c:
+
+	fixed debugging code
+
+2000-09-09 11:40  takehiro
+
+	* newmdct.c:
+
+	sorry, back to old...
+
+2000-09-09 11:22  robert
+
+	* quantize.c:
+
+	BUG fix for possible endless loop in RH_AMP code
+
+2000-09-09 10:59  takehiro
+
+	* newmdct.c:
+
+	bit faster mdct.
+	there's some difference caused by rounding problem, but i think this is OK.
+
+2000-09-09 10:34  takehiro
+
+	* bitstream.c:
+
+	bit faster putbits
+
+2000-09-09 10:28  takehiro
+
+	* bitstream.c:
+
+	small fix of debugging code
+
+2000-09-08 19:28  robert
+
+	* quantize.c:
+
+	to combine VBR_rh with VBR_mt define RH_VBR_MTRH at compile time
+
+2000-09-08 16:05  robert
+
+	* quantize.c, quantize_pvt.c, quantize_pvt.h:
+
+	merging branches pfk1 with main
+
+2000-09-08 14:55  robert
+
+	* gtkanal.h, quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  vbrquantize.c:
+
+	set_pinfo calcs noise and masking of its own
+
+2000-09-08 12:17  robert
+
+	* parse.c, quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c,
+	  vbrquantize.c:
+
+	substitution of lame_global_flags with lame_internal_flags
+
+2000-09-08 11:22  robert
+
+	* parse.c:
+
+	Bug fix for automatic file type recognition back into MAIN branch
+
+2000-09-08 10:04  shibatch
+
+	* psymodel.c:
+
+	A minor bugfix of mask_add().
+
+2000-09-07 23:37  pfk
+
+	* mlame_corr.c:
+
+
+
+	file to use with mlame to select different modes by pre analysing wav files.
+
+2000-09-07 18:06  afaber
+
+	* mpglib/mpglib.dsp:
+
+	Cleanup project file a bit
+
+2000-09-07 18:05  afaber
+
+	* README.WINGTK:
+
+	Small modification to the instruction, in order to compile/link with latest GTK/GDK libs
+
+2000-09-07 18:04  afaber
+
+	* lame.dsp:
+
+	Changed project file to work with latest GTK/GDK libs
+
+2000-09-07 17:40  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Fixed problem in VBR WriteTag function (it did not compile, MP3 file stream was not closed properly, wrong file name was used)
+
+2000-09-07 12:26  shibatch
+
+	* psymodel.c, quantize_pvt.c:
+
+	 Tweaks to --nspsytune.
+
+2000-09-06 23:19  robert
+
+	* quantize.c (pfk1):
+
+	modularization and clean-up finished
+
+2000-09-06 18:02  markt
+
+	* Makefile (pfk1):
+
+	[no log message]
+
+2000-09-06 07:50  shibatch
+
+	* psymodel.c, quantize_pvt.c:
+
+	updated --nspsytune.
+
+2000-09-06 07:15  markt
+
+	* Makefile, amiga_mpega.c, bitstream.c, brhist.c, fft.c, fft.h,
+	  get_audio.c, get_audio.h, gtkanal.c, gtkanal.h, lame.c, lame.h,
+	  main.c, mp3rtp.c, newmdct.c, newmdct.h, parse.c, psymodel.c,
+	  psymodel.h, quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  reservoir.c, tables.c, tables.h, takehiro.c, timestatus.c,
+	  util.c, util.h, vbrquantize.c, version.c, version.h,
+	  vorbis_interface.c, mpglib/common.c, mpglib/decode_i386.c,
+	  mpglib/huffman.h, mpglib/interface.c, mpglib/l2tables.h,
+	  mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c, mpglib/main.c,
+	  mpglib/mpg123.h:
+
+	LAME CVS reverted back to Aug 30 version.
+
+	code before this can be checked out with:
+	cvs update -r pfk1
+
+2000-09-05 23:55  pfk
+
+	* HACKING, Makefile, TODO, get_audio.c, lame.c, lame.h, mlame,
+	  parse.c, version.h, mpglib/README, mpglib/huffman.h,
+	  mpglib/layer1.c, mpglib/layer2.c:
+
+
+	HACKING:        add type proposals
+	Makefile:       layer 1 enabled
+	mlame:          flaw removed
+	get_audio:      C-Linkage problem solved
+	layer1.c:       bug fixed
+	                disabled decoding enabled, works for C/C++
+	huffman.c:      read protect/scope protect tables using 'const'/'static'
+	lame.h:         Starting RPC support, 3 macros IN/OUT/INOUT defined
+	                Starting supported for szip compressed wave/aiff
+	parse.c:        detection of raw/wav/aiff input (proposal of RH)
+	                boolean bug fixed !=||!=||!=
+	layer2.c:       common layer1/layer2 buffer moved from layer2.c to layer1.c
+	lame.c:         bug fixed: -V9 switched to mono
+	                Auto switch to mono reported wrong compression ratio
+	                report of forced joint stereo usage
+
+	*:              Some spelling errors removed
+
+2000-09-05 22:20  robert
+
+	* quantize.c:
+
+	more modularization and clean-up, some few more to come
+
+2000-09-05 20:39  shibatch
+
+	* psymodel.c:
+
+	Tweaks to --nspsytune(table optimization).
+
+2000-09-05 16:36  cisc
+
+	* parse.c, mpglib/common.c, mpglib/interface.c, mpglib/l2tables.h,
+	  mpglib/layer1.c, mpglib/layer2.c, mpglib/layer3.c:
+
+	quick fix to make mpglib compile, prolly still broken though. fixed mono bug in layer1.c?
+
+2000-09-04 23:17  shibatch
+
+	* psymodel.c:
+
+	Tweaks to --nspsytune.
+
+2000-09-04 19:56  robert
+
+	* quantize.c:
+
+	more cleanup in VBR_rh
+
+2000-09-04 16:05  robert
+
+	* quantize.c:
+
+	more modularization work
+
+	it is now possible to combine VBR_RH with VBR_MT
+
+2000-09-03 22:33  cisc
+
+	* brhist.c:
+
+	small change
+
+2000-09-03 19:10  robert
+
+	* quantize.c:
+
+	updated remarks
+
+2000-09-03 17:21  pfk
+
+	* get_audio.c, gtkanal.c, lame.h, main.c, mp3rtp.c, parse.c,
+	  util.c, util.h, version.h:
+
+
+
+	some bugfixes, move some functionality to two simple functions.
+
+	Added support of 24 and 32 bit BE and LE AIFF and WAV files
+	(simple support, only using upper 16 bit)
+
+	marking 3 areas which seems to be buggy.
+
+2000-09-03 17:19  robert
+
+	* quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c,
+	  vbrquantize.c:
+
+	code cleanup in quantize_pvt.c
+
+2000-09-03 15:06  robert
+
+	* lame.c, quantize.c, quantize_pvt.c, quantize_pvt.h, takehiro.c,
+	  vbrquantize.c:
+
+	takehiro.c now free of lame_global_flags
+
+2000-09-03 14:05  robert
+
+	* quantize.c, quantize_pvt.c, quantize_pvt.h:
+
+	code clean up
+
+2000-09-03 13:06  pfk
+
+	* Makefile, brhist.c, get_audio.c, get_audio.h, gtkanal.c, lame.c,
+	  lame.h, main.c, version.c, version.h:
+
+
+
+	minor fixes
+
+	get_audio: (simple) support of 24 bit PCM
+	           Replaced the different types of tabs by 3, 4 or 8 spaces
+
+2000-09-03 12:42  shibatch
+
+	* psymodel.c:
+
+	 Tweaks to --nspsytune.
+
+2000-09-03 11:47  shibatch
+
+	* psymodel.c, quantize_pvt.c:
+
+	 Tweaks to --nspsytune. Noise calculation using tonality is canceled.
+
+2000-09-03 09:54  robert
+
+	* tables.c:
+
+	fix for i386/choose_table.nas, could not be linked
+
+2000-09-03 06:50  cisc
+
+	* lame.c:
+
+	removed *extremely* annoying debug. fixed related bug? should be checked if mono encoding still works!
+
+2000-09-03 06:48  cisc
+
+	* get_audio.c:
+
+	fixed  conflicting prototype when LIBSNDFILE is defined
+
+2000-09-02 18:06  robert
+
+	* quantize_pvt.c:
+
+	small fix to previous check in
+
+2000-09-02 18:03  robert
+
+	* gtkanal.h, quantize.c, quantize_pvt.c, quantize_pvt.h,
+	  vbrquantize.c:
+
+	set_pinfo does now the noise calculation for the frame analyzer
+	code cleanup
+
+2000-09-02 15:36  pfk
+
+	* mlame:
+
+
+
+	extended functionality and feature fix
+
+2000-09-02 13:36  pfk
+
+	* main.c:
+
+
+
+	bug fix.
+
+2000-09-02 13:28  pfk
+
+	* get_audio.c, main.c:
+
+
+
+	Bug fix in final fwrite().
+
+2000-09-02 06:38  cisc
+
+	* util.h:
+
+	warning and error fixes
+
+2000-09-02 05:42  cisc
+
+	* mpglib/mpg123.h:
+
+	It's important to remember the PARENT_IS_SLASH define when including files from previous dir.
+
+2000-09-02 05:29  cisc
+
+	* amiga_mpega.c, lame.c, util.c:
+
+	warning and error fixes
+
+2000-09-02 03:13  pfk
+
+	* Makefile, get_audio.c, gtkanal.c, lame.c, lame.spec, psymodel.h,
+	  timestatus.c, util.c, util.h, vbrquantize.c, version.c,
+	  version.h, mpglib/l2tables.h, mpglib/layer2.c, mpglib/mpg123.h:
+
+
+
+	Quick and Dirty: Now compilable with g++.
+
+	Layer 1 and 2 decoding makes problems.
+
+	structs and typedef structs with the same name.
+	Must be patched.
+
+2000-09-02 01:03  cisc
+
+	* psymodel.c, quantize_pvt.c, timestatus.c:
+
+	warning fixes
+
+2000-09-01 23:28  pfk
+
+	* Makefile, lame.c, lame.h, util.c, util.h, mpglib/layer1.c,
+	  mpglib/layer2.c:
+
+
+
+	Bugfix for 9 kbps error
+
+2000-09-01 23:28  robert
+
+	* get_audio.c:
+
+	small typo in remark
+
+2000-09-01 20:21  pfk
+
+	* bitstream.c, get_audio.c, gtkanal.c, gtkanal.h, lame.c, lame.h,
+	  newmdct.c, psymodel.c, quantize.c, quantize_pvt.c, reservoir.c,
+	  tables.c, tables.h, util.c, util.h, vbrquantize.c, version.h,
+	  mpglib/common.c, mpglib/interface.c, mpglib/layer1.c,
+	  mpglib/layer2.c, mpglib/layer3.c, mpglib/main.c, mpglib/mpg123.h:
+
+
+
+	* A lot of minor changes
+
+	* Changed the name of structure element from 'stereo' to 'channels'
+	  if it has the meaning of 'channels'. This is so confusing, so that
+	  there are some bugs in lame.
+
+	Rest read in 'Bad and worse programming styles' and 'job security'
+
+	--
+	Frank Klemm
+
+2000-09-01 16:19  robert
+
+	* lame.c:
+
+	small fix, lame -v x.wav did not work anymore
+
+2000-09-01 04:04  cisc
+
+	* amiga_mpega.c:
+
+	some warning and error fixes
+
+2000-09-01 04:03  cisc
+
+	* LICENSE:
+
+	libsndfile is now LGPL
+
+2000-09-01 00:05  pfk
+
+	* brhist.c, lame.c, parse.c, quantize.c, util.c, util.h, version.c:
+
+
+
+	presets modified
+	changed name of bitrate_table to index_to_bitrate
+	added table bitrate_to_index, speedup of functions using it.
+
+2000-08-31 21:33  pfk
+
+	* Makefile, amiga_mpega.c, fft.c, fft.h, get_audio.c, get_audio.h,
+	  gtkanal.c, lame.c, lame.h, main.c, mp3rtp.c, newmdct.c,
+	  newmdct.h, psymodel.c, psymodel.h, quantize_pvt.c, util.c,
+	  util.h, version.c, version.h, vorbis_interface.c,
+	  mpglib/decode_i386.c, mpglib/main.c:
+
+
+
+	Introduction of the type sample_t for PCM samples.
+	'short' should not be used in the future.
+
+2000-08-31 11:06  shibatch
+
+	* psymodel.c:
+
+	  minor bugfix of mask_add().
+
+2000-08-30 23:29  pfk
+
+	* LICENSE, PRESETS.draft, bitstream.c, lame.c, parse.c,
+	  timestatus.c, util.h, version.c, version.h:
+
+	[no log message]
+
+2000-08-30 07:18  shibatch
+
+	* quantize_pvt.c:
+
+	  Tweaks to --nspsytune.
+
+2000-08-29 22:35  pfk
+
+	* debugscalefac.c, get_audio.c, id3tag.c, lame.c, lame.h, parse.c,
+	  util.c, util.h, version.c, version.h, doc/html/switchs.html:
+
+	[no log message]
+
+2000-08-29 10:14  shibatch
+
+	* psymodel.c, quantize_pvt.c:
+
+	 Tweakings to --nspsytune.
+	 Tonality table is optimized a little.
+	 Noise calculation now uses tonality.
+	 NSATHSCALE is decreased from 103 to 100.
+
+2000-08-28 20:18  robert
+
+	* lame.c:
+
+	small tweak to RH_VALIDATE_MS
+
+2000-08-28 19:55  robert
+
+	* lame.h, parse.c, psymodel.c:
+
+	small fixes
+
+2000-08-28 19:27  shibatch
+
+	* psymodel.c:
+
+	 Tweaks to the tonality table. vbrtest.wav is now encoded correctly with --nspsytune.
+
+2000-08-28 18:37  pfk
+
+	* lame.h, parse.c, version.c, version.h:
+
+
+
+	parse.c:	presets are taken from a table
+	version.c:	version incremented (should be done more often)
+
+2000-08-28 10:04  shibatch
+
+	* parse.c, quantize_pvt.c, psymodel.c:
+
+
+	 Changes to --nspsytune.
+
+2000-08-27 11:51  robert
+
+	* lame.c:
+
+	tweak to validate MS switching criterion (to be enabled with RH_VALIDATE_MS)
+
+2000-08-27 04:34  markt
+
+	* parse.c:
+
+	look for .mp3 or .MP3 when parsing input filename
+
+2000-08-26 04:07  markt
+
+	* Makefile:
+
+	openBSD tweak
+
+2000-08-26 04:06  markt
+
+	* Makefile (debug):
+
+	tweak for Open BSD
+
+2000-08-26 04:03  markt
+
+	* Dll/BladeMP3EncDLL.h:
+
+	added include sys/types to BlaceMP3EncDLL.h
+	Borland compiler needs definitions for BOOL and DWORD.
+
+2000-08-24 20:34  robert
+
+	* quantize.c:
+
+	little tweak to VBR-old, side channel gets now a little lower bit skeleton
+
+2000-08-23 23:08  robert
+
+	* Makefile, lame.c, quantize.c, quantize_pvt.c:
+
+	sfb21 kludge, only VBR tries to get an undistorted  sfb21
+	at lower sample frequencies it makes more trouble than
+	we can gain from that, so now sfb21 will be ignored in
+	VBR mode for MPEG-2 LSF.
+
+	first tweak (not enabled) for M/S switching criterion
+
+2000-08-23 00:02  markt
+
+	* lame.c, vorbis_interface.c:
+
+	messages about filters, vorbis modes
+
+2000-08-22 18:29  markt
+
+	* lame.c, util.h:
+
+	moved last_time into lame_internal_flags struct
+
+2000-08-22 16:30  markt
+
+	* get_audio.c:
+
+	byte swapping code now only used for 16 bit input files.
+
+2000-08-22 03:19  markt
+
+	* lame.c:
+
+	minor gtkflag changes
+
+2000-08-22 00:08  pfk
+
+	* get_audio.c, parse.c:
+
+
+
+	get_audio.c:
+		Support of reporting all supported input file types.
+
+2000-08-21 20:16  robert
+
+	* lame.c:
+
+	pe_MS was not initialized in case we don't use our psychoacoustic model
+
+2000-08-21 16:02  robert
+
+	* lame.c, mpglib/main.c:
+
+	LayerI+II LSF corrections
+
+2000-08-21 15:47  markt
+
+	* doc/html/: contributors.html, history.html, id3.html, index.html,
+	  switchs.html:
+
+	updated docs from Gabriel
+
+2000-08-21 05:32  markt
+
+	* Makefile (debug), USAGE, vorbis_interface.c:
+
+	added support for the four new vorbis modes.  (higher bitrates)
+	use with the -b option.
+
+2000-08-21 04:52  markt
+
+	* main.c, mp3rtp.c, Dll/BladeMP3EncDLL.c:
+
+	Fixed problem with writing VBR tag if user renames mp3 output
+	file during the encoding.
+
+2000-08-21 00:40  markt
+
+	* lame.c, lame.h, main.c, mp3rtp.c:
+
+	more prep work for vbr tag problem
+
+2000-08-21 00:28  markt
+
+	* VbrTag.c, VbrTag.h, lame.c:
+
+	prep work to fix Vbrtag when user renames mp3 file during encodiing.
+
+2000-08-21 00:05  markt
+
+	* main.c, testcase.mp3:
+
+	fixes to main.c: it is supposed to be example code for how to
+	use the LAME library - it should only include lame.h, all other
+	.h files are supposed to be private to the encoding library.
+
+2000-08-21 00:00  markt
+
+	* INSTALL, Makefile, Makefile.B32, Makefile.DJGPP, Makefile.MSVC,
+	  README.B32, TODO, bitstream.c, gtkanal.c, lame.c, lame.dsp,
+	  quantize-pvt.c, quantize-pvt.h, quantize.c, quantize_pvt.c,
+	  quantize_pvt.h, takehiro.c, vbrquantize.c, Dll/MP3EncDll.dsp:
+
+	changed quantize-pvt.c to quantize_pvt.c
+	Added Boland stuff_
+
+2000-08-20 23:21  markt
+
+	* Makefile, version.h:
+
+	Amiga stuff for Makefile, updated version.h to 3.87alpha
+
+2000-08-20 21:22  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	enhanced lame_enc dll debugging
+
+2000-08-20 20:50  robert
+
+	* lame.c:
+
+	fixed bug for LSF,
+	ms_ratio will not be calculated for the second granule
+	because at lower sample rates there is no second granule
+	but the M/S switching criterion relies ms_ratio on it
+
+2000-08-19 10:54  robert
+
+	* lame.c, parse.c, mpglib/main.c:
+
+	total frames of LayerI files was not correctly estimated for decoding
+
+2000-08-18 18:07  robert
+
+	* USAGE, get_audio.c, gtkanal.c, lame.c, lame.h, parse.c,
+	  mpglib/main.c:
+
+	LayerI+II decoding patches
+
+2000-08-18 01:40  pfk
+
+	* bitstream.c, brhist.c, lame.c, main.c, parse.c, timestatus.c,
+	  timestatus.h:
+
+
+
+	bitstream.c:	Table based CRC calculation code added (must be enabled to use)
+	brhist.c:	Enlighted design of the bit rate history output
+	main.c:		init of CRC Table in bitstream.c
+	parse.c:	Some parameters can be name in Hz/bps and in kHz/kbps
+	timestatus.c:	Enlighted design of the time counters
+	lame.c:		Changed screen update frequency from 50/100 frames to 2 seconds
+
+2000-08-17 14:34  robert
+
+	* Makefile, Makefile.DJGPP, Makefile.MSVC, mpglib/common.c:
+
+	Layer1/2 related update
+
+2000-08-16 17:05  robert
+
+	* Makefile.MSVC:
+
+	added GTK support (frame analyzer)
+
+2000-08-16 01:22  afaber
+
+	* parse.c, mpglib/common.c, mpglib/interface.c, mpglib/l2tables.h,
+	  mpglib/layer1.c, mpglib/layer1.h, mpglib/layer2.c,
+	  mpglib/layer2.h, mpglib/mpg123.h, mpglib/mpglib.dsp:
+
+	Added support for Layer 1 and Layer 2 decoding
+
+2000-08-15 19:31  robert
+
+	* Makefile, lame.c, takehiro.c, util.h:
+
+	patch to prevent core dump in case big value = 576 in count_bits_long()
+
+2000-08-13 13:44  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h, Example.cpp,
+	  LameDLLInterface.htm:
+
+	Added Lame presets to the DLL interface + added HTM document how to use the lame_enc.dll interface
+
+2000-08-13 02:50  afaber
+
+	* Dll/: Example.cpp, Example.dsp, Example.dsw, MP3EncDll.dsp:
+
+	Added DLL Example
+
+2000-08-12 15:42  robert
+
+	* quantize.c:
+
+	major speed increase for vbr-old
+
+2000-08-11 20:53  robert
+
+	* psymodel.c:
+
+	RH_AMP tweak, improves vbrtest.wav
+
+2000-08-08 21:08  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Add new RecordItem array, not completely finsihed yet, but it compiles
+
+2000-08-08 20:11  cisc
+
+	* psymodel.c, takehiro.c:
+
+	code cleanup
+
+2000-08-08 04:01  markt
+
+	* Makefile:
+
+	Dec Alpha makefile fix
+
+2000-08-07 18:24  robert
+
+	* Makefile, lame.c, quantize-pvt.c, quantize.c:
+
+	code cleanup
+
+2000-08-07 05:53  markt
+
+	* takehiro.c:
+
+	code cleanup in count_bits_long()
+
+2000-08-07 00:00  markt
+
+	* Makefile (debug), doc/html/history.html, mpglib/interface.c,
+	  mpglib/layer3.c:
+
+	bug fixed in mpglib error recovery from corrupt frames
+
+2000-08-06 22:58  markt
+
+	* get_audio.c, testcase.mp3:
+
+	oops, one bug in 3.86beta.  try and change this before
+	anyone downloads source from the web site :-)
+
+2000-08-06 22:34  markt
+
+	* get_audio.c, version.h, doc/html/history.html:
+
+	lame 3.86 beta release
+
+2000-08-06 21:34  markt
+
+	* lame.c, lame.h, testcase.mp3:
+
+	disabled scalefac_scale (except if -q1 is used)
+	and make old vbr mode the default
+
+2000-08-06 20:58  markt
+
+	* quantize-pvt.c, testcase.mp3:
+
+	Reverted back to original definition of over_noise and tot_noise:
+
+	tot_noise = is really the average over each sfb of:
+	     [noise(db) - allowed_noise(db)]
+
+	and over_noise is the same average, only over only the
+	    bands with noise > allowed_noise.
+
+2000-08-06 20:32  markt
+
+	* mpglib/main.c:
+
+	Album ID tag reading bug fixes
+
+2000-08-06 20:21  markt
+
+	* INSTALL, USAGE, lame.c, lame.h, parse.c, quantize-pvt.c,
+	  takehiro.c, timestatus.c, timestatus.h, util.h, vbrquantize.c,
+	  Dll/MP3export.pas, Dll/README:
+
+	added the "--athlower n" option which lowers the ATH by n db.
+
+	Added possible fix for region0_count and region1_count getting
+	set to illegal negative values.
+
+2000-08-03 20:07  robert
+
+	* Makefile, lame.c, lame.spec, quantize-pvt.c, quantize.c:
+
+	don't worry Mark! my noise calculation wrapped by RH_NOISE_CALC
+	define RH_NOISE_CALC at compile time to get my version of noise
+	calculation
+
+	special:
+	-Y  amp_scalefac_bands will amplify only the maximum distorted band
+
+2000-08-01 06:36  markt
+
+	* INSTALL, bitstream.c:
+
+	added a few assert's
+
+2000-08-01 04:53  markt
+
+	* quantize.c:
+
+	Fixed amp_scalefac_bands (RH found this)
+
+2000-08-01 04:38  markt
+
+	* get_audio.c, util.c, util.h, mpglib/main.c:
+
+	updated lame --decode to read Roel's AID stuff
+
+2000-07-31 19:17  markt
+
+	* Makefile (debug), INSTALL, Makefile.DJGPP, lame.spec:
+
+	updated debug makefile
+
+2000-07-31 19:00  markt
+
+	* Makefile, TODO, USAGE:
+
+	open bsd updates to makefile
+
+2000-07-31 18:46  markt
+
+	* quantize.c, takehiro.c, testcase.mp3:
+
+	Takehiro's best_huffman_divide turned back on
+	for MPEG1 only
+
+2000-07-31 18:38  markt
+
+	* quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c:
+
+	many commits were made over the weekend.  But:
+
+	1. MPEG2 encoding was broken
+	2. all my test cases failed.
+
+	#11 is bad.  #2 can be caused be general improvements, but
+	coupled with #1 is a bad sign.
+
+	I spent all of sunday tracking down the many changes, and trying
+	to find what what the cause of what.  I finally ran out of time
+	and am going to revert some changes back to last working copy.
+
+	Here is a summary:
+
+	takehiro.c:  newest version, except:
+	      count_bits_long uses old code (new code commented out).
+	      This code was breaking MPEG2
+
+	      scfsi:  uses old slen1_n, slen2_n.  I will change this
+	      with the next commit.  (in about 10min)
+
+	     best_huffman_divide:  short block code breaks MPEG2.
+	     short block code is still there, but disabled.
+
+	quantize-pvt.c:  Newest version, except:
+
+	     all noice calculations reverted back to db.
+	     tot_noise, over_noise, ave_noise, etc. are given in db
+	     and will always be given in db.
+
+	     distort[], is left in units of energy, since this saves
+	     many log10() function calls.
+
+	quantize.c :  Reverted back to last working version, except
+	     have newest version of VBR_iteration_loop().
+
+2000-07-31 00:36  robert
+
+	* psymodel.c:
+
+	revert back to previous version,
+	it creept in by accident
+
+2000-07-30 23:48  robert
+
+	* lame.c, psymodel.c, quantize.c:
+
+	minor tweaks
+
+2000-07-29 22:37  robert
+
+	* lame.bat:
+
+	long file names on in for, thanks to Ihárosi Wiktor
+
+2000-07-27 16:42  takehiro
+
+	* bitstream.c:
+
+	minor change
+
+2000-07-27 16:41  takehiro
+
+	* quantize.c, vbrquantize.c:
+
+	make the short block huffman coding more efficient
+
+2000-07-27 16:39  takehiro
+
+	* machine.h:
+
+	oops MMX code couldn't compile...
+
+2000-07-27 16:38  takehiro
+
+	* fft.c:
+
+	removed unused code
+
+2000-07-27 16:38  takehiro
+
+	* takehiro.c:
+
+	restore old algorithm temporary...
+
+2000-07-26 13:56  takehiro
+
+	* newmdct.c:
+
+	minor coding hack and prepare for GOGO's subband filtering code
+
+2000-07-26 13:47  takehiro
+
+	* quantize-pvt.c, quantize-pvt.h, takehiro.c, util.h:
+
+	debug for region0/1 which kzmi reported
+
+2000-07-26 13:25  takehiro
+
+	* machine.h, quantize-pvt.h, takehiro.c:
+
+	i hope this fix make intel native asm code available on VC
+
+2000-07-25 22:28  robert
+
+	* quantize.c:
+
+	possible endless loop for different -X modes fixed,
+	some modes do not minimize "over" and would never
+	reach over == 0 in some rare cases
+
+2000-07-25 20:39  robert
+
+	* quantize.c:
+
+	small "fast encode" fix
+
+2000-07-25 20:09  robert
+
+	* Makefile:
+
+	fixed typo
+
+2000-07-25 19:24  robert
+
+	* quantize-pvt.c, quantize-pvt.h, quantize.c:
+
+	fixed somehow messed up noise calculation
+
+2000-07-25 15:42  robert
+
+	* quantize.c:
+
+	small bug fix
+
+2000-07-24 23:50  cisc
+
+	* get_audio.c:
+
+	small fix
+
+2000-07-24 23:32  cisc
+
+	* USAGE, get_audio.c:
+
+	Changed lame_decoder() to write native endian format when not writing WAV header (-x will byteswap).
+
+2000-07-24 20:31  markt
+
+	* quantize.c:
+
+	removed some print statements
+
+2000-07-24 20:30  markt
+
+	* quantize-pvt.c, quantize.c, takehiro.c:
+
+	fixed rare bug with -X0 getting stuck in a loop when over>0 and
+	over and over_noise didn't change from one iteration to the next.
+
+2000-07-24 05:51  markt
+
+	* parse.c:
+
+	updated docs
+
+2000-07-24 05:42  markt
+
+	* USAGE, get_audio.c, gtkanal.c, lame.h, parse.c:
+
+	-t: disables Xing header for encoding,
+	disables WAV header for decoding
+
+2000-07-21 17:39  markt
+
+	* Makefile, vorbis_interface.c:
+
+	vorbis interface fixes
+
+2000-07-21 17:09  markt
+
+	* INSTALL, Makefile.DJGPP, README.DJGPP:
+
+	updated some DJGPP stuff
+
+2000-07-21 16:50  markt
+
+	* VbrTag.c, encoder.h, get_audio.c:
+
+	added some comments about decoder/encoder delay,
+
+2000-07-20 04:29  kzmi
+
+	* machine.h:
+
+	add mingw32 support. using windows.h.
+
+2000-07-20 04:28  kzmi
+
+	* Makefile:
+
+	add non-UNIX environment support. (NOUNIXCMD)
+	specifying UNAME,ARCH,PGM on command line is available.
+
+2000-07-19 23:19  robert
+
+	* vbrquantize.c:
+
+	oops, fixed typo
+
+2000-07-19 22:42  robert
+
+	* vbrquantize.c:
+
+	fixed problem with Roel's clips.wav file,
+	"pseudo endless loop" problem now gone
+	maybe the annoying spikes too?
+
+2000-07-18 22:57  robert
+
+	* vbrquantize.c:
+
+	moved calc_xmin out of VBR_noise_shaping
+	moved xr34 calculation out of VBR_noise_shaping
+	changed analog silence detection from granule based to frame based
+	hacked in a first digital silence treatment per granule (can be optimized)
+
+	round about 8 percent faster on my Pentium 200 machine
+
+2000-07-18 00:09  markt
+
+	* lame.c:
+
+	moved some stuff into lame_init()
+
+2000-07-17 23:36  robert
+
+	* vbrquantize.c:
+
+	to make someone happy ;)
+
+2000-07-17 23:28  markt
+
+	* lame.c:
+
+	Changes from Kimmo: split lame_init_params() into 3 smaller
+	routines.  This somehow fixes some crashes on PPC (which OS?).
+
+2000-07-17 23:10  markt
+
+	* USAGE, lame.c, machine.h, main.c, quantize.c, util.c,
+	  mpglib/common.c, mpglib/mpg123.h:
+
+	Mac patches.  (in an #ifdef macintosh)
+
+2000-07-17 15:38  robert
+
+	* vbrquantize.c:
+
+	analog silence treatment like in old VBR
+
+2000-07-16 02:16  robert
+
+	* quantize.c:
+
+	minor tweaks
+
+2000-07-15 19:20  robert
+
+	* quantize.c:
+
+	OK found what was wrong, should work now
+
+2000-07-15 17:55  markt
+
+	* Makefile, lame.c, quantize.c:
+
+	Reverted back to older version of quantize.c becuase
+	version 1.137 broke some of my CBR test cases.
+
+	made scalefac_scale always on for all vbr modes
+
+2000-07-15 16:49  robert
+
+	* lame.c, quantize.c:
+
+	Takehiro's scalefac_scale now default for old-VBR, no more -q1 necessary
+
+2000-07-15 04:55  markt
+
+	* Makefile:
+
+	updated makefile for Dec Alpha Linux
+
+2000-07-14 20:06  markt
+
+	* USAGE, lame.h:
+
+	c++ name mangling fix, type in USAGE
+
+2000-07-12 18:03  robert
+
+	* util.c, util.h:
+
+	critical band width formula added
+
+2000-07-11 02:25  markt
+
+	* vbrquantize.c:
+
+	tuning for vbr_mt to fix chirp from John Dalton
+
+2000-07-11 00:47  markt
+
+	* quantize.c:
+
+	better tuning for ABR mode
+
+2000-07-11 00:31  markt
+
+	* gtkanal.c, quantize-pvt.c, quantize.c, vbrquantize.c,
+	  mpglib/main.c:
+
+	bug in frame analyzer (causes hangs near eof) fixed
+	better resyncing during mp3 file initialization in mpglib
+
+2000-07-10 23:03  markt
+
+	* lame.c, main.c, parse.c, reservoir.c, testcase.mp3,
+	  vbrquantize.c:
+
+	tuned new VBR so Roel will be happy :-)
+
+2000-07-10 00:24  markt
+
+	* timestatus.c:
+
+	timestatus overflow fix
+
+2000-07-09 20:05  markt
+
+	* Makefile.DJGPP, README.DJGPP, quantize-pvt.c, quantize.c:
+
+	more updated for DJGPP
+
+2000-07-09 13:19  shibatch
+
+	* fft.h:
+
+	I forgot to commit fft.h. (by Naoki Shibata)
+
+2000-07-09 13:16  shibatch
+
+	* fft.c, lame.c, lame.h, parse.c, psymodel.c, quantize-pvt.c:
+
+	Added --nspsytune command line option. This should solve vbrtest problem. (By Naoki Shibata)
+
+2000-07-09 03:22  gramps
+
+	* parse.c:
+
+	additional help for ID3-style comments in Ogg Vorbis output from a patch by Ralph Giles
+
+2000-07-09 03:20  gramps
+
+	* lame.c:
+
+	don't add ID3 tags to Ogg Vorbis output
+
+2000-07-09 03:18  gramps
+
+	* vorbis_interface.c:
+
+	partial support for ID3-style comments from a patch by Ralph Giles
+
+2000-07-08 15:08  robert
+
+	* quantize.c:
+
+	long time BUG in old VBR fixed, preventing LAME from using more than 2500 bits per channel
+
+2000-07-08 00:39  markt
+
+	* README.DJGPP, get_audio.c:
+
+	8bit .wav files supported.
+
+2000-07-07 22:44  markt
+
+	* Makefile:
+
+	Updateted Makefile for alpha/linux
+
+2000-07-07 21:42  robert
+
+	* quantize-pvt.h, quantize.c:
+
+	little VBR-old speed up (upto 10%)
+
+2000-07-07 20:09  markt
+
+	* Makefile.DJGPP, README.DJGPP:
+
+	updated DJGPP stuff from Chris Wise
+
+2000-07-07 00:34  robert
+
+	* quantize.c:
+
+	more "old-VBR" tuning
+
+2000-07-06 22:20  cisc
+
+	* amiga_mpega.c:
+
+	Should now work for GCC.
+
+2000-07-06 16:54  robert
+
+	* Dll/BladeMP3EncDLL.c:
+
+	DLL uses now the same VBR routine by default as the EXE
+
+2000-07-05 04:57  markt
+
+	* quantize-pvt.c, timestatus.c:
+
+	minor changes
+
+2000-07-04 23:52  cisc
+
+	* brhist.c, quantize-pvt.c, takehiro.c:
+
+	code cleanup
+
+2000-07-04 23:52  gramps
+
+	* id3tag.h, lame.h:
+
+	make id3tag.h dependent on lame.h instead of the other way around
+
+2000-07-04 22:16  markt
+
+	* lame.h, testcase.mp3, util.h, version.h:
+
+	updated version to 3.86 alpha
+
+2000-07-04 15:40  robert
+
+	* lame.c, quantize.c:
+
+	old VBR silence bug fixed
+
+2000-07-04 14:46  robert
+
+	* VbrTag.c:
+
+	oops, 1 bit forgotten
+
+2000-07-04 03:32  kzmi
+
+	* quantize-pvt.c, quantize-pvt.h, quantize.c, vbrquantize.c:
+
+	old tot_noise and over_noise are obsolete.
+	tot_avg_noise and over_avg_noise were renamed as tot_noise
+	and over_noise.
+
+2000-07-04 03:28  gramps
+
+	* USAGE, VbrTag.c, id3tag.c, id3tag.h, lame.c, lame.h, main.c,
+	  mp3rtp.c, parse.c, doc/html/id3.html:
+
+	ID3 version 2 tag support
+
+2000-07-03 17:10  robert
+
+	* VbrTag.c:
+
+	keep CRC bit for additional Xing-VBR frame
+
+2000-07-03 16:21  markt
+
+	* doc/html/history.html:
+
+	[no log message]
+
+2000-07-03 16:20  markt
+
+	* README.DJGPP, lame.h, psymodel.c, quantize-pvt.c, vbrquantize.c,
+	  version.h:
+
+	lame 3.85 beta release
+	(old VBR mode back to being the default)
+
+2000-07-03 00:58  markt
+
+	* Makefile, machine.h, psymodel.c:
+
+	added note about FLOAT8 = float breaking certain features
+
+2000-07-03 00:57  markt
+
+	* Makefile:
+
+	[no log message]
+
+2000-07-03 00:48  markt
+
+	* psymodel.c, testcase.mp3:
+
+	updated mid/side demasking thresholds with takehiro's formula
+
+2000-07-03 00:25  markt
+
+	* psymodel.c, vbrquantize.c:
+
+	more tweakes to ATH/PE calculation. psymodel.c uses additive masking
+	so ATH needed a  *= numlines.
+
+2000-07-02 23:51  markt
+
+	* psymodel.c:
+
+	added ATH threshold to PE calculation.
+
+2000-07-02 23:39  markt
+
+	* psymodel.c, quantize-pvt.c, quantize-pvt.h, util.c, util.h,
+	  vbrquantize.c:
+
+	code so that ATH can be used for PE formula
+
+2000-07-02 21:44  markt
+
+	* Makefile:
+
+	Makefile updated so float8 = double
+
+2000-07-02 18:40  markt
+
+	* lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c,
+	  util.c, vbrquantize.c:
+
+	short block re-ording complete!
+	all routines updated, but not cleaned up:  it is now possible
+	to merge most short block and long block loops
+
+2000-07-01 22:12  robert
+
+	* lame.c:
+
+	code cleanup
+
+2000-07-01 21:48  robert
+
+	* util.c:
+
+	integer based padding routine
+
+2000-07-01 20:37  cisc
+
+	* lame.c, quantize-pvt.h, util.h:
+
+	code cleanup
+
+2000-07-01 18:12  markt
+
+	* bitstream.c, lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  takehiro.c, testcase.mp3, util.c, util.h, vbrquantize.c:
+
+	re-order short blocks data storage.  in preperation for takehiro's
+	asm routines
+
+2000-07-01 15:23  robert
+
+	* lame.c, quantize-pvt.c, quantize.c:
+
+	old VBR no ATH bug fixed
+
+2000-07-01 13:51  robert
+
+	* lame.c, quantize-pvt.h, quantize.c, util.c, util.h:
+
+	code cleanup
+
+2000-07-01 11:26  robert
+
+	* lame.c, lame.h, parse.c, quantize-pvt.c, quantize.c:
+
+	made switch between default VBR modes easier, look into lame.h
+
+2000-07-01 02:35  markt
+
+	* lame.c, parse.c, version.h:
+
+	3.85 alpha (CVS) version: new vbr mode is the default
+
+2000-07-01 02:32  markt
+
+	* parse.c:
+
+	still bugs trying to make 3.84beta release
+
+2000-07-01 02:16  markt
+
+	* lame.c, parse.c, quantize-pvt.c:
+
+	i screwed up the 3.84 beta release, lets try again.
+	making old vbr mode the defailt, temporarily
+
+2000-07-01 02:11  markt
+
+	* Makefile, version.h:
+
+	[no log message]
+
+2000-06-30 23:32  markt
+
+	* Makefile:
+
+	makefile: -DFLOAT8 is float
+
+2000-06-30 23:30  markt
+
+	* lame.c, parse.c, version.h:
+
+	ok, back to new vbr mode = default
+
+2000-06-30 23:28  markt
+
+	* doc/html/history.html:
+
+	[no log message]
+
+2000-06-30 23:27  markt
+
+	* Makefile, lame.c, parse.c, version.h:
+
+	old vbr mode made the default.  --vbr-old and --vbr-new options
+	can specify which mode.  This is just for the next 10min
+	while I put out lame 3.84.  CVS will then revert back to
+	default = new vbr mode
+
+2000-06-30 23:15  markt
+
+	* get_audio.c:
+
+	8 bit input support (maybe works?)
+
+2000-06-30 14:25  kzmi
+
+	* VbrTag.c, bitstream.c, brhist.c, debugscalefac.c, gtkanal.c,
+	  psymodel.c, quantize-pvt.c, vbrquantize.c, vorbis_interface.c:
+
+	replaced fprintf/printf/exit() functions with macro
+
+2000-06-27 13:58  kzmi
+
+	* get_audio.c, lame.c, main.c, timestatus.c, timestatus.h:
+
+	replace printf/fprintf/exit() with macro.
+	decode_progress() and decode_progress_finish() are added
+	in timestatus.c.  these functions are used in lame_decode().
+
+2000-06-27 02:23  markt
+
+	* INSTALL, Makefile, TODO:
+
+	minor updates
+
+2000-06-27 01:18  markt
+
+	* mpglib/layer3.c:
+
+	Sergey's bug fix for layer3.c MPEG2 tables
+
+2000-06-26 20:47  afaber
+
+	* Dll/MP3EncDll.dsp:
+
+	Version 1.30 beta 1
+
+2000-06-26 16:08  markt
+
+	* quantize.c:
+
+	put Roberts ABR -V n settings back in.
+
+2000-06-26 05:56  markt
+
+	* TODO, lame.c, quantize.c, vbrquantize.c:
+
+	fixed one bug in VBR handling of vbrquantize.c
+	changed ABR mode: it should not be adjusting masking thresholds
+	based on quality settings.  It doesn't make sense to change the
+	maskings if the number of bits is fixed.
+
+2000-06-25 19:07  robert
+
+	* quantize-pvt.h, quantize.c:
+
+	little improvements for experimentalX modes
+
+2000-06-24 07:49  kzmi
+
+	* parse.c, util.h:
+
+	replace printf/fprintf and exit() in parse.c with macro
+
+2000-06-24 06:00  kzmi
+
+	* util.h:
+
+	abolished LAME_ASSERT().
+
+2000-06-24 05:57  kzmi
+
+	* util.c:
+
+	LAME_ASSERT() macro was removed. It was replaced assert().
+
+2000-06-23 14:45  kzmi
+
+	* util.h:
+
+	FLUSH_ERR() --> FLUSH_ERROR()
+
+2000-06-23 13:59  kzmi
+
+	* util.h:
+
+	new macros used instead of fprintf(), assert(), and exit().
+
+2000-06-23 13:53  kzmi
+
+	* util.c:
+
+	Alternative printing function lame_errorf() was added.
+	It will be called instead of fprintf() by using new macro "ERRORF"
+
+2000-06-22 20:41  robert
+
+	* lame.c, parse.c:
+
+	minor bugs
+
+2000-06-22 18:42  robert
+
+	* USAGE, lame.c, parse.c, quantize.c:
+
+	Marks new VBR now the default, old still under there, use --vbr-old
+
+2000-06-22 17:16  robert
+
+	* lame.c, util.h:
+
+	padding as in "MPEG-Layer3/Bitstream Syntax and Decoding"
+
+2000-06-22 16:06  robert
+
+	* mpglib/layer3.c:
+
+	table correction, thanks to Sergey Sapelin
+
+2000-06-21 15:38  afaber
+
+	* machine.h:
+
+	Update project file (added FLOAT8_is_float define)
+
+2000-06-21 05:04  markt
+
+	* lame.c, lame.h, psymodel.c, psymodel.h, quantize-pvt.c, util.h,
+	  vorbis_interface.c:
+
+	added some return codes, removed some exits
+
+2000-06-21 01:14  markt
+
+	* brhist.c:
+
+	added brhist display for windows, from  mremondini@racine.ra.it
+
+2000-06-21 00:05  markt
+
+	* machine.h:
+
+	added default settings for FLOAT8
+
+2000-06-20 23:34  markt
+
+	* psymodel.c, quantize-pvt.c, util.h:
+
+	added code to compute numlines and bo,bu arrays instead of using
+	table data
+
+2000-06-20 13:28  takehiro
+
+	* Makefile, machine.h:
+
+	prepare for architecture depending optimization
+
+2000-06-19 05:08  markt
+
+	* main.c, parse.c, vorbis_interface.c:
+
+	more vorbis bugs fixed
+
+2000-06-19 01:10  markt
+
+	* lame.c:
+
+	oops, if (gfc->filter_type=0) statement fixed
+
+2000-06-18 14:39  markt
+
+	* mpglib/interface.c:
+
+	mpglib: better resyncing code
+
+2000-06-18 04:34  cisc
+
+	* version.c:
+
+	minor change
+
+2000-06-18 04:15  cisc
+
+	* takehiro.c:
+
+	Removed redundant return.
+
+2000-06-18 04:13  markt
+
+	* vorbis_interface.c:
+
+	more ogg updates
+
+2000-06-18 04:09  markt
+
+	* main.c (ogg), lame.c:
+
+	ogg stuff
+
+2000-06-18 04:08  cisc
+
+	* version.c:
+
+	Included get_audio.h for prototypes...
+
+2000-06-18 03:59  cisc
+
+	* version.c:
+
+	Added version-check for libsndfile...
+
+2000-06-18 03:43  markt
+
+	* Makefile, main.c (ogg), lame.c, version.c:
+
+	ogg updates
+
+2000-06-17 14:00  robert
+
+	* parse.c, quantize-pvt.c:
+
+	typo in parse.c was disabling -Xn settings
+
+2000-06-17 04:57  takehiro
+
+	* TODO:
+
+	something added
+
+2000-06-17 00:35  markt
+
+	* lame.c, psymodel.c, util.h:
+
+	code to compute numlines_[] mostly debugged, but not in use.
+	only remaining psycho acoustic table data: minval (for long
+	blocks) and SNR for short blocks.
+
+2000-06-16 18:17  markt
+
+	* encoder.h, psymodel.c, testcase.mp3, util.h:
+
+	psymodel cleanup, bval[] table lookup replaced with
+	formulas.  Next step: replace numlines with formulas
+
+2000-06-16 18:03  robert
+
+	* TODO:
+
+	point added
+
+2000-06-16 17:31  markt
+
+	* psymodel.c, quantize-pvt.c, vbrquantize.c:
+
+	code re-arrangment in psymode.c.  In preperation to replace
+	bval[] from table lookup with formulas.
+
+2000-06-15 16:45  markt
+
+	* vbrquantize.c:
+
+	bug fix for -Y VBR mode:  needed to check for return code
+	for count_bits  for errors.
+
+2000-06-15 15:56  markt
+
+	* parse.c, vbrquantize.c, vorbis_interface.c, mpglib/interface.c:
+
+	mpglib bug fix from Naoki
+
+2000-06-15 00:06  markt
+
+	* lame.c:
+
+	scalefac_scale disabled for VBR modes.
+
+2000-06-14 21:13  markt
+
+	* quantize-pvt.c, quantize-pvt.h, quantize.c, vbrquantize.c:
+
+	A new noise moded(-X 7) and a new structure to keep track
+	of all the different noise measures, from Iwasa Kazmi
+
+2000-06-14 21:04  markt
+
+	* lame.c, lame.h, main.c, parse.c, util.c, util.h:
+
+	new FindNearestBitrate routine, return codes for lame_init_params.
+
+2000-06-14 20:03  markt
+
+	* USAGE, gpkplotting.c:
+
+	font in frame analyzer, updates to USAGE
+
+2000-06-14 03:15  markt
+
+	* Makefile.MSVC, vorbis_interface.c:
+
+	updated vorbis support (mono, different samplerates)
+
+2000-06-13 12:42  takehiro
+
+	* bitstream.c, tables.h, takehiro.c:
+
+	minor optimization and debug
+
+2000-06-13 11:27  takehiro
+
+	* tables.c, takehiro.c:
+
+	completely MMXed choose table routine. faster!
+
+2000-06-12 05:29  markt
+
+	* psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  vbrquantize.c:
+
+	added a different FFT->MDCT normalization, disabled.
+
+2000-06-10 09:38  robert
+
+	* Makefile.MSVC, machine.h:
+
+	vorbis support
+
+2000-06-10 03:39  cisc
+
+	* quantize-pvt.c, vbrquantize.c:
+
+	Aaargh, and now it suddenly doesn't work anymore, just gives me tons and tons of bitreservoir errors. :P
+
+2000-06-10 02:43  cisc
+
+	* vbrquantize.c:
+
+	Ooops, fixed redefinition...
+
+2000-06-10 01:56  cisc
+
+	* quantize-pvt.c, vbrquantize.c:
+
+	TAKEHIRO_IEEE754_HACK works great now, let's put it as default.
+
+2000-06-10 00:26  markt
+
+	* Makefile, quantize-pvt.c:
+
+	Mat's ROUNDFAC fix.  If #define TAKEHIRO_IEEE754_HACK is
+	used, ROUNDFAC should be set to -0.0946
+
+2000-06-10 00:10  markt
+
+	* Makefile, README, USAGE, lame.c, parse.c, quantize.c:
+
+	trivial changes
+
+2000-06-09 22:54  robert
+
+	* USAGE:
+
+	average bitrate coding (--abr) usage added
+
+2000-06-09 22:18  robert
+
+	* get_audio.c, lame.c, lame.h, parse.c, quantize.c, quantize.h:
+
+	Safe VBR mode available as --abr x, targetting x kbits
+	you can use -b and -B switches as usual with VBR
+
+2000-06-09 20:34  markt
+
+	* get_audio.c, get_audio.h, quantize-pvt.c:
+
+	minor changes
+
+2000-06-09 01:00  markt
+
+	* tables.c:
+
+	fixed bug in tables.c
+
+2000-06-09 00:30  markt
+
+	* Makefile:
+
+	[no log message]
+
+2000-06-09 00:28  markt
+
+	* Makefile, lame.c:
+
+	fix for when compiling without #define HAVEVORBIS
+
+2000-06-09 00:22  markt
+
+	* INSTALL, Makefile, Dll/MP3EncDll.dsp:
+
+	updated makefiles for VORBIS option
+
+2000-06-08 23:19  markt
+
+	* USAGE, lame.c, parse.c, vorbis_interface.c:
+
+	.ogg  encoding now works.
+
+2000-06-08 21:15  markt
+
+	* lame.c, vorbis_interface.c:
+
+	more .ogg encoding stuff.  still not working
+
+2000-06-08 20:46  markt
+
+	* Makefile, get_audio.c, gtkanal.c, lame.c, lame.h, parse.c,
+	  vorbis_interface.c:
+
+	--ogg option to produce .ogg files.  not yet working
+
+2000-06-08 06:04  markt
+
+	* API:
+
+	updated API to include HAVEVORBIS info
+
+2000-06-08 05:59  markt
+
+	* Makefile:
+
+	makefile for libvorbis support
+
+2000-06-08 05:58  markt
+
+	* Makefile, USAGE, get_audio.c, lame.h, parse.c,
+	  vorbis_interface.c, mpglib/main.c:
+
+	added .ogg file decoding.
+	Re-encode all your Vorbis files to MP3 !!!
+
+	(or, lame --decode input.ogg output.wav might be usefull)
+
+2000-06-07 23:36  markt
+
+	* INSTALL, get_audio.c, lame.h, reservoir.c:
+
+	started to add .ogg decoding
+
+2000-06-07 22:56  sbellon
+
+	* VbrTag.c, get_audio.c, ieeefloat.c, ieeefloat.h, machine.h,
+	  portableio.c, reservoir.c, mpglib/decode_i386.c, mpglib/mpg123.h:
+
+	added support for FPA10 hardware (RISC OS only)
+
+2000-06-07 22:54  sbellon
+
+	* main.c:
+
+	changed RISC OS file typing code
+
+2000-06-07 13:26  takehiro
+
+	* lame.spec:
+
+	spec file for RPM. contributed by ramsy@linux.or.jp
+
+2000-06-05 18:44  markt
+
+	* gpkplotting.c, gtkanal.c:
+
+	updated X windows font selection (thanks Iwasa)
+
+2000-06-05 17:38  markt
+
+	* testcase.mp3:
+
+	updated testcase
+
+2000-06-03 05:39  takehiro
+
+	* takehiro.c:
+
+	more aggressive scfsi using and little bit memory optimization
+
+2000-06-03 02:46  cisc
+
+	* get_audio.c:
+
+	code cleanup
+
+2000-06-01 18:30  cisc
+
+	* amiga_mpega.c:
+
+	code cleanup
+
+2000-05-31 21:00  markt
+
+	* quantize.c:
+
+	SAFE_VBR mode fixes
+
+2000-05-31 20:40  markt
+
+	* USAGE, lame.c, parse.c, psymodel.c, quantize.c:
+
+	SAFE_VBR mode added.  not enabled yet
+
+2000-05-31 19:52  cisc
+
+	* vbrquantize.c:
+
+	code cleanup
+
+2000-05-31 03:37  cisc
+
+	* timestatus.c:
+
+	code cleanup
+
+2000-05-31 00:25  robert
+
+	* Makefile:
+
+	[no log message]
+
+2000-05-31 00:24  robert
+
+	* mpglib/: interface.c, layer3.c, main.c, mpg123.h:
+
+	code cleanup
+
+2000-05-30 23:47  markt
+
+	* lame.c:
+
+	-f "fast mode" is now a little slower.
+
+	It now *will* compute psycho acoustics, used for total bits
+	and pre-echo detection.  But it will not spend any time
+	trying to find optimal scalefactors.
+
+2000-05-30 23:37  markt
+
+	* TODO, bitstream.c, lame.c, takehiro.c, vbrquantize.c:
+
+	fixed scfsi bug in vbrquantize.c
+
+2000-05-30 22:29  cisc
+
+	* VbrTag.c, bitstream.c, get_audio.c, l3side.h, main.c,
+	  quantize-pvt.c, quantize-pvt.h, util.c:
+
+	code cleanup
+
+2000-05-30 22:01  cisc
+
+	* takehiro.c, timestatus.c:
+
+	code cleanup
+
+2000-05-30 20:01  robert
+
+	* VbrTag.c, gtkanal.c, lame.c, newmdct.c, psymodel.c,
+	  quantize-pvt.c, reservoir.c, takehiro.c, timestatus.c, util.c,
+	  util.h, vbrquantize.c, Makefile:
+
+	code cleanup
+
+2000-05-30 16:01  robert
+
+	* fft.c, get_audio.c, main.c:
+
+	code cleanup
+
+2000-05-30 15:16  robert
+
+	* bitstream.c, l3side.h, quantize.c, quantize.h, util.h:
+
+	signed/unsigned fixes
+
+2000-05-30 00:20  markt
+
+	* Makefile:
+
+	updated Makefile comment about Sun OS
+
+2000-05-30 00:12  markt
+
+	* bitstream.c, psymodel.c, reservoir.c, takehiro.c, vbrquantize.c:
+
+	psymodel.c:  yet another loop check added
+
+	vbrquantize.c:  best_scalefac_store can change scalefac values.
+	scalefactors must be saved and restored before each call.
+
+	bitstream.c:  added part2_length assert check
+
+2000-05-29 22:11  cisc
+
+	* get_audio.c:
+
+	Included portableio.h for prototypes.
+
+2000-05-29 21:49  cisc
+
+	* amiga_mpega.c:
+
+	Skip bad frames.
+
+2000-05-29 19:59  robert
+
+	* VbrTag.c, get_audio.c, quantize.c, vbrquantize.c:
+
+	compiler warnings fixed
+
+2000-05-29 17:15  afaber
+
+	* VbrTag.c:
+
+	Private bit was not retained in VBR header, changes masking bit from 0x0c to 0x0d
+
+2000-05-29 17:14  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h:
+
+	Some minor fixes to the DLL inteface, added Write VBR tag prototype
+	Added LGPL header to *.h file
+
+2000-05-29 17:12  afaber
+
+	* lame.dsp:
+
+	Set proper defines in the debug mode
+
+2000-05-29 16:50  markt
+
+	* mpglib/: layer3.c, main.c, mpglib.h:
+
+	parent_is_slash #define, for the Amiga
+
+2000-05-29 14:39  markt
+
+	* brhist.c, machine.h, psymodel.c, mpglib/interface.c:
+
+	fixed loop problems with large --cwlimit
+
+2000-05-28 23:48  markt
+
+	* Makefile:
+
+	makefile debug branch
+
+2000-05-28 23:47  markt
+
+	* Makefile:
+
+	makefile now -O3 (linux) by default
+
+2000-05-28 23:46  markt
+
+	* Makefile, USAGE, psymodel.c, quantize.c, reservoir.c,
+	  vbrquantize.c, mpglib/interface.c:
+
+	code cleanup
+
+2000-05-28 06:56  takehiro
+
+	* quantize-pvt.c:
+
+	restored old GCC asm routine
+
+2000-05-28 05:01  takehiro
+
+	* Makefile, takehiro.c:
+
+	initial MMX implementation attempt..
+	use MMX to huffman coding.
+
+2000-05-27 07:41  takehiro
+
+	* takehiro.c:
+
+	more pseudo SIMD code
+
+2000-05-27 07:23  takehiro
+
+	* testcase.mp3:
+
+	testcase update for new scalefac_scale
+
+2000-05-27 07:22  takehiro
+
+	* quantize-pvt.c, quantize-pvt.h, takehiro.c:
+
+	pseude SIMD countbit routine preparing for MMX
+
+2000-05-27 07:21  takehiro
+
+	* quantize.c:
+
+	oops, foolish typemiss...
+
+2000-05-27 03:22  takehiro
+
+	* lame.c, quantize.c, version.h:
+
+	scalefac_scale debug and use it as default
+	new subblock_gain algorithm
+	(initial release, -Z to enable it, but not works fine)
+
+2000-05-27 03:08  takehiro
+
+	* newmdct.c:
+
+	minor changing
+
+2000-05-27 03:06  takehiro
+
+	* quantize-pvt.c, quantize.c, quantize-pvt.h:
+
+	scalefac_scale debug and use it as default
+	new subblock_gain algorithm
+	(initial release, -Z to enable it, but not works fine)
+
+2000-05-26 19:03  markt
+
+	* gtkanal.c, lame.c, vbrquantize.c:
+
+	vbrquantize.c work
+
+2000-05-26 01:49  cisc
+
+	* amiga_mpega.c, get_audio.c, lame.h:
+
+	Fixed a bunch of errors that must have been committed whilst sleepwalking. ;)
+
+2000-05-26 00:49  markt
+
+	* get_audio.c, lame.h, main.c:
+
+	moved WAV writing routines and lame_decoder() into get_audio.c
+
+2000-05-26 00:31  markt
+
+	* main.c:
+
+	another bug in WriteWav
+
+2000-05-26 00:02  markt
+
+	* main.c, quantize-pvt.c:
+
+	tweaked .wav file output.  Fixed small bug in short block bit
+	allocation (thanks Iwasa!)
+
+2000-05-25 23:02  markt
+
+	* lame.dsp (MSVC6):
+
+	updated project files MSVC6 tag
+
+2000-05-25 15:27  markt
+
+	* amiga_mpega.c, get_audio.c, gtkanal.c, lame.h, main.c,
+	  vbrquantize.c, mpglib/interface.c, mpglib/main.c:
+
+	updated frame analyzer to show difference between original/decoded
+	updated --decode to return bitrate, samplerate, numchannels.
+	if samplerate or numchannels changes in mp3 stream, --decode will
+	quite with an error message
+
+2000-05-24 16:53  markt
+
+	* gtkanal.c, gtkanal.h, quantize-pvt.c, vbrquantize.c,
+	  mpglib/layer3.c:
+
+	tweeks to frame analyzer: added preflag display
+
+2000-05-24 00:24  cisc
+
+	* get_audio.c:
+
+	Fixed silly bug preventing mp3input working together with libsndfile.
+
+2000-05-23 04:12  markt
+
+	* bitstream.c, gtkanal.c, quantize-pvt.c, quantize.c,
+	  vbrquantize.c:
+
+	fixed a bug in the frame analyzer: was rescaling axis between plotting
+	energy, masking and noise
+
+2000-05-22 18:20  shibatch
+
+	* mpglib/tabinit.c:
+
+	Changed decwin to more precise one.
+
+2000-05-22 17:11  markt
+
+	* quantize-pvt.c:
+
+	make IEEE stuff the default on GNU i386
+
+2000-05-22 13:14  cisc
+
+	* main.c:
+
+	fwrite() returns number of objects actually written
+
+2000-05-22 05:39  markt
+
+	* main.c:
+
+	fixed bug for mono .wav headers for lame --decode
+
+2000-05-22 05:27  markt
+
+	* quantize-pvt.c:
+
+	GNU C ASM code is temporarily disabled.
+
+	It looks like Takehiro's changes to 1.107 have broken this code.
+
+2000-05-22 05:07  markt
+
+	* mpglib/: common.c, interface.c:
+
+	more robust frame resyncing
+
+2000-05-22 05:07  markt
+
+	* quantize.c, vbrquantize.c:
+
+	more robust mpglib decoding (frame re-syncing)
+
+2000-05-21 20:54  cisc
+
+	* quantize-pvt.c:
+
+	TAKEHIRO_IEEE754_HACK should not be default
+
+2000-05-21 20:31  robert
+
+	* parse.c:
+
+	PRESET tunings:
+	+ after we dropped the ISO 7680 bit buffer limit
+	  allow more often 320 kbits frames
+	+ for MPEG2.5 allow more often short blocks
+	  only 8 kHz streams have now problems with
+	  short blocks, so don't use them then
+	- dropped all highpass filters, cos the
+	  results did not satisfy me
+	  (in my opinion they actually do more harm than good)
+	- tuned some lowpass filters cos of the sfb21
+	  noise calculation in VBR
+
+2000-05-21 19:33  markt
+
+	* l3side.h, parse.c, psymodel.c, quantize-pvt.c, quantize-pvt.h,
+	  quantize.c, quantize.h, reservoir.c, reservoir.h:
+
+	comments and other code cleanup
+
+2000-05-21 16:42  takehiro
+
+	* quantize.c:
+
+	new scalefac_scale algorithm option changed -Y -> -Z
+
+2000-05-21 16:25  takehiro
+
+	* quantize.c:
+
+	new scalefac_scale algorithm
+
+2000-05-21 16:19  takehiro
+
+	* quantize-pvt.h, quantize.c:
+
+	new scalefac_scale algorithm. enables with -Y option.
+
+2000-05-21 13:15  takehiro
+
+	* quantize-pvt.h:
+
+	VBR bug related sfb22 fixed
+
+2000-05-21 12:52  takehiro
+
+	* quantize-pvt.c:
+
+	VBR bug related sfb22 fixed
+
+2000-05-20 23:49  robert
+
+	* quantize-pvt.c, quantize.c:
+
+	minor tweaks
+
+2000-05-20 23:33  robert
+
+	* quantize.c:
+
+	VBR hack
+
+2000-05-20 21:05  markt
+
+	* bitstream.c, main.c, mpglib/main.c:
+
+	totbit buffer overflow fix
+
+2000-05-20 20:57  cisc
+
+	* takehiro.c:
+
+	choose_table() argument is int *, not unsigned *
+
+2000-05-20 20:36  markt
+
+	* bitstream.c, main.c, util.h, mpglib/main.c:
+
+	mpglib will not decode Xing VBR header.
+	write_timing changed to unsigned long to allow encoding more
+	than 4 hours at 128kbs.
+
+2000-05-20 15:13  markt
+
+	* main.c, takehiro.c:
+
+	.wav output with --decode was putting wrong filesize in
+	.wav header.
+
+2000-05-19 23:01  markt
+
+	* quantize-pvt.c, testcase.mp3, version.h:
+
+	updated version.h lame 3.84 alpha (CVS version)
+
+2000-05-19 20:07  markt
+
+	* doc/html/history.html:
+
+	updated history for 3.83beta
+
+2000-05-19 20:06  markt
+
+	* version.h:
+
+	lame 3.83beta
+
+2000-05-19 18:43  markt
+
+	* encoder.h, lame.c:
+
+	possible serious buffering problem fixed.  LAME buffers input data until
+	it has at least 1904 samples.  It then starts processing them.
+
+	The old MDCT routines processed 1728 samples and had a delay of 528.
+	(introduced in 3.54) But the new MDCT routines, because the delay is
+	so small (48 samples) actually need 2014 samples to be in the buffer!
+
+	If you use the lame input routines, for MPEG1, this bug would
+	not be found because the buffer always has well over 2014 samples
+	in it.  But it was possible to trigger it in MPEG2 encodings.
+	It would also be possible to trigger this bug in programs
+	that use lame_enc.dll and pass LAME data that is not in
+	chunks of 1152 samples.
+
+2000-05-19 17:23  markt
+
+	* bitstream.c, lame.c, lame.h, parse.c, psymodel.c, testcase.mp3,
+	  vbrquantize.c:
+
+	tweaks to psymodel initialization
+	more work on vbrquantize.c
+
+2000-05-19 01:38  markt
+
+	* bitstream.c, gtkanal.c, l3side.h, lame.c, main.c, psymodel.c,
+	  quantize-pvt.c, takehiro.c, testcase.mp3, vbrquantize.c:
+
+	more work on vbrquantize.c
+
+2000-05-18 18:50  markt
+
+	* main.c:
+
+	updated decoder to remove initial delay
+
+2000-05-18 05:38  markt
+
+	* main.c, parse.c:
+
+	lame --decode now outputs .wav files
+	file length in header is set to 2^32-1, since we dont
+	really know ahead of time how many samples are in the mp3 file.
+
+2000-05-17 22:25  markt
+
+	* quantize.c:
+
+	  ath lower bug in quantize.c fixed
+
+2000-05-17 22:08  markt
+
+	* quantize-pvt.c:
+
+	calc_noise1 will compute noise (and related info) for
+	last scalefactor band
+
+2000-05-17 21:33  markt
+
+	* quantize-pvt.c, takehiro.c:
+
+	frame analyzer displays more data in scalefactor band 22
+
+2000-05-17 19:50  markt
+
+	* gtkanal.h, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  vbrquantize.c:
+
+	modified frame analyzer to show last scalefactor band,
+	energy and masking (from the ATH).  distortion is not yet
+	calculated in this band.
+
+2000-05-17 18:08  markt
+
+	* gtkanal.c, l3side.h, quantize-pvt.c, quantize.c, util.h:
+
+	Possible fix for recent VBR/sweep bug:
+	min bitrate not strictly enforced with -F, and
+	analog silence was only being computed up th 16khz.
+
+2000-05-17 17:16  markt
+
+	* USAGE, brhist.c, get_audio.c, lame.c, lame.h, main.c, quantize.c,
+	  reservoir.c, util.c, util.h, vbrquantize.c:
+
+	moved framenum, totalframes into lame.h (so programs which
+	use libmp3lame can compute statis info.)
+
+2000-05-15 14:34  takehiro
+
+	* newmdct.c:
+
+	more coding hack.
+
+2000-05-14 23:38  cisc
+
+	* newmdct.c:
+
+	Changed M_PI to PI
+
+2000-05-14 08:12  takehiro
+
+	* newmdct.c:
+
+	Naoki's short block mdct
+	and more my coding hack for mdct
+
+2000-05-14 05:51  takehiro
+
+	* newmdct.c, util.h:
+
+	mdct_long coding hack
+
+2000-05-12 11:59  robert
+
+	* util.h, lame.c, newmdct.c:
+
+	code cleanup
+
+2000-05-12 09:51  takehiro
+
+	* newmdct.c, doc/html/history.html:
+
+	more work in mdct_long and window_filtering
+
+2000-05-12 05:03  markt
+
+	* testcase.mp3:
+
+	  updated testcase.mp3
+
+2000-05-12 05:02  markt
+
+	* version.h:
+
+	updated version to 3.83 alpha
+
+2000-05-12 05:01  markt
+
+	* API, README, version.h, doc/html/history.html:
+
+	version 3.83
+
+2000-05-10 13:55  takehiro
+
+	* quantize-pvt.c:
+
+	dirty hack for IEEE 754 FPU
+
+2000-05-09 16:31  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Fixed problem with build date string, temp string was not initialized properly (was missing a terminator character)
+
+2000-05-09 11:30  takehiro
+
+	* newmdct.c:
+
+	Naoki's mdct_long with my coding hack.
+
+2000-05-09 02:45  cisc
+
+	* API, brhist.c:
+
+	Added NOTERMCAP define and changed brhist.c accordingly.
+
+2000-05-08 22:48  markt
+
+	* testcase.mp3:
+
+	[no log message]
+
+2000-05-08 22:41  markt
+
+	* quantize-pvt.c, doc/html/history.html:
+
+	updated side channel 320kbs fix
+
+2000-05-08 22:30  robert
+
+	* Makefile, quantize-pvt.c:
+
+	M/S reduce_side bug fixed,
+	nonISO buffer mode should work now for
+	320 kbits MS streams too
+
+2000-05-08 19:55  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Bumped up version number of DLL version library, fixed some of the debugging code
+
+2000-05-08 17:46  markt
+
+	* doc/html/: contributors.html, examples.html, id3.html,
+	  index.html, lame.css, node5.html, node6.html, switchs.html:
+
+	updated docs from Gaby
+
+2000-05-08 17:40  markt
+
+	* version.h:
+
+	3.82 alpha(CVS) version
+
+2000-05-08 17:38  markt
+
+	* version.h, doc/html/history.html:
+
+	3.81beta release
+
+2000-05-08 17:31  markt
+
+	* Makefile, USAGE, VbrTag.c, brhist.c, lame.h, parse.c,
+	  reservoir.c, util.c:
+
+	removed ISO buffer limitation, added --strictly-enforce-ISO option
+
+2000-05-08 00:06  markt
+
+	* quantize-pvt.c, reservoir.c, vbrquantize.c:
+
+	started work on vbrquantize.c
+
+2000-05-07 11:09  robert
+
+	* Makefile, Makefile.MSVC, lame.c, parse.c:
+
+	-F option now working,
+	updated Makefile for DOS
+
+2000-05-07 03:59  takehiro
+
+	* newmdct.c, util.h:
+
+	new IDCT32 routine from Naoki and optimized by me.
+	and more thread safe coding.
+
+2000-05-06 22:20  markt
+
+	* testcase.mp3:
+
+	updated testcases
+
+2000-05-06 22:20  markt
+
+	* l3bitstream-pvt.h, lame.dsp, Dll/MP3EncDll.dsp:
+
+	updated project files (for removal of ISO code)
+
+2000-05-06 22:18  markt
+
+	* Makefile, VbrTag.c, VbrTag.h, formatBitstream.c,
+	  formatBitstream.h, l3bitstream.c, l3bitstream.h, lame.c,
+	  quantize.c, util.c, util.h, vbrquantize.c:
+
+	removed all ISO code
+
+2000-05-06 22:09  markt
+
+	* version.h:
+
+	updated version to 3.81 alpha 1  (CVS version)
+
+2000-05-06 22:07  markt
+
+	* Makefile:
+
+	updated makefile for beta release
+
+2000-05-06 22:05  markt
+
+	* version.h, doc/html/history.html:
+
+	updated version for 3.80 beta release
+
+2000-05-06 22:04  markt
+
+	* USAGE, lame.c, lame.h, main.c, parse.c, quantize.c,
+	  vbrquantize.c:
+
+	added -F option and compression ratio options
+
+2000-05-06 19:16  markt
+
+	* USAGE, lame.c, lame.h, parse.c, util.c:
+
+	--freeformat option added.  Allows lame to write free format
+	bitstreams
+
+2000-05-06 18:45  markt
+
+	* bitstream.c, gtkanal.c, lame.c, parse.c, psymodel.c, quantize.c,
+	  util.h, mpglib/interface.c, mpglib/main.c:
+
+	fixed buffer overflow in bitstream.c,
+	some improvements to mpglib mp3 playback
+
+2000-05-06 09:27  afaber
+
+	* Dll/MP3EncDll.dsp:
+
+	Update workspaces
+
+2000-05-05 20:48  markt
+
+	* get_audio.c, mpglib/common.c, mpglib/interface.c, mpglib/main.c,
+	  mpglib/mpg123.h, mpglib/mpglib.h:
+
+	free format mp3 decoding now supported, not fully tested
+
+2000-05-04 00:07  takehiro
+
+	* takehiro.c:
+
+	new count bits routine, speed up by coding hack.
+
+2000-05-03 07:23  markt
+
+	* psymodel.c:
+
+	updated comments
+
+2000-05-03 07:21  markt
+
+	* psymodel.c, testcase.mp3:
+
+	minor change to long block pre-echo control
+
+2000-05-03 07:18  markt
+
+	* psymodel.c, testcase.mp3:
+
+	minor improvement to long block pre-echo control
+
+2000-05-03 03:03  markt
+
+	* mpglib/interface.c:
+
+	one last tweak to interface.c
+
+2000-05-03 02:37  markt
+
+	* bitstream.c, mpglib/common.c, mpglib/interface.c,
+	  mpglib/layer3.c, mpglib/mpg123.h, mpglib/mpglib.h:
+
+	worked on mpglib/interface.c to make it handle free format
+	bitstreams.  (not yet working)
+
+2000-05-02 18:31  afaber
+
+	* Dll/: BladeMP3EncDLL.c, MP3EncDll.dsp:
+
+	Update lame version, bug fixes to play list file generation
+
+2000-05-02 02:53  markt
+
+	* reservoir.c:
+
+	for CBR encoding, 320kbs, dont allow main_data_begin > 0
+
+2000-05-02 01:24  markt
+
+	* gtkanal.c, lame.c, psymodel.c, quantize-pvt.c, quantize.c,
+	  testcase.mp3:
+
+	tweaked a bunch of bit allocation on PE settings,
+	based on tunings of testsignal2.wav and castanets.wav
+
+2000-05-01 18:18  markt
+
+	* bitstream.c, brhist.c, brhist.h, lame.c, lame.dsp, lame.h,
+	  parse.c, quantize-pvt.c, reservoir.c, util.h, Dll/MP3EncDll.dsp:
+
+	bunch of vbr histogram tweaks, and added --athshort option for
+	internal testing only
+
+2000-04-30 17:54  robert
+
+	* lame.bat:
+
+	DOS batch file to put on Win9x Desktop
+	you can drag and drop waves on it and
+	lame will encode them to mp3
+
+2000-04-29 23:41  markt
+
+	* bitstream.c, reservoir.c, testcase.mp3:
+
+	moved where main_data_begin was corrected when
+	padding into ancillary data
+
+2000-04-26 18:14  markt
+
+	* USAGE, lame.h, main.c, parse.c:
+
+	added the '--decode' option
+
+2000-04-26 00:54  markt
+
+	* machine.h, main.c, mpglib/decode_i386.c, mpglib/layer3.c:
+
+	moved calls to open the output file until after all
+	arguments and other conditions are checked.
+
+2000-04-24 22:22  markt
+
+	* reservoir.c, testcase.mp3:
+
+	disabled acillary drain (pre-frame) because of bugs at 320kbs
+	Could be player or encoder bug - have to investigate
+
+2000-04-19 21:35  robert
+
+	* psymodel.c:
+
+	MPEG2.5 related bug fixed
+
+2000-04-19 19:35  markt
+
+	* lame.c, lame.h, parse.c, quantize-pvt.c:
+
+	fixed bug allowing more than 4096 bits in a granule
+
+2000-04-18 22:57  markt
+
+	* lame.c, lame.h, psymodel.c, reservoir.c, takehiro.c, util.h:
+
+	lame is now (*maybe*) thread safe!
+
+2000-04-18 08:35  markt
+
+	* VbrTag.c, VbrTag.h, bitstream.c, brhist.c, get_audio.c,
+	  get_audio.h, id3tag.c, id3tag.h, l3bitstream.c, lame.c, lame.h,
+	  parse.c, psymodel.c, quantize-pvt.c, quantize.c, reservoir.c,
+	  reservoir.h, testcase.mp3, util.c, util.h, vbrquantize.c,
+	  Dll/BladeMP3EncDLL.c:
+
+	more thread-safe work, and id3/vbr tag bug discovered by
+	Iwasa Kasmi
+
+2000-04-17 23:29  markt
+
+	* lame.c, psymodel.c, quantize-pvt.c, quantize.c, util.h,
+	  vbrquantize.c:
+
+	tweaks to vbrquantize.c
+
+2000-04-17 06:12  markt
+
+	* lame.c, testcase.mp3, vbrquantize.c:
+
+	updated test cases
+
+2000-04-17 05:16  markt
+
+	* bitstream.c, l3bitstream.c, l3side.h, lame.c, quantize-pvt.c,
+	  reservoir.c, mpglib/main.c:
+
+	fixed VBR stuffing bits problem.
+	if VBR uses a large frame, then ResvMax may become small, and
+	we have to make sure that main_data_begin doesn't create a buffer
+	which violates this condition.
+
+	The old code wouldn't check the above, but it would pad the current
+	frame with 0's (wasting bits) to make sure the *next* frame didn't
+	violate the ResvMax condition.  But this results in wasted bits
+	because in VBR there is a change the *next* frame will be at
+	a lower bitrate and thus have a larger ResvMax.
+
+2000-04-17 02:25  markt
+
+	* API, Makefile, get_audio.c, gtkanal.c, lame.c, lame.h, main.c,
+	  mp3x.c, parse.c, psymodel.c, quantize-pvt.c, quantize.c,
+	  reservoir.c, util.h, vbrquantize.c, mpglib/layer3.c,
+	  mpglib/main.c, mpglib/mpglib.h:
+
+	Removed gtk specific code from libmp3lame.a:  libmp3lame.a can now
+	be compiled to support the mp3 frame analyzer but does not require
+	gtk to be installed.  (and thus, HAVEGTK does not occure in any
+	of the library routines).  To compile the frame analyzer (mp3x) you
+	of course still need gtk installed.
+
+2000-04-17 00:38  markt
+
+	* VbrTag.c, mpglib/main.c:
+
+	another attempt at fixing mpeg2.5 xing header
+
+2000-04-16 20:56  markt
+
+	* VbrTag.c:
+
+	VBR header for MPEG2.5 fixed.
+
+2000-04-14 00:37  markt
+
+	* lame.c, main.c, parse.c, quantize-pvt.c, reservoir.c,
+	  reservoir.h, vbrquantize.c:
+
+	tweaks to vbrquantize.c
+
+2000-04-13 01:57  markt
+
+	* version.h (lame3_70):
+
+	  fixed version
+
+2000-04-13 01:19  markt
+
+	* lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, util.h,
+	  vbrquantize.c:
+
+	vrbquantize bounds checking
+
+2000-04-12 18:44  markt
+
+	* lame.c, psymodel.c, quantize.c, testcase.mp3, util.h,
+	  vbrquantize.c:
+
+	removed gfc->masking_lower
+
+2000-04-12 18:29  markt
+
+	* Makefile, quantize-pvt.c, quantize.c:
+
+	Robert's VBR quality control mode now the default!
+
+2000-04-12 18:19  markt
+
+	* lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c, util.h,
+	  vbrquantize.c:
+
+	removed static masking_lower
+
+2000-04-12 18:10  markt
+
+	* quantize-pvt.c, quantize.c:
+
+	removed reduce_sidechannel static
+
+2000-04-12 18:08  markt
+
+	* quantize-pvt.c, quantize.c, vbrquantize.c:
+
+	removed convert_mdct static variable
+
+2000-04-12 18:06  markt
+
+	* quantize-pvt.c, util.h:
+
+	removed static variables ATH_l, ATH_s
+
+2000-04-12 15:47  markt
+
+	* lame.c, psymodel.c, quantize.c, vbrquantize.c, doc/man/lame.1:
+
+	removed qthr_l, qthr_s from psymodel.c
+	fixed man pages.
+	enabled new VBR code with -Y
+	disabled -Z option: it was broken since subblock gains were not
+	scaled into xrpow
+
+2000-04-12 01:37  markt
+
+	* mpglib/layer3.c:
+
+	gtk changes
+
+2000-04-12 01:36  markt
+
+	* gtkanal.c, lame.c, psymodel.c, quantize-pvt.c, quantize-pvt.h,
+	  quantize.h, testcase.mp3, vbrquantize.c:
+
+	new vbr quantize code mostly done!
+
+2000-04-11 18:24  markt
+
+	* Makefile, get_audio.c, get_audio.h, gtkanal.c, gtkanal.h, lame.c,
+	  lame.h, quantize.c, util.h, vbrquantize.c:
+
+	removed all static variables from get_audio.c
+
+2000-04-11 15:59  markt
+
+	* HACKING:
+
+	updated HACKING
+
+2000-04-11 15:55  markt
+
+	* API, l3side.h, lame.c, quantize-pvt.c, quantize-pvt.h, util.h,
+	  vbrquantize.c:
+
+	updated API
+
+2000-04-11 00:33  markt
+
+	* lame.c, vbrquantize.c:
+
+	work on vbrquattize.c
+
+2000-04-10 20:24  markt
+
+	* lame.c, main.c, quantize-pvt.c, quantize.c, util.c, util.h:
+
+	bug fixed: mfbuf overflow, and check for overflow was
+	being done, but after the overflow and in this case
+	the overflow was causing the check to pass.
+
+2000-04-10 16:41  markt
+
+	* lame.c, quantize.h, util.c, util.h, vbrquantize.c:
+
+	precompute 16 windows for downsampling. much faster.
+
+2000-04-09 21:53  markt
+
+	* bitstream.c, quantize-pvt.c, quantize.c, reservoir.c, util.c,
+	  mpglib/layer3.c, mpglib/main.c:
+
+	MPEG2.5 8khz sampling rate fixes
+
+2000-04-09 02:08  markt
+
+	* encoder.h, lame.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  reservoir.c, testcase.mp3:
+
+	tweaked bit reservoir growth, bits on pe allocation
+
+2000-04-08 23:33  markt
+
+	* lame.c, quantize-pvt.c, takehiro.c, testcase.mp3:
+
+	tweaks to on_pe, side channel bit allocation
+
+2000-04-08 20:33  markt
+
+	* encoder.h, testcase.mp3:
+
+	switched to encoder delay of 576
+
+2000-04-08 20:31  markt
+
+	* bitstream.c, tables.c:
+
+	[no log message]
+
+2000-04-08 20:22  markt
+
+	* bitstream.c, quantize.c, takehiro.c, testcase.mp3, util.c,
+	  util.h:
+
+	Takehiro's more efficient short block huffman coding.
+
+2000-04-08 18:08  markt
+
+	* lame.c:
+
+	  VBR compression ratio calculation
+
+2000-04-08 01:26  cisc
+
+	* bitstream.c:
+
+	Use INLINE dammit! ;)
+
+2000-04-07 00:11  markt
+
+	* util.c:
+
+	fixed M_PI problem
+
+2000-04-06 21:08  robert
+
+	* bitstream.c:
+
+	scalefac_band compile fix
+
+2000-04-06 19:26  markt
+
+	* doc/html/history.html (lame3_70):
+
+	[no log message]
+
+2000-04-06 19:17  markt
+
+	* Makefile, version.h (lame3_70):
+
+	[no log message]
+
+2000-04-06 18:49  markt
+
+	* Makefile (lame3_70):
+
+	[no log message]
+
+2000-04-06 18:48  markt
+
+	* version.h, doc/html/history.html (lame3_70):
+
+	version 3.70
+
+2000-04-06 18:30  markt
+
+	* gtkanal.c, l3bitstream-pvt.h, l3bitstream.c, l3side.h, lame.c,
+	  quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c,
+	  testcase.mp3, util.h, vbrquantize.c:
+
+	made scalefac_band non-local
+
+2000-04-06 18:23  markt
+
+	* bitstream.c:
+
+	[no log message]
+
+2000-04-06 18:19  markt
+
+	* bitstream.h:
+
+	[no log message]
+
+2000-04-06 18:18  markt
+
+	* bitstream.c:
+
+	  opps, forgot to add this...
+
+2000-04-06 17:31  markt
+
+	* Makefile.MSVC, lame.dsp, Dll/MP3EncDll.dsp:
+
+	MSVC project files updated
+
+2000-04-06 17:29  markt
+
+	* VbrTag.c, VbrTag.h, lame.c, util.c, util.h:
+
+	takehiro bitstream.c now on by default!
+
+2000-04-06 16:32  markt
+
+	* takehiro.c, mpglib/layer3.c:
+
+	takehiro bitstream.c now working for CBR, disabled by default
+
+2000-04-05 08:54  markt
+
+	* Makefile, l3bitstream.c, lame.c, quantize-pvt.c, quantize-pvt.h,
+	  tables.c, tables.h, takehiro.c, util.c, util.h:
+
+	takehiro's bitstream.c package close to being interface
+	into lame.
+
+2000-04-05 01:38  markt
+
+	* lame.c, util.c:
+
+	mode_fixed bug
+
+2000-04-05 01:38  markt
+
+	* lame.c (lame3_70):
+
+	mode_fixed bug fixed
+
+2000-04-04 22:49  markt
+
+	* version.h, doc/html/history.html (lame3_70):
+
+	updated version
+
+2000-04-04 21:36  robert
+
+	* parse.c:
+
+	[no log message]
+
+2000-04-04 20:37  cisc
+
+	* amiga_mpega.c (lame3_70):
+
+	Fixed nsamp overflow problem.
+
+2000-04-04 19:51  markt
+
+	* lame.c, util.c, util.h:
+
+	upsampling uses old interpolation code
+	downsampling uses good, FIR/blackman window code
+
+2000-04-04 19:27  markt
+
+	* version.h (lame3_70):
+
+	  updated version
+
+2000-04-04 19:05  markt
+
+	* Makefile.MSVC:
+
+	loopold removed from makefile.msvc
+
+2000-04-04 17:45  markt
+
+	* parse.c (lame3_70), parse.c:
+
+	cwlimit parsing fixed
+
+2000-04-04 16:05  markt
+
+	* lame.c (lame3_70), lame.c:
+
+	default mode will use jstereo
+
+2000-04-04 03:20  markt
+
+	* Dll/BladeMP3EncDLL.c (lame3_70):
+
+	[no log message]
+
+2000-04-04 03:20  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	more fixes
+
+2000-04-03 19:50  markt
+
+	* quantize-pvt.c:
+
+	more gfc changes
+
+2000-04-03 19:19  markt
+
+	* HACKING, lame.c, newmdct.c, quantize-pvt.c, quantize.c, util.c,
+	  util.h:
+
+	more thread-safe work.  (moving all static variables into
+	gfc-> struct)
+
+2000-04-03 18:24  markt
+
+	* brhist.c, get_audio.c, gtkanal.c, l3bitstream.c, l3bitstream.h,
+	  lame.c, lame.h, newmdct.c, parse.c, psymodel.c, quantize-pvt.c,
+	  quantize.c, quantize.h, reservoir.c, takehiro.c, util.c, util.h,
+	  vbrquantize.c:
+
+	more massive internal changes in the goal of making
+	lame thread safe.
+
+	gfp-> user controlled varialbes
+	gfc-> all other internal parameters.  eventually all global variables
+	      which very from encode to encode need to go in here.
+
+2000-04-03 16:00  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	dll finally fixed!
+
+2000-04-03 15:59  markt
+
+	* Dll/BladeMP3EncDLL.c (lame3_70):
+
+	dll fixes
+
+2000-04-03 15:39  markt
+
+	* lame.c, Dll/BladeMP3EncDLL.c (lame3_70):
+
+	bug in lame_enc dll fixed?
+
+2000-04-03 15:38  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	bug in lame_enc.dll finally fixed?
+
+2000-04-03 01:19  markt
+
+	* lame.c:
+
+	tweaked output display
+
+2000-04-03 01:07  markt
+
+	* lame.c, Dll/BladeMP3EncDLL.c:
+
+	new resample routine.  very slow, but much higher
+	quality.
+
+2000-04-02 19:38  robert
+
+	* parse.c:
+
+	overhauled presets:
+	+ redesign of help page
+	+ phone uses now MPEG2.5 8kHz
+	+ sw new, for short wave radio @ 11.025 kHz 24kbits
+	+ am new, for am radio @ 16 kHz 32 kbits
+	+ fm changed, 22.05 kHz 64 kbits
+	+ radio new, the old fm at 112 kbits
+	rest minor tunings
+
+2000-04-02 02:57  markt
+
+	* Dll/BladeMP3EncDLL.c (lame3_70):
+
+	[no log message]
+
+2000-04-02 02:44  markt
+
+	* Dll/: BladeMP3EncDLL.c (lame3_70), BladeMP3EncDLL.c:
+
+	[no log message]
+
+2000-04-02 01:56  markt
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.h (lame3_70):
+
+	Dll updates
+
+2000-04-02 01:55  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	more DLL updates
+
+2000-04-02 01:39  markt
+
+	* parse.c, util.c:
+
+	MPEG2.5 docs
+
+2000-04-02 01:35  markt
+
+	* l3bitstream.c, lame.c, lame.h, psymodel.c, quantize-pvt.c,
+	  quantize-pvt.h, util.c, util.h, Dll/BladeMP3EncDLL.c,
+	  Dll/BladeMP3EncDLL.h:
+
+	MPEG2.5 support
+
+2000-04-01 11:47  robert
+
+	* lame.c, parse.c:
+
+	+ added --version and --license switch
+	+ changed --help to give only most important options
+	  so that it fits on a 80x24 terminal display
+	+ added --longhelp switch to get the full options list
+	+ changed -v and -Vx, now they switch quality to 2
+	  you can go down below 2 by adding -f or -q5
+	+ changed presets:
+	  turned off highpass filters except for "phone"
+	  voice sample freq now 22.05 kHz, due to mpg123 bug
+
+2000-04-01 01:09  markt
+
+	* Dll/BladeMP3EncDLL.c (lame3_70):
+
+	more dll bug fixes (mono)
+
+2000-04-01 00:04  markt
+
+	* version.h (lame3_70):
+
+	updated version to 3.68 alpha 1
+
+2000-03-31 23:56  markt
+
+	* Dll/BladeMP3EncDLL.c (lame3_70):
+
+	fixed mono bug
+
+2000-03-31 23:53  markt
+
+	* lame.c, vbrquantize.c, Dll/BladeMP3EncDLL.c:
+
+	mono encoding bug in DLL fixed
+
+2000-03-31 22:47  robert
+
+	* Makefile, quantize-pvt.c, quantize-pvt.h:
+
+	removed RH_ATH/RH_SIDE_CBR code
+
+2000-03-31 22:45  robert
+
+	* quantize.c:
+
+	minor frame analyzer fix for VBR, removed RH_ATH/RH_SIDE_CBR code
+
+2000-03-30 23:39  markt
+
+	* lame.c, parse.c (lame3_70):
+
+	undocumented -q option for internal testing
+
+2000-03-30 23:38  markt
+
+	* get_audio.c, gtkanal.c, lame.c, main.c, parse.c, quantize.c:
+
+	added -q option for internal testing. sets value of gfp->quality
+
+2000-03-30 19:51  markt
+
+	* testcase.mp3:
+
+	updated test case for new CVS version
+
+2000-03-30 09:37  markt
+
+	* INSTALL:
+
+	wingtk doc
+
+2000-03-30 09:36  markt
+
+	* INSTALL:
+
+	[no log message]
+
+2000-03-30 08:24  markt
+
+	* INSTALL, README:
+
+	updated docs
+
+2000-03-30 08:04  markt
+
+	* README.WINGTK, lame.dsp, Dll/MP3EncDll.dsp:
+
+	new directions for compiling mp3x under windows
+
+2000-03-30 07:54  markt
+
+	* lame.dsp (MSVC6), README.WINGTK:
+
+	updated project files
+
+2000-03-30 07:00  markt
+
+	* lame.dsp (MSVC6), Dll/MP3EncDll.dsp:
+
+	updated project files
+
+2000-03-30 05:39  markt
+
+	* VbrTag.c, gtkanal.c, gtkanal.h, l3bitstream.c, lame.c, machine.h,
+	  psymodel.c, quantize.c, takehiro.c, mpglib/layer3.c:
+
+	added big_values display to mp3x
+
+2000-03-30 05:38  markt
+
+	* VbrTag.c, l3bitstream.c, lame.c, machine.h, quantize.c,
+	  takehiro.c, vbrquantize.c:
+
+	fixed 2 bugs:
+
+	l3bitstream.c:
+	1. The quadruples were encoded with the wrong sign:  Any non-zero
+	   coefficient in the count1 block was marked as negative!
+
+	takehiro.c:
+	2.  short blocks were using a cod_info->big_values=288
+	    (which should be 576, because big_values was multiplied by 2
+	     in the new version of takehiro.c)
+
+2000-03-29 20:49  markt
+
+	* doc/html/: contributors.html, examples.html, history.html,
+	  id3.html, index.html, lame.css, node6.html, switchs.html:
+
+	new docs from Gabriel
+
+2000-03-29 02:00  markt
+
+	* l3bitstream.c, psymodel.c, quantize-pvt.c, quantize.c,
+	  reservoir.c, takehiro.c, util.c, vbrquantize.c, brhist.c, fft.c,
+	  get_audio.c, globalflags.h, gtkanal.c, gtkanal.h, lame.c,
+	  newmdct.c, parse.c:
+
+	removed globalflags.h
+
+2000-03-29 01:55  markt
+
+	* globalflags.h (lame3_70), brhist.c, fft.c, get_audio.c,
+	  gtkanal.c, gtkanal.h, lame.c, newmdct.c, parse.c, vbrquantize.c:
+
+	removed "globalflags.h"
+
+2000-03-29 01:06  markt
+
+	* lame.c:
+
+	missing free() calls in lame_encode_buffer_interleave
+
+2000-03-28 16:41  takehiro
+
+	* takehiro.c:
+
+	oops, this may remove any seg.fault bug...
+
+2000-03-28 15:39  takehiro
+
+	* takehiro.c:
+
+	Oops, I mistake count1 for big_values
+
+2000-03-28 13:08  cisc
+
+	* amiga_mpega.c:
+
+	Fixed overflow problem with nsamp calculation.
+
+2000-03-27 22:09  markt
+
+	* lame.c:
+
+	fixes to lame_encode_buffer_interleave
+
+2000-03-27 22:09  markt
+
+	* lame.c:
+
+	fixes to lame_encode_buffer_interleave()
+
+2000-03-27 21:46  robert
+
+	* takehiro.c:
+
+	added assertion, cos here is a bug
+
+2000-03-27 21:34  markt
+
+	* doc/html/history.html:
+
+	updated history.html
+
+2000-03-27 21:33  markt
+
+	* version.h:
+
+	[no log message]
+
+2000-03-27 21:09  markt
+
+	* lame.c:
+
+	minor change with ms_ener_ratio_ave
+
+2000-03-27 21:06  markt
+
+	* lame.c:
+
+	ms_ener_ratio_ave M/S override switch turned off
+
+2000-03-27 20:58  markt
+
+	* version.h:
+
+	changed version number.  3.80 is the next beta version,
+	3.70 is the stable version
+
+2000-03-27 19:42  markt
+
+	* version.h (lame3_80):
+
+	updated version in the lame3_80 branch
+
+2000-03-27 19:42  markt
+
+	* version.h:
+
+	this is new the future version 3.81beta
+
+2000-03-27 19:39  markt
+
+	* l3bitstream.c, quantize.c, tables.c, takehiro.c (lame3_80):
+
+	The next "official" stable release, lame3.80.
+	lame3_80 is a branch.
+
+	This will not include Takehiro's latest lossless encoding stuff.
+	(l3bitstream.c, quantize.c, tables.c, takehiro.c)
+
+2000-03-27 19:26  markt
+
+	* takehiro.c:
+
+	gfp->use_scfsi replaced by mode_gr==2
+
+2000-03-27 17:53  markt
+
+	* get_audio.c, lame.c, main.c, util.c, version.h:
+
+	Ingo -f fast-math rounding problem fix
+
+2000-03-27 15:59  takehiro
+
+	* takehiro.c:
+
+	debugged seg.fault when count1 is 576
+
+2000-03-26 21:21  markt
+
+	* quantize.c:
+
+	opps, i screwed up quantize.c!  fixed version
+
+2000-03-26 10:05  markt
+
+	* Makefile, gtkanal.c, gtkanal.h, lame.c, quantize.c,
+	  mpglib/layer3.c:
+
+	disabled noise_shaping_stop=1, fixed jstereo default mode problem,
+	updated frame analyzer
+
+2000-03-25 18:16  cisc
+
+	* takehiro.c:
+
+	Use INLINE define instead of inline.
+
+2000-03-25 16:18  takehiro
+
+	* lame.c:
+
+	enable noise_shaping==1 when high quality mode even without -X
+
+2000-03-25 16:17  takehiro
+
+	* takehiro.c:
+
+	debug seg.fault when big_values==0
+
+2000-03-25 15:01  takehiro
+
+	* l3bitstream.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  tables.c, takehiro.c:
+
+	best huffman divide now "more best" huffman coding.
+
+2000-03-25 03:35  takehiro
+
+	* Makefile, l3bitstream.c, l3side.h, lame.c, psymodel.c,
+	  quantize-pvt.c, tables.c, takehiro.c:
+
+	new faster lossless coding routine(especially with -h)
+
+2000-03-25 00:06  markt
+
+	* get_audio.c, main.c, quantize-pvt.h, quantize.c, takehiro.c,
+	  testcase.mp3:
+
+	added some code to best_scalefac_store:
+	if ix=0 in a scalefactor band, set the scalefactor to 0 also,
+	to save a few bits.
+
+2000-03-24 23:06  markt
+
+	* lame.dsp (MSVC6), Dll/MP3EncDll.dsp:
+
+	updated project files
+
+2000-03-24 23:02  markt
+
+	* get_audio.c, machine.h:
+
+	_setmode stuff for windows
+
+2000-03-24 22:37  markt
+
+	* lame.h, quantize-pvt.c, mpglib/layer3.c:
+
+	fixed MPEG2 tables in mpglib,
+	added more accurate mp3buffer size bound in lame.h
+
+2000-03-24 18:21  markt
+
+	* quantize-pvt.c, quantize-pvt.h, quantize.c:
+
+	[no log message]
+
+2000-03-24 18:08  markt
+
+	* lame.dsp, loopold.c, Dll/MP3EncDll.dsp:
+
+	removed loopold.c
+
+2000-03-24 18:07  markt
+
+	* Makefile, gtkanal.c, lame.c, lame.h, psymodel.c, psymodel.h,
+	  quantize-pvt.c, quantize.c:
+
+	Removed old M/S stereo mode which uses L/R masking functions.
+	removed loopold.c and all that other "dual channel" stuff
+
+2000-03-24 02:00  markt
+
+	* VbrTag.c, lame.c:
+
+	MPEG2 VBR tag should now work
+
+2000-03-24 01:38  markt
+
+	* VbrTag.c, VbrTag.h, lame.c, Dll/BladeMP3EncDLL.c:
+
+	Xing MPEG2 headers work
+
+2000-03-23 22:13  markt
+
+	* Makefile:
+
+	uncommented options in makefile
+
+2000-03-23 22:12  markt
+
+	* API, Makefile, lame.c, lame.h, util.c, mpglib/common.c:
+
+	strange bug with -f fast-math option under gcc:  it would compute
+	the mp3 framesize wrong, due to incorrect integer truncation.
+	Replaced implicit integer truncation with floor() to fix this.
+
+2000-03-23 20:30  markt
+
+	* Makefile, get_audio.c, lame.c, lame.h:
+
+	autoconvert moved into lame_encode_buffer
+
+2000-03-23 20:02  markt
+
+	* Makefile, lame.c, lame.h:
+
+	lame_encode_buffer_interleaved added to API
+
+2000-03-22 17:14  markt
+
+	* vbrquantize.c:
+
+	minor fixes
+
+2000-03-22 04:15  markt
+
+	* version.h, doc/html/history.html:
+
+	lame 3.66
+
+2000-03-22 02:03  markt
+
+	* USAGE, gtkanal.c, lame.c, machine.h, main.c, parse.c,
+	  quantize-pvt.c:
+
+	float/double version of ASM quantize routines
+
+2000-03-21 23:02  markt
+
+	* brhist.c, brhist.h, gtkanal.c, gtkanal.h, l3bitstream-pvt.h,
+	  l3bitstream.c, l3bitstream.h, lame.c, loopold.c, newmdct.c,
+	  newmdct.h, psymodel.c, psymodel.h, quantize-pvt.c,
+	  quantize-pvt.h, quantize.c, quantize.h, reservoir.c, reservoir.h,
+	  takehiro.c, util.c, util.h, vbrquantize.c, mpglib/layer3.c:
+
+	replaced all "gf." by gfp->
+
+2000-03-21 20:58  markt
+
+	* lame.c:
+
+	fixed bug in lame_encode_finish:  if user informs
+	lame that mp3buffer has size 0, lame will not check to make
+	sure the mp3buffer is big enough to store the encoded data
+
+2000-03-19 22:29  afaber
+
+	* lame.c, Dll/BladeMP3EncDLL.c:
+
+	Fixes to the lame DLL encoder:
+	If last frame is too short, set number of output bits to 0 instead of -1
+	Don't disable the bWriteVBRTag flag if input file is null
+
+2000-03-19 20:07  cisc
+
+	* get_audio.c:
+
+	Byteswapping (-x) didn't work when using LIBSNDFILE
+
+2000-03-18 00:33  cisc
+
+	* parse.c:
+
+	Fixed typo in define.
+
+2000-03-18 00:32  cisc
+
+	* amiga_mpega.c:
+
+	Erk, didn't spot the array/pointer relation, restored to previous version.
+
+2000-03-17 22:09  cisc
+
+	* amiga_mpega.c:
+
+	b[] is a pointer, so supply addresses of pcm_l&r.
+
+2000-03-17 19:29  markt
+
+	* lame.c:
+
+	VBR was displaying MPEG2 bitrates  - fixed.
+
+2000-03-17 04:31  markt
+
+	* machine.h:
+
+	added note to machine.h
+
+2000-03-17 04:30  markt
+
+	* version.h, doc/html/history.html:
+
+	uncommented gcc ASM code
+
+2000-03-17 04:27  markt
+
+	* quantize-pvt.c:
+
+	uncommended the GCC ASM code for quantize_xrpow()
+
+2000-03-17 00:07  markt
+
+	* doc/html/history.html:
+
+	updated history
+
+2000-03-17 00:05  markt
+
+	* amiga_mpega.c, get_audio.c, lame.h, version.h, mpglib/main.c,
+	  mpglib/mpglib.dsp:
+
+	some tweaks to API for lame_decode_fromfile
+
+2000-03-16 23:59  markt
+
+	* lame.dsp, mpglib/mpglib.dsp (MSVC6), Dll/BladeMP3EncDLL.c:
+
+	project file tweaks
+
+2000-03-16 23:36  markt
+
+	* get_audio.c, lame.dsp, lame.h, parse.c:
+
+	updated project files MSVC5
+
+2000-03-16 23:19  markt
+
+	* lame.dsp, mpglib/mpglib.dsp (MSVC6), main.c:
+
+	updated MSVC6 branch project files
+
+2000-03-16 19:42  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	update to bladedll
+
+2000-03-16 19:38  markt
+
+	* gtkanal.c, lame.h, mpglib/main.c:
+
+	one last change to lame_decode()...
+
+2000-03-16 19:05  markt
+
+	* get_audio.c, get_audio.h, gtkanal.c, gtkanal.h, lame.c, lame.h,
+	  main.c, mp3rtp.c, mp3x.c, parse.c, util.c, util.h:
+
+	more and these really should be the last changes to the API
+	'gf' is no substantiated by the calling program, and passed
+	to all lame_routines().  This is so lame can eventually be
+	made re-entrant by putting all static vars in the gf struct.
+
+2000-03-16 16:44  markt
+
+	* VbrTag.c, loopold.c, machine.h, takehiro.c, timestatus.c, util.h:
+
+	strict ansi patches from Heiko.Eissfeld
+
+2000-03-16 05:33  markt
+
+	* USAGE, main.c:
+
+	updated USAGE
+
+2000-03-16 05:28  markt
+
+	* mpglib/mpglib.dsp:
+
+	revert back to MSVC5
+
+2000-03-16 05:26  markt
+
+	* lame.dsp, lame.dsw (MSVC6), main.c, mpglib/mpglib.dsp:
+
+	MSVC changes to compile lame.exe
+
+2000-03-16 00:24  markt
+
+	* timestatus.c:
+
+	fixed CPU/playing time display bug
+
+2000-03-15 20:37  markt
+
+	* encoder.h, l3bitstream.c, lame.h, parse.c, psymodel.c,
+	  takehiro.c:
+
+	minor changes
+
+2000-03-15 01:34  markt
+
+	* filters.c, filters.h:
+
+	removed filters.c, filters.h
+
+2000-03-15 01:30  markt
+
+	* Dll/MP3EncDll.dsp:
+
+	updated MSVC6 project files
+	(in MSVC6 branch)
+
+2000-03-15 01:20  markt
+
+	* Dll/: MP3EncDll.dsp, MP3EncDll.dsw:
+
+	reverting back to MSVC5
+
+2000-03-15 01:14  markt
+
+	* parse.c, Dll/BladeMP3EncDLL.c, Dll/MP3EncDll.dsp,
+	  Dll/MP3EncDll.dsw:
+
+	updated bladeenc dll
+
+2000-03-14 21:01  markt
+
+	* lame.c, loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  quantize.h, reservoir.c, reservoir.h, util.c, util.h,
+	  vbrquantize.c:
+
+	removed fr_ps struct
+
+2000-03-14 20:45  markt
+
+	* brhist.c, brhist.h, l3bitstream.c, l3bitstream.h, lame.c, lame.h,
+	  psymodel.c, psymodel.h, quantize-pvt.c, quantize-pvt.h,
+	  quantize.c, reservoir.c, timestatus.h, util.c, util.h,
+	  vbrquantize.c:
+
+	removed "info" sturct.   Removing fr_ps struct
+
+2000-03-14 07:21  markt
+
+	* brhist.c, l3bitstream.c, lame.c, lame.h, loopold.c, psymodel.c,
+	  quantize-pvt.c, quantize.c, reservoir.c, timestatus.c,
+	  timestatus.h, util.c, util.h:
+
+	removed more info-> variables
+
+2000-03-14 06:36  markt
+
+	* lame.c, lame.h:
+
+	removing some of the info-> variables
+
+2000-03-10 23:21  cisc
+
+	* amiga_mpega.c:
+
+	Had to make a dummy break-function to make atexit() work.
+
+2000-03-10 23:18  markt
+
+	* loopold.c:
+
+	segfault fixed in loopold.c when count[] was zero for one channel
+	and non-zero for the other
+
+2000-03-10 20:56  markt
+
+	* API, Makefile, gtkanal.c, lame.c, lame.h, version.c:
+
+	added lame_version to the API
+
+2000-03-10 20:13  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	removed some unnecessary #includes
+
+2000-03-10 19:48  markt
+
+	* Dll/MP3EncDll.dsp:
+
+	added #define LAMEPARSE to Blade project files
+
+2000-03-10 19:38  markt
+
+	* Dll/: BladeMP3EncDLL.c, MP3EncDll.dsp:
+
+	Blade dll updated to handle new interface
+	Albert:  Sorry if I broke anything, the old version is still in CVS :-)
+
+2000-03-10 18:55  markt
+
+	* Dll/BladeMP3EncDLL.c (test):
+
+	testing...
+
+2000-03-10 16:01  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	BladeMP3 changes
+
+2000-03-10 01:41  markt
+
+	* Dll/BladeMP3EncDLL.c:
+
+	some changes to update BaldeMP3encdll
+
+2000-03-09 19:42  markt
+
+	* quantize-pvt.c, takehiro.c:
+
+	quantize_xrpow_ISO also uses tablelookup, so it also needed the
+	"xr too big" check
+
+2000-03-09 18:05  markt
+
+	* HACKING, get_audio.c, gtkanal.c, lame.c, lame.h, main.c, parse.c:
+
+	[no log message]
+
+2000-03-08 00:16  markt
+
+	* Makefile, parse.c:
+
+	Robert's presets restored.  polyphase filters now except filterwidth
+	arguments.
+
+2000-03-08 00:05  markt
+
+	* lame.c, lame.h, newmdct.c:
+
+	polyphase filter now supports lowpasswidth and highpasswidth option
+
+2000-03-07 23:10  cisc
+
+	* API:
+
+	Added AMIGA_MPEGA #define, and fixed a few minor spelling errors... ;)
+
+2000-03-07 22:56  cisc
+
+	* amiga_mpega.c:
+
+	Made sure lame_decode_fromfile() won't return an empty frame (unless there's an error).
+
+2000-03-07 18:33  markt
+
+	* API, Makefile, get_audio.c, lame.c, main.c, parse.c:
+
+	minor tweeks to compile w/o decoding library
+
+2000-03-07 08:01  sbellon
+
+	* lame.c:
+
+	fixed RISC OS FPE support
+
+2000-03-06 23:28  markt
+
+	* API:
+
+	API description
+
+2000-03-06 19:55  markt
+
+	* lame.dsp:
+
+	[no log message]
+
+2000-03-06 19:53  markt
+
+	* Makefile, Makefile.MSVC, get_audio.c, get_audio.h, id3tag.h,
+	  lame.c, lame.dsp, lame.h, parse.c, Dll/MP3EncDll.dsp,
+	  mpglib/common.c, mpglib/dct64_i386.c, mpglib/decode_i386.c,
+	  mpglib/interface.c, mpglib/layer3.c, mpglib/main.c,
+	  mpglib/tabinit.c:
+
+	More library work.
+	Sorry to all the non-unix developers out there, but this will
+	break all project files.  (but we are very close to the end of
+	the modularization work).
+
+	New code needs the following #defines set somewhere:
+
+	#define HAVEMPGLIB   to use mpglib's mp3 *decoding* capibility
+	(or AMEGA_MPEGA on amiga systems, and dont define HAVEMPGLIB)
+	#define BRHIST       to allow the display of the VBR historgram
+	#define LIBSNDFILE   to use Erik de Castro Lopo's libsndfile
+	#define LIBSNDLAME   to use LAME's minimial internal sndfile I/O
+	#define LAMEPARSE    to use LAME's command line parsing/option setting routines
+	#define HAVEGTK      to compile in support for the GTK mp3 frame analyzer
+
+2000-03-06 15:16  markt
+
+	* filters.c, lame.c, lame.h, newmdct.c, parse.c, testcase.mp3:
+
+	polyphase filters are now working!
+	some tuning of polyphase fiters.
+	removed MDCT filters, sfb21 cutoff.
+
+2000-03-06 03:59  markt
+
+	* gtkanal.c, lame.c, newmdct.c, psymodel.c:
+
+	new polyphase filters
+
+2000-03-05 19:07  markt
+
+	* psymodel.c:
+
+	Gabriel: L/R block matching fix
+
+2000-03-05 18:37  markt
+
+	* id3tag.c, id3tag.h, lame.c, lame.h, newmdct.c, parse.c,
+	  doc/html/id3.html:
+
+	id3v1.1 tags from Don Melton
+
+2000-03-04 17:19  markt
+
+	* get_audio.c, lame.c:
+
+	resampling moved to fill_buffer_resample() in lame.c,
+	which has linear and 3rd order resampling
+
+2000-03-04 15:31  markt
+
+	* amiga_mpega.c, get_audio.c, lame.c, main.c, quantize-pvt.c,
+	  quantize.c, vbrquantize.c:
+
+	patch from kimmo to remove more c++ comments,
+	fill_buffer_linear_resample code
+
+2000-03-04 05:13  markt
+
+	* lame.c:
+
+	fill_buffer routines
+
+2000-03-03 19:25  markt
+
+	* encoder.h, mp3rtp.c:
+
+	mp3rtp uses new, simplified lame_encode_buffer interface
+
+2000-03-03 19:01  markt
+
+	* encoder.h, lame.c, lame.h, main.c, testcase.mp3:
+
+	added lame_encode_buffer, the new, prefered encoding interface
+
+2000-02-29 21:19  robert
+
+	* parse.c:
+
+	minor change, exit if wrong preset type was given
+
+2000-02-29 19:54  robert
+
+	* fft.c:
+
+	minor speed up (at least for gcc)
+
+2000-02-29 18:00  sbellon
+
+	* lame.c:
+
+	moved RISC OS floating point exception part into debugging area
+
+2000-02-27 19:11  robert
+
+	* quantize-pvt.c, quantize-pvt.h, quantize.c:
+
+	removed unused parameter
+
+2000-02-27 18:36  robert
+
+	* psymodel.c:
+
+	code clean up, giving an overall speed up of 3-4%
+
+2000-02-25 07:00  markt
+
+	* lame.c:
+
+	minor cleanup
+
+2000-02-24 15:30  robert
+
+	* loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c:
+
+	code cleanup, removed unused parameter
+
+2000-02-23 02:40  cisc
+
+	* amiga_mpega.c:
+
+	Fixed up the cleanup function.
+
+2000-02-22 23:21  robert
+
+	* quantize-pvt.c, testcase.mp3:
+
+	switched back to original bin_search_stepsize routine
+
+2000-02-22 03:14  markt
+
+	* quantize-pvt.c, testcase.mp3:
+
+	RH bin_search_stepsize now the default
+
+2000-02-22 00:54  cisc
+
+	* amiga_mpega.c:
+
+	Oh, nevermind, wasn't very efficient here, proper place would be in sndfile.lib
+
+2000-02-22 00:15  cisc
+
+	* lame.h, main.c:
+
+	Minor fixes.
+
+2000-02-21 23:58  cisc
+
+	* amiga_mpega.c:
+
+	Make sure input-file is closed when CTRL-C is received.
+
+2000-02-21 23:05  markt
+
+	* Makefile, get_audio.c, gtkanal.c, ieeefloat.c, l3bitstream.c,
+	  main.c, util.c, doc/html/history.html, mpglib/main.c:
+
+	some 64bit DEC Alpha patches
+
+2000-02-21 22:40  robert
+
+	* quantize-pvt.c:
+
+	speed up of bin_search_stepsize, the bin_search is about 20% faster, resulting in an average speed up of 2-3%, disabled by default as it breaks the testcase
+
+2000-02-21 22:39  sbellon
+
+	* main.c:
+
+
+	further RISC OS support added
+
+2000-02-21 00:21  markt
+
+	* lame.c:
+
+	minor
+
+2000-02-20 23:36  markt
+
+	* get_audio.c, lame.c, lame.h, main.c, mp3rtp.c, parse.c:
+
+	num_samples /eof fix, ABORTFP fix, stdout mode setting fix
+
+2000-02-20 20:31  markt
+
+	* mpglib/common.c:
+
+	better error message
+
+2000-02-20 20:03  robert
+
+	* get_audio.c:
+
+	removed warning about fill up with zeros again, it is common at the end of an input file
+
+2000-02-20 19:26  robert
+
+	* Makefile, quantize-pvt.c, quantize-pvt.h, quantize.c:
+
+	code cleanup
+
+2000-02-20 18:45  robert
+
+	* psymodel.c:
+
+	code cleanup
+
+2000-02-20 14:09  robert
+
+	* formatBitstream.c:
+
+	fixed assertion failure while flushing bitstream at end of encoding
+
+2000-02-20 14:08  robert
+
+	* get_audio.c:
+
+	applied patch from Jeremy Hall to fix stdin problem
+
+2000-02-19 13:32  afaber
+
+	* fft.c, formatBitstream.c, formatBitstream.h, get_audio.c,
+	  ieeefloat.c, l3bitstream.c, machine.h, quantize-pvt.c,
+	  quantize.c, takehiro.c, mpglib/mpg123.h:
+
+	Fixed many warning messages when compiling with MSVC
+
+2000-02-19 12:15  afaber
+
+	* VbrTag.c:
+
+	Applied patch from Mathew Hendry to avoid divide by zero
+
+2000-02-18 16:21  robert
+
+	* quantize-pvt.c:
+
+	Mathew Hendry: line 813 should read "#define USE_MSC_ASM" and not "#define USE_MSC_AMS"
+
+2000-02-18 16:20  robert
+
+	* Makefile.MSVC:
+
+	Mathew Hendry: "stray space character following the \"  patched
+
+2000-02-18 16:07  robert
+
+	* lame.c:
+
+	Mathew Hendry's CYGWIN gcc FPU control patch
+
+2000-02-18 06:16  markt
+
+	* Makefile, gtkanal.c, lame.c, testcase.mp3:
+
+	changed sizeof frame analyzer so it fits on a 800x600 screen.
+	make --nores also set info->padding = 0.  Avoids problem with
+	small changes in frac_SpF causing different padding patterns and
+	mp3 file differences.
+
+2000-02-17 20:12  robert
+
+	* loopold.c, quantize-pvt.h, quantize.c:
+
+	code clean-up, it seems the SIGFPE exceptions are gone
+
+2000-02-16 22:42  cisc
+
+	* machine.h:
+
+	Fixed INLINE define for SAS/C.
+
+2000-02-16 21:18  cisc
+
+	* main.c:
+
+	Include machine.h so that needed prototypes get added.
+
+2000-02-16 07:06  markt
+
+	* quantize-pvt.c, quantize-pvt.h, quantize.c:
+
+	new quantize xrpow for PowerPC
+
+2000-02-16 03:56  markt
+
+	* lame.c, quantize-pvt.c:
+
+	patches for risc_os
+
+2000-02-15 22:16  robert
+
+	* quantize.c:
+
+	forgot to save plotting data for best quantization in VBR_iteration_loop
+
+2000-02-15 17:12  robert
+
+	* quantize-pvt.h, quantize.c:
+
+	VBR_iteration_loop speedup, removed extra quantizations
+
+2000-02-15 14:51  markt
+
+	* Makefile:
+
+	[no log message]
+
+2000-02-15 14:40  markt
+
+	* lame.c:
+
+	some non-initilized memory patches
+
+2000-02-15 02:01  robert
+
+	* quantize-pvt.c:
+
+	bug in ms_convert fixed when source and target are the same
+
+2000-02-14 21:48  robert
+
+	* quantize-pvt.c:
+
+	Mathew Hendry's quantize-xrpow gcc asm patch
+
+2000-02-14 21:47  robert
+
+	* quantize.c:
+
+	missing line added
+
+2000-02-14 21:01  afaber
+
+	* lame.c:
+
+	Intialize float arrays to avoid floating point errors when ABORTFP is set
+	Added floating point trapping code for MSVC compiler
+
+2000-02-14 20:53  afaber
+
+	* psymodel.c:
+
+	Intialize tot_ener to avoid floating point errors
+
+2000-02-14 05:50  markt
+
+	* Makefile, loopold.c, parse.c, quantize-pvt.c, quantize-pvt.h,
+	  quantize.c:
+
+	merged takehiro2 branch back into main branch.
+	there is still a floating point exception which I cannot track down.
+
+2000-02-14 04:53  markt
+
+	* psymodel.c, takehiro.c, doc/html/contributors.html,
+	  doc/html/examples.html, doc/html/id3.html, doc/html/index.html,
+	  doc/html/switchs.html:
+
+	updated html from Gabriel
+
+2000-02-13 18:52  robert
+
+	* fft.c, fft.h, psymodel.c:
+
+	modified energy calculation, fast MS fft patch should work now
+
+2000-02-11 17:21  markt
+
+	* Makefile, quantize.c, reservoir.c:
+
+	fixed scalefac not-initialized problem.  This would happen when
+	xr = 0 and outer_loop() was skipped.
+
+2000-02-11 16:34  markt
+
+	* psymodel.c:
+
+	m/s fft patch was not working.
+
+2000-02-10 19:00  robert
+
+	* parse.c:
+
+	added help info for --preset option and shuffled help text to bring it more in line
+
+2000-02-10 16:33  robert
+
+	* fft.c, fft.h, psymodel.c:
+
+	applied Takehiro Tominaga's fast MS fft patch
+
+2000-02-10 14:22  markt
+
+	* doc/html/history.html:
+
+	updated history file from web page
+
+2000-02-10 06:43  markt
+
+	* version.h:
+
+	updated version
+
+2000-02-10 06:15  markt
+
+	* lame.c, parse.c, version.c, version.h:
+
+	added version info to help output
+
+2000-02-10 05:42  markt
+
+	* psymodel.c, testcase.mp3:
+
+	fixed bug in s3_s spreading function calculation.
+
+2000-02-10 05:35  markt
+
+	* loopold.c, quantize-pvt.h, quantize.c:
+
+	undo some of takehiro's speedup improvements until we can track
+	down floating point exceptions
+
+2000-02-10 05:23  markt
+
+	* Makefile, brhist.c, brhist.h, lame.c, loopold.c, psymodel.c,
+	  quantize-pvt.c, quantize-pvt.h, quantize.c:
+
+	some bug fixes:
+
+	psymodel partition band calculations done *before*
+	the spreading function need to use npart_l_orig.  After spreading function,
+	use npart_s_orig.
+
+	3 cases of scalefac->l[i][sfb] which should be scalefac->l[sbf][i]
+
+	VBR min & max bitrate index setting problem fixed
+
+2000-02-08 17:20  afaber
+
+	* lame.c:
+
+	Guarded disp_brhist with #ifdef BRHIST, in order to compile with MSVC
+
+2000-02-06 10:57  takehiro
+
+	* loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  psymodel.c:
+
+	new spread matrix calculation is now default(faster!)
+
+2000-02-06 05:59  markt
+
+	* gtkanal.c:
+
+	Iwasa's changes to gtkanal.c
+
+2000-02-05 12:32  robert
+
+	* lame.c, lame.h, parse.c, util.c, util.h:
+
+	applied Ingo Saitz command line usage patch
+
+2000-02-05 05:16  markt
+
+	* Makefile.MSVC, brhist.c, lame.c, loopold.c, machine.h, parse.c,
+	  quantize.c:
+
+	minor code cleanup
+
+2000-02-04 23:49  robert
+
+	* parse.c:
+
+	added "--preset type" option to offer users some usefull presettings
+	that should shorten the commandline for most cases
+
+2000-02-04 21:42  afaber
+
+	* lame.c, lame.dsp:
+
+	Fixed WIN32 compiler errors
+
+2000-02-04 21:26  robert
+
+	* parse.c:
+
+	added '--help' option to allow DOS users to scroll thru the usage page with "lame --help | more"
+
+2000-02-04 13:57  takehiro
+
+	* loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  takehiro.c:
+
+	speed up hack on the array index.
+
+2000-02-04 13:49  takehiro
+
+	* psymodel.c:
+
+	and more faster calculation
+
+2000-02-04 02:29  markt
+
+	* lame.h, quantize-pvt.c:
+
+	minor editing
+
+2000-02-03 15:43  takehiro
+
+	* psymodel.c:
+
+	some assertion bug(?) has removed
+
+2000-02-03 15:31  takehiro
+
+	* psymodel.c:
+
+	more faster calculation
+
+2000-02-02 22:30  afaber
+
+	* mpglib/main.c:
+
+	Added MPGLIB library
+
+2000-02-02 22:25  takehiro
+
+	* psymodel.c:
+
+	faster spread function calculation
+
+2000-02-02 17:12  markt
+
+	* get_audio.h, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  takehiro.c, vbrquantize.c:
+
+	minor code cleanup
+
+2000-02-02 10:31  markt
+
+	* Makefile:
+
+	testcase update
+
+2000-02-02 10:25  markt
+
+	* Makefile, filters.c, lame.c, quantize-pvt.c, quantize.c:
+
+	fixed some minor bugs in new scalefac data structure code
+
+2000-02-02 10:17  markt
+
+	* Makefile, fft.c, filters.c, filters.h, gtkanal.c,
+	  l3bitstream-pvt.h, l3bitstream.c, l3bitstream.h, l3side.h,
+	  lame.c, loopold.c, psymodel.c, psymodel.h, quantize-pvt.c,
+	  quantize-pvt.h, quantize.c, quantize.h, tables.c, tables.h,
+	  takehiro.c, vbrquantize.c (takehiro0):
+
+	The pre-takehiro1 scalefac datastructure code
+
+2000-02-02 09:19  markt
+
+	* Makefile, filters.c, lame.c, quantize-pvt.c, quantize.c
+	  (takehiro1):
+
+	some bugs fixed with new scalefac struct
+
+2000-02-01 14:09  takehiro
+
+	* l3side.h, lame.c, loopold.c, psymodel.c, psymodel.h,
+	  quantize-pvt.c, quantize-pvt.h, quantize.c, quantize.h,
+	  vbrquantize.c:
+
+	code clean up. changed definition of structure to optimize array index calculation
+
+2000-02-01 11:26  takehiro
+
+	* Makefile, fft.c, filters.c, filters.h, gtkanal.c,
+	  l3bitstream-pvt.h, l3bitstream.c, l3bitstream.h, l3side.h,
+	  lame.c, loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  quantize.h, tables.c, tables.h, takehiro.c, vbrquantize.c:
+
+	scalefactor's structure changed
+
+2000-01-31 22:21  robert
+
+	* quantize-pvt.c, quantize.c:
+
+	little VBR tweaks
+
+2000-01-31 18:56  markt
+
+	* get_audio.c, lame.c, lame.h, main.c, mp3rtp.c, mp3x.c, version.h:
+
+	updated comments, added lame_close_infile()
+
+2000-01-31 18:22  markt
+
+	* lame.c, lame.h, main.c, mp3rtp.c, mp3x.c:
+
+	more modularizaton, fixes to mp3rtp
+
+2000-01-31 05:49  markt
+
+	* mlame:
+
+	spelling error
+
+2000-01-30 23:00  cisc
+
+	* fft.c:
+
+	Use INLINE define instead of inline.
+
+2000-01-30 22:19  markt
+
+	* get_audio.c, lame.c, lame.h, parse.c:
+
+	renamed highq quality
+
+2000-01-30 22:01  markt
+
+	* mp3rtp.c:
+
+	added Felix's email to mp3rtp.c code :-)
+
+2000-01-30 20:44  markt
+
+	* lame.h:
+
+	minor editing
+
+2000-01-30 20:27  markt
+
+	* lame.c, lame.h, loopold.c, parse.c, psymodel.c, quantize-pvt.c,
+	  quantize.c, takehiro.c:
+
+	cleaned up highq option.
+	highq=0  (best quality)... 9(worst quality)
+	values supported so far:
+	highq=9   (turned on with -f)
+	highq=5   (default)
+	highq=2   (turned on with -h)
+
+2000-01-30 19:34  markt
+
+	* lame.c, lame.h, machine.h, parse.c, quantize-pvt.c, takehiro.c:
+
+	fixed bug in overflow check in count_bits
+
+2000-01-30 16:19  robert
+
+	* Makefile, quantize-pvt.c, quantize-pvt.h, quantize.c:
+
+	introduced new RH_ATH compile switch and splitted
+	RH_masking into RH_SIDE_VBR, RH_SIDE_CBR and
+	RH_QUALITY_CONTROL=n (n=1,2)
+
+	RH_SIDE_CBR turns off side channel reduction for CBR
+	RH_SIDE_VBR turns off side channel reduction for VBR
+	RH_QUALITY_CONTROL=1 plus above switches equals RH_masking
+	RH_QUALITY_CONTROL=2 is tuned to be used with RH_ATH
+	RH_ATH changes the definition of distortion a bit:
+	   a)PSY: noise over the PSY model threshold as average
+	             quantization noise over PSY model threshold
+		        b)ATH: max quantization noise of a single freq line over
+			          the ATH threshold of that freq line
+				     the resulting distortion is the min of a) and b)
+
+2000-01-30 10:54  markt
+
+	* parse.c:
+
+	parse_args and related code moved to parse.c
+
+2000-01-30 10:53  markt
+
+	* brhist.c, brhist.h:
+
+	vbr histogram code in seperate file
+
+2000-01-30 10:50  markt
+
+	* Makefile, TODO, get_audio.c, gtkanal.c, id3tag.c, id3tag.h,
+	  lame.c, lame.h, main.c, mp3rtp.c, mp3x.c, util.c, util.h,
+	  Dll/BladeMP3EncDLL.c, Dll/MP3EncDll.dsp, mpglib/main.c:
+
+	more modularization work.  Calling program is now responsible for
+	mp3 file output
+
+2000-01-30 07:41  markt
+
+	* l3side.h, loopold.c, machine.h, psymodel.c, quantize-pvt.c,
+	  quantize-pvt.h, quantize.c, takehiro.c, vbrquantize.c:
+
+	#ifdef NOPOW removed, replaced by table lookup.  You can still
+	go back to pow() function or exp() by changing the POW20 and IPOW20
+	macros in machine.h
+
+2000-01-30 06:17  takehiro
+
+	* l3side.h, loopold.c, psymodel.c, quantize-pvt.c, quantize-pvt.h,
+	  quantize.c, takehiro.c:
+
+	use lookup table to calculate pow(2.0, xx).(when not defined NOPOW)
+
+2000-01-30 06:09  takehiro
+
+	* fft.c:
+
+	faster FFT implementation
+
+2000-01-28 00:57  cisc
+
+	* lame.c:
+
+	Fixed -m bug when bitrate>=160 (gf.mode_fixed was not set).
+
+2000-01-27 17:16  markt
+
+	* lame.h:
+
+	comments about varius quality options
+
+2000-01-27 08:27  markt
+
+	* quantize-pvt.c:
+
+	Fixed bug in scale_bitcount_lsf which was severely limiting the
+	possible scalefacters used by MPEG2.  (Lionel Bonnet)
+
+2000-01-27 07:49  markt
+
+	* Makefile, get_audio.c, get_audio.h, gtkanal.c, machine.h:
+
+	minor changes
+
+2000-01-27 05:05  markt
+
+	* fft.c, fft.h, psymodel.c, testcase.mp3:
+
+	Takehiro's fft_short and fft_long now the defaults.
+
+2000-01-27 04:35  markt
+
+	* rtp.c:
+
+	more updates from Felix
+
+2000-01-27 03:52  cisc
+
+	* loopold.c, psymodel.c, quantize-pvt.c, quantize.c, takehiro.c,
+	  util.h, vbrquantize.c:
+
+	Added NOPOW define, will replace certain pow()s with optimized variant.
+
+2000-01-27 02:06  cisc
+
+	* get_audio.c:
+
+	Removed faulty undef of bitwidth.
+
+2000-01-26 12:37  takehiro
+
+	* fft.c:
+
+	window[] and window_s[]'s buffer overrun is corrected
+
+2000-01-26 10:27  markt
+
+	* filters.c, lame.c, lame.h:
+
+	more bugs in specifigy a lowpass filter fixed.  --voice mode
+	recast in terms of lowpass filter and other options
+
+2000-01-26 08:39  markt
+
+	* psymodel.c:
+
+	removed two c++ commends (by request)
+
+2000-01-26 08:00  markt
+
+	* lame.c:
+
+	moved frameNum=0 from lame_init to lame_init_params
+
+2000-01-26 07:44  markt
+
+	* HACKING, get_audio.c, get_audio.h, globalflags.h, gtkanal.c,
+	  lame.c, lame.h, main.c, mp3rtp.c, mp3x.c, Dll/BladeMP3EncDLL.c,
+	  Dll/MP3EncDll.dsp:
+
+	more modularizatin work.  LAME can now be used as a true library,
+	without the need to construct simulated argument lists.
+	See HACKING for some details, and mp3rtp.c for an example.
+
+2000-01-25 17:50  markt
+
+	* get_audio.c, get_audio.h, globalflags.h, lame.c:
+
+	major work down towards libmp3lame.a:  split out parse_args and
+	parameter setting routines.  might have broken some things...
+
+2000-01-25 17:48  markt
+
+	* rtp.h:
+
+	bug fix from Felix
+
+2000-01-20 23:21  robert
+
+	* lame.c:
+
+	sfb21 parameter messages added
+
+2000-01-20 08:03  markt
+
+	* lame.c:
+
+	tweaked filter and other encoding parameter messages
+
+2000-01-20 07:21  markt
+
+	* gtkanal.c, gtkanal.h, mpglib/layer3.c:
+
+	fixed gtk scfsi printout - mpglib/layer3.c seems correct now.
+
+2000-01-20 06:09  markt
+
+	* Makefile, TODO, mpglib/layer3.c:
+
+	scfsi fixes to mpglib from Iwasa Kazmi
+
+2000-01-19 22:11  takehiro
+
+	* mpglib/layer3.c:
+
+	scalefactor for short block last sfb(12) was wrong.
+
+2000-01-18 18:51  afaber
+
+	* l3bitstream.c:
+
+	Made my bug fixes against version 1.9 instead of a previous version
+
+2000-01-17 22:31  afaber
+
+	* l3bitstream.c:
+
+	Guarded BF_FlushBitstream function call if PartHoldersInitialized equals zero.
+	This to avoid GPF when III_Flushbitstream is called when no data is encoder
+
+2000-01-16 06:49  markt
+
+	* lame.c, lame.h, main.c:
+
+	cleaned up main.c
+
+2000-01-15 20:33  markt
+
+	* loopold.c, takehiro.c, testcase.mp3:
+
+	added best_scalefac_store to non -h code also
+
+2000-01-15 14:35  takehiro
+
+	* psymodel.c:
+
+	little bit optimization
+
+2000-01-14 13:05  takehiro
+
+	* takehiro.c:
+
+	debug message is removed...
+
+2000-01-14 12:56  takehiro
+
+	* l3bitstream.c, loopold.c, quantize-pvt.c, quantize.c, psymodel.h,
+	  takehiro.c:
+
+	to make it use scfsi
+
+2000-01-14 07:47  markt
+
+	* doc/html/history.html:
+
+	[no log message]
+
+2000-01-14 07:34  markt
+
+	* version.h:
+
+	version 3.61
+
+2000-01-14 06:35  markt
+
+	* lame.c, quantize.c:
+
+	filters were incorrectly being used under VBR
+
+2000-01-14 05:54  markt
+
+	* USAGE, lame.c:
+
+	more on the -k option
+
+2000-01-14 05:46  markt
+
+	* USAGE, lame.c, mpglib/main.c:
+
+	-k option will disable *all* filtering and frequency cutoffs
+
+2000-01-13 20:41  robert
+
+	* Makefile, quantize.c:
+
+	more VBR (RH_masking) finetuning
+	now -V3 should give the same result as -V6 before
+
+2000-01-13 17:21  markt
+
+	* lame.c, psymodel.h:
+
+	fixed noshort option, fixed l3psycho_anal.h
+
+2000-01-13 16:26  takehiro
+
+	* filters.c, get_audio.c, l3bitstream.c, lame.c, loopold.c,
+	  newmdct.c, newmdct.h, psymodel.c, quantize-pvt.c, quantize-pvt.h,
+	  quantize.c, reservoir.c, reservoir.h, takehiro.c, util.c, util.h,
+	  vbrquantize.c:
+
+	moved info.stereo into gf.stereo
+
+2000-01-13 07:43  markt
+
+	* loopold.c, quantize.c:
+
+	got rid of old, no longer used preemph code
+
+2000-01-13 02:07  markt
+
+	* filters.c, get_audio.c, globalflags.h, gtkanal.c, lame.c,
+	  psymodel.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  takehiro.c, vbrquantize.c, mpglib/main.c:
+
+	moved the rest of the global variables into gf struct
+
+2000-01-13 00:37  markt
+
+	* quantize.c (debug-mat):
+
+	some debug code
+
+2000-01-12 22:38  afaber
+
+	* .cvsignore, VbrTag.c, lame.dsp:
+
+	fixed a few casting warnings
+	Updated .cvsignore to ignore output of testcase
+
+2000-01-12 14:30  takehiro
+
+	* filters.c, globalflags.h, l3bitstream.c, lame.c, newmdct.c,
+	  newmdct.h, quantize-pvt.c, quantize-pvt.h, reservoir.c,
+	  takehiro.c, util.c, vbrquantize.c:
+
+	more simple & fast scalefac_scale use
+	and mode_gr is moved into gf structure.
+
+2000-01-11 20:23  cisc
+
+	* amiga_mpega.c:
+
+	Fixed timestatus bug (forgot nsamp variable).
+
+2000-01-11 05:46  markt
+
+	* quantize.c (debug-mat), gtkanal.c, lame.c:
+
+	changed axis in gtk flag
+
+2000-01-10 16:37  cisc
+
+	* VbrTag.h, get_audio.c, machine.h, util.c:
+
+	Removed AMIGA_ASYNCIO, custom modified libsndfile worked better.
+
+2000-01-10 09:34  takehiro
+
+	* mpglib/layer3.c:
+
+	debug for scalefactor reading with scfsi.
+
+2000-01-10 03:44  cisc
+
+	* get_audio.c:
+
+	Disabled open/close of mp3 when AMIGA_MPEGA and LIBSNDFILE is enabled.
+
+2000-01-10 02:44  cisc
+
+	* amiga_mpega.c:
+
+	MPGLIB replacement using mpega.library. (AmigaOS)
+
+2000-01-10 02:40  cisc
+
+	* get_audio.c, mpglib/main.c:
+
+	Removed AMIGA_ASYNCIO stuff for mpglib now that we got AMIGA_MPEGA.
+
+2000-01-10 02:07  cisc
+
+	* get_audio.c, lame.h:
+
+	Added mpega.library support for decoding mpeg audio, enable with AMIGA_MPEGA. (AmigaOS)
+
+2000-01-10 00:45  markt
+
+	* loopold.c, quantize.c:
+
+	fixed bug in loopold: scalesave loop was using SBMAX instead of SBPSY,
+	and exceeding bounds.
+
+2000-01-09 23:11  markt
+
+	* Dll/BladeMP3EncDLL.c, doc/html/examples.html, doc/html/id3.html,
+	  mpglib/layer3.c:
+
+	globalflags update
+
+2000-01-09 23:10  markt
+
+	* get_audio.c, globalflags.h, gtkanal.c, gtkanal.h, lame.c,
+	  loopold.c, main.c, mp3x.c, psymodel.c, quantize-pvt.c,
+	  quantize.c, reservoir.c, vbrquantize.c:
+
+	moved more globalflags into the gf. struct
+
+2000-01-09 22:56  cisc
+
+	* VbrTag.h, get_audio.c, machine.h, util.c, mpglib/main.c:
+
+	Added usage of asyncio.library for improved I/O, enable with AMIGA_ASYNCIO. (AmigaOS)
+
+2000-01-09 22:26  markt
+
+	* quantize.c, testcase.mp3, doc/html/history.html:
+
+	updated validation testcase.
+
+2000-01-09 20:59  markt
+
+	* Makefile, version.h:
+
+	release 3.60beta
+
+2000-01-09 20:55  markt
+
+	* testcase.mp3, testcase.wav:
+
+	new test case:  testcase.wav and 'official' output testcase.mp3
+	'make test' will perform a comparison.  see makefile for details
+
+2000-01-09 20:52  markt
+
+	* Makefile:
+
+	new validation procedure
+
+2000-01-09 20:21  markt
+
+	* doc/html/: history.html, index.html, switchs.html:
+
+	updated web pages from Gabriel
+
+2000-01-09 16:08  cisc
+
+	* mpglib/main.c:
+
+	VbrTag.h wasn't included on Amiga
+
+2000-01-09 16:07  cisc
+
+	* fft.c:
+
+	Removed INLINE from fht (will get inlined as a local function anyway)
+
+2000-01-09 10:54  takehiro
+
+	* l3bitstream.c, l3side.h, loopold.c, quantize-pvt.c,
+	  quantize-pvt.h, quantize.c, takehiro.c:
+
+	All Huffman code search algorithm is implemented.
+	(-h option to enable this)
+	more slower, but better quality.
+
+2000-01-09 07:51  markt
+
+	* Makefile, psymodel.c, quantize.c:
+
+	AAC masking function now the default.  This represents less
+	masking then the old masking function.
+
+2000-01-09 07:34  markt
+
+	* gtkanal.c, gtkanal.h, lame.c, psymodel.c, psymodel.h, quantize.c:
+
+	compute mid/side energy rations in addition to masking ratios.
+	in the future we might use this for side channel bit allocation.
+	it is not used at all right now.
+
+2000-01-09 04:11  markt
+
+	* Makefile, psymodel.c, quantize.c:
+
+	someone mistakenly uncommented the call to preemphasis().
+	this routine should *not* be used.  preemph is now taken care of
+	in scale_bitcount.
+
+2000-01-08 17:57  robert
+
+	* psymodel.c:
+
+	define AAC_TMN_NMT at compile time to activate AAC tone masking noise
+	and noise masking tone values
+
+2000-01-08 17:56  robert
+
+	* quantize.c:
+
+	tuned VBR code, inactive until you define RH_masking at compile time
+
+2000-01-08 17:54  robert
+
+	* Makefile:
+
+	added suggested compiler options for gcc 2.95.2, uncomment them to activate them
+
+2000-01-08 17:52  robert
+
+	* PRESETS.draft:
+
+	changed frequencies to Lames format
+
+2000-01-07 06:40  markt
+
+	* HACKING, Makefile:
+
+	updated HACKING notes
+
+2000-01-07 06:13  markt
+
+	* get_audio.c, globalflags.h, lame.c, loopold.c, psymodel.c,
+	  quantize-pvt.c, quantize.c, reservoir.c:
+
+	Robert's cw_lower_limit, upper_limit code back in.  Default is compute
+	cw[] up to 8.9Khz.  set with --cwlimit <freq>
+
+	started putting global variables into global_flags struct.
+
+2000-01-06 05:12  markt
+
+	* mp3rtp.c:
+
+	more rtp updates
+
+2000-01-06 04:58  markt
+
+	* lame.c, mp3rtp.c, rtp.c:
+
+	more rtp updates
+
+2000-01-05 23:52  robert
+
+	* quantize.c:
+
+	VBR: masking lower was not set correctly
+	it was only set for sloppy mode, fixed now
+
+2000-01-05 17:40  afaber
+
+	* mpglib/mpglib.h:
+
+	Fixed BOOL definition conflict for Win32 systems
+
+2000-01-05 16:47  markt
+
+	* Makefile, mp3rtp.c, rtp.c, rtp.h:
+
+	added mp3rtp code.  uses lame library, but not part of normal lame
+	encoder
+
+2000-01-05 10:04  markt
+
+	* VbrTag.c, VbrTag.h, get_audio.c, l3side.h, lame.h, mpglib/main.c:
+
+	Check for Xing header in mp3 input files
+
+2000-01-05 06:29  markt
+
+	* version.h:
+
+	updated version
+
+2000-01-05 06:20  markt
+
+	* Makefile, psymodel.c:
+
+	norm_l, norm_s table data replaced by formulas.
+
+2000-01-03 05:15  markt
+
+	* INSTALL, Makefile, encoder.h, gtkanal.c, lame.c, main.c,
+	  doc/html/contributors.html, doc/html/index.html,
+	  doc/html/lame.css, doc/html/node6.html, doc/html/node7.html,
+	  doc/html/switchs.html:
+
+	new html from Gabriel.  Fixed but that was causing the first frame to
+	always be zero.  changed encoder delay to 800 to fix some other problems
+	and remove the buffering of the first frame in lame_encode().
+
+1999-12-29 15:34  takehiro
+
+	* doc/html/: contributors.html, history.html, index.html,
+	  node6.html, node7.html, switchs.html:
+
+	updated html doc written by Gabriel Bouvigne.
+
+1999-12-28 22:02  afaber
+
+	* lame.dsp, Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.h,
+	  Dll/MP3EncDll.dsp, mpglib/mpglib.dsp:
+
+	Some fixes to the Encoder DLL:
+	use -h instead of -k flag for high qualtiy
+	The voice option was set in HQ mode, which is obviously not correct
+
+1999-12-26 14:48  takehiro
+
+	* l3bitstream.c, lame.c:
+
+	some foolish bug is removed :)
+
+1999-12-26 09:51  takehiro
+
+	* globalflags.h, lame.c, quantize-pvt.c:
+
+	new option "--noath" to disable the ATH masking
+
+1999-12-26 09:50  takehiro
+
+	* .cvsignore:
+
+	ignore mp3x binary exe.
+
+1999-12-23 12:27  takehiro
+
+	* quantize-pvt.c:
+
+	guess wiser initial StepSize for bin_search_stepsize
+
+1999-12-22 17:38  markt
+
+	* Makefile, psymodel.c:
+
+	AAC NMT/TMN values (commented out)
+
+1999-12-22 08:03  markt
+
+	* quantize-pvt.c:
+
+	back to oringal (ave_noise < ATH) definition of analog silence for
+	VBR mode.
+
+1999-12-22 07:39  markt
+
+	* psymodel.c:
+
+	added AAC spreading function (disabled by default)
+
+1999-12-21 08:18  markt
+
+	* Makefile, fft.c, l3side.h, lame.c, psymodel.c, psymodel.h,
+	  quantize-pvt.c, quantize.c:
+
+	Bug fix in Mid/Side masking thresholds
+
+1999-12-19 21:33  afaber
+
+	* Dll/BladeMP3EncDLL.c:
+
+	Set home page link to Lame home page
+
+1999-12-19 01:47  markt
+
+	* Makefile, globalflags.h, lame.c, psymodel.c:
+
+	went back to ISO layer III recommended cw formulas
+
+1999-12-19 01:15  robert
+
+	* globalflags.h, lame.c, psymodel.c:
+
+	patched GPSYCHO, enable with --psy-model 0
+
+1999-12-17 04:24  markt
+
+	* USAGE, globalflags.h, lame.c, reservoir.c:
+
+	added the --nores option to disable the bitreservoir.  only usefull
+	in special circumstances
+
+1999-12-16 05:24  markt
+
+	* quantize-pvt.c:
+
+	changed analog silence switch to use max_ener rather than ave_ener.
+	only affects VBR mode: when analog silence is detected, the min bitrate
+	is allowed to drop to 32kbs even if set higher with -b
+
+1999-12-14 23:51  cisc
+
+	* fft.c:
+
+	Changed M_PI to PI. (Not everyone has M_PI, but PI is always defined in util.h)
+
+1999-12-14 22:44  robert
+
+	* PRESETS.draft:
+
+	first sketch of what could become PRESETS for LAME
+
+1999-12-14 22:40  robert
+
+	* lame.c, quantize.c:
+
+	added new experimentalX quant_compare -X6 mode
+
+1999-12-14 04:38  markt
+
+	* Makefile, fft.c, fft.h, psymodel.c:
+
+	Takehiro's fft's back in.  fft_short2(), fft_long2() will call original
+	fft's  (with one minor change:  0 protection for ax[] and bx[] was not
+	needed and has been removed).  Takehiro's routines are fft_short() and
+	fft_long().  They dont give bit-for-bit identical answers, and I still
+	want to track this down before making them the defaults.  .
+
+1999-12-14 00:19  robert
+
+	* lame.c:
+
+	changed filter options
+
+1999-12-13 21:56  markt
+
+	* version.h:
+
+	updated version to 3.58
+
+1999-12-12 21:14  robert
+
+	* lame.c:
+
+	grrr, mist some filter comandline combinations :(
+
+1999-12-12 19:22  robert
+
+	* lame.c:
+
+	fixed filter commandline parameter inconsistencies
+
+1999-12-12 19:02  markt
+
+	* filters.c, newmdct.c, util.h:
+
+	removed extra #define's related to PI
+
+1999-12-12 03:53  cisc
+
+	* filters.c, loopold.c, newmdct.c, quantize.c, util.h:
+
+	Added new PI and LOG predefined variants, and stuck them in at respective places.
+
+1999-12-11 23:37  robert
+
+	* lame.c:
+
+	added low/highpass filter switches
+
+1999-12-11 23:36  robert
+
+	* filters.c, globalflags.h:
+
+	added highpass filter similar to lowpass filter
+	fixed lowpass filter to avoid endless loops
+
+1999-12-11 20:13  robert
+
+	* mlame:
+
+	fix for filenames containing spaces
+
+1999-12-11 00:57  takehiro
+
+	* .cvsignore:
+
+	added lame binary executable itself
+
+1999-12-10 01:57  takehiro
+
+	* lame.c, loopold.c, quantize.c, util.c, util.h:
+
+	little bit good subblock_gain calculation.
+	and nint2 is removed.
+
+1999-12-09 15:17  takehiro
+
+	* loopold.c:
+
+	little bit clean up. some variable restoring is removed.
+
+1999-12-09 07:07  markt
+
+	* quantize-pvt.c, quantize-pvt.h, quantize.c, takehiro.c:
+
+	PRECALC_SIZE bug?
+	PRECALC_SIZE should be 8191+15+1, since max value of xr/ix is 8191+15.
+
+1999-12-09 06:29  markt
+
+	* loopold.c:
+
+	cod_info-> should be cod_info[ch]->
+
+1999-12-09 02:34  takehiro
+
+	* loopold.c, quantize.c:
+
+	Oops, stepsize history was not recorded.
+
+1999-12-09 02:28  takehiro
+
+	* loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c:
+
+	initial value of binary search is separeted by channels.
+	maybe faster bin_search_stepsize
+
+1999-12-09 00:44  cisc
+
+	* l3bitstream-pvt.h:
+
+	Removed write_ancillary_data() prototype. (No longer used)
+
+1999-12-09 00:38  cisc
+
+	* takehiro.c:
+
+	Included the correct quantize header. (quantize-pvt.h instead of quantize.h)
+
+1999-12-08 19:39  cisc
+
+	* util.h:
+
+	Adjusted PI/SQRT2 precision. (SQRT2 deviated from standard math.h value)
+
+1999-12-08 19:37  cisc
+
+	* mpglib/mpg123.h:
+
+	Fixed M_PI/M_SQRT2 to work on all platforms. Removed unused INLINE.
+
+1999-12-08 13:45  takehiro
+
+	* mpglib/layer3.c:
+
+	debug about scfsi treatment
+
+1999-12-08 06:27  markt
+
+	* Makefile, lame.c:
+
+	fixed display bug for VBR histogram under ncurses.  Now termcap
+	is replaced by the more modern ncurses.
+
+1999-12-08 05:46  markt
+
+	* psymodel.c, takehiro.c:
+
+	avoid bounds check on xr[] for non-hq mode, from Mat.
+	spelling error in psymodel.c fixed :-)
+
+1999-12-08 05:24  markt
+
+	* TODO:
+
+	[no log message]
+
+1999-12-08 03:49  takehiro
+
+	* psymodel.c:
+
+	debugged possible buffer overrun.
+
+1999-12-07 22:58  cisc
+
+	* mpglib/layer3.c:
+
+	No GTK on Amiga. :(
+
+1999-12-07 22:56  cisc
+
+	* main.c:
+
+	Removed redundant __buffsize (SAS/C (AmigaOS))
+
+1999-12-07 05:11  markt
+
+	* Makefile, TODO, quantize-pvt.c:
+
+	removed -.5 from quantize_xrpow
+
+1999-12-07 02:04  markt
+
+	* fft.c, fft.h, lame.c, psymodel.c, quantize-pvt.c:
+
+	backed out takehiro's fft changes for now
+	added latest quantize_xrpow asm from Acy and Mat
+
+1999-12-06 22:45  takehiro
+
+	* fft.c:
+
+	lookup table integration
+
+1999-12-06 20:38  afaber
+
+	* fft.c, lame.h, machine.h, psymodel.c:
+
+	Fixed compiler errors
+
+1999-12-03 10:13  takehiro
+
+	* fft.c, fft.h, psymodel.c:
+
+	maybe faster FFT coding
+
+1999-12-03 10:11  takehiro
+
+	* l3bitstream.c:
+
+	foolish mistake has removed :)
+
+1999-12-03 09:45  takehiro
+
+	* l3bitstream.c, l3bitstream.h, lame.c:
+
+	little bit cleanup
+
+1999-12-02 17:01  takehiro
+
+	* loopold.c, quantize-pvt.c, quantize-pvt.h, quantize.c,
+	  takehiro.c:
+
+	correct adj43 overrun(maybe)
+
+1999-11-30 19:30  afaber
+
+	* Dll/.cvsignore, mpglib/.cvsignore:
+
+	Added .cvsignore files in sub projects
+
+1999-11-30 19:27  afaber
+
+	* .cvsignore, gtkanal.c, lame.dsp, util.c, mpglib/mpglib.dsp:
+
+	Added Win32 specific output files to .cvsignore
+	updated project files to set proper output directory and fixed alignment
+	problem between mpglib project and lame project, now all modules
+	have 8 byte alignment in all configurations
+
+1999-11-29 19:54  takehiro
+
+	* .cvsignore:
+
+	configure ignoring *.d file
+
+1999-11-29 19:48  takehiro
+
+	* quantize.c:
+
+	And more cleanup. needless variable store/restores are removed.
+
+1999-11-29 19:39  takehiro
+
+	* quantize.c:
+
+	little bit code cleanup(deleted needless call of scale_bitcount)
+	sorry, it is not bugfix of "TOO LARGE quantizerStepSize" ;p
+
+1999-11-29 16:34  markt
+
+	* loopold.c, quantize-pvt.h, quantize.c:
+
+	removed unused VBRbits from non-VBR quant routines
+
+1999-11-29 03:13  markt
+
+	* loopold.c, quantize-pvt.c, quantize.c:
+
+	scalefactor preemph *correctly* turned back on
+
+1999-11-29 02:55  markt
+
+	* loopold.c, quantize-pvt.c:
+
+	scalefac pre-emph turned back on in loopold.c
+
+1999-11-29 02:45  markt
+
+	* encoder.h, gtkanal.h, l3side.h, lame.c, newmdct.c, psymodel.c,
+	  psymodel.h, quantize.c, util.c:
+
+	MS stereo switch slightly improved:  old formula was based on the average
+	of ms_ratio of both granules.  New formula uses ms_ratio from both
+	granules and the previous and next granule.  This will help avoid toggleing
+	MS stereo off for a single frame.  Long runs of MS stereo or regular
+	stereo will not be affected.
+
+	also fixed a bug in frame analyzer - it was accessing l3_xmin in the last
+	scalefactor (l3_xmin and maskings are not computed for last scalefactor)
+
+1999-11-28 23:00  afaber
+
+	* lame.c, lame.dsp, Dll/MP3EncDll.dsp:
+
+	More fixes in order to compile under Win32
+
+1999-11-28 22:42  afaber
+
+	* lame.dsp, quantize-pvt.c:
+
+	Fixes to compile under Win32
+
+1999-11-28 22:21  afaber
+
+	* Dll/: BladeMP3EncDLL.c, BladeMP3EncDLL.def, BladeMP3EncDLL.h,
+	  MP3EncDll.dsp, MP3EncDll.dsw:
+
+	Update of Blade DLL interface in order to support new lame features
+
+1999-11-28 06:45  markt
+
+	* quantize-pvt.c:
+
+	updated comments
+
+1999-11-28 06:36  markt
+
+	* USAGE, quantize-pvt.c, quantize-pvt.h, vbrquantize.c:
+
+	ASM routines (gcc & MSVC) for quantize_xrpow
+
+1999-11-28 01:01  markt
+
+	* Makefile, TODO, lame.c, quantize-pvt.c, quantize-pvt.h,
+	  quantize.c:
+
+	If analog silence is detected, allow VBR code to over ride the VBR_min_bitrate
+	setting and encode at 32kbs.
+
+1999-11-27 23:39  markt
+
+	* Makefile, formatBitstream.c, l3bitstream.c, lame.c,
+	  quantize-pvt.c, quantize-pvt.h, quantize.c, util.c,
+	  vbrquantize.c:
+
+	More accurate quantization from Segher Boessenkool
+
+1999-11-25 19:27  markt
+
+	* util.c:
+
+	fixed allowable bitrate displays
+
+1999-11-24 08:43  markt
+
+	* loopold.c, main.c, mlame, mp3x.c, timestatus.c, portableio.c,
+	  portableio.h, reservoir.c, reservoir.h, tables.h, timestatus.h,
+	  version.c, newmdct.h, quantize.h, takehiro.c, debugscalefac.c,
+	  encoder.h, machine.h, filters.c, quantize-pvt.h, HACKING,
+	  filters.h, vbrquantize.c, Dll/MP3EncDll.dsp,
+	  Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.def,
+	  Dll/BladeMP3EncDLL.h, Dll/MP3EncDll.dsw, doc/html/index.html,
+	  doc/html/lame.css, doc/html/node7.html, doc/html/node5.html,
+	  doc/html/contributors.html, doc/html/node6.html,
+	  doc/html/history.html, doc/html/switchs.html, doc/man/lame.1,
+	  mpglib/Makefile, mpglib/README, mpglib/TODO, mpglib/common.c,
+	  mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/huffman.h,
+	  mpglib/interface.c, mpglib/layer3.c, mpglib/main.c,
+	  mpglib/mpglib.dsp, mpglib/mpg123.h, mpglib/mpglib.h,
+	  mpglib/tabinit.c:
+
+	Initial revision
+
+1999-11-24 08:43  markt
+
+	* loopold.c, main.c, mlame, mp3x.c, timestatus.c, portableio.c,
+	  portableio.h, reservoir.c, reservoir.h, tables.h, timestatus.h,
+	  version.c, newmdct.h, quantize.h, takehiro.c, debugscalefac.c,
+	  encoder.h, machine.h, filters.c, quantize-pvt.h, HACKING,
+	  filters.h, vbrquantize.c, Dll/MP3EncDll.dsp,
+	  Dll/BladeMP3EncDLL.c, Dll/BladeMP3EncDLL.def,
+	  Dll/BladeMP3EncDLL.h, Dll/MP3EncDll.dsw, doc/html/index.html,
+	  doc/html/lame.css, doc/html/node7.html, doc/html/node5.html,
+	  doc/html/contributors.html, doc/html/node6.html,
+	  doc/html/history.html, doc/html/switchs.html, doc/man/lame.1,
+	  mpglib/Makefile, mpglib/README, mpglib/TODO, mpglib/common.c,
+	  mpglib/dct64_i386.c, mpglib/decode_i386.c, mpglib/huffman.h,
+	  mpglib/interface.c, mpglib/layer3.c, mpglib/main.c,
+	  mpglib/mpglib.dsp, mpglib/mpg123.h, mpglib/mpglib.h,
+	  mpglib/tabinit.c:
+
+	initial checkin of LAME
+	Starting with LAME 3.57beta with some modifications
+
+1999-11-24 08:40  markt
+
+	* COPYING, INSTALL, Makefile, Makefile.MSVC, tables.c, util.c,
+	  README, README.WINGTK, TODO, USAGE, fft.c, VbrTag.c, VbrTag.h,
+	  auenc, fft.h, psymodel.c, lame.dsp, util.h, formatBitstream.c,
+	  formatBitstream.h, get_audio.c, lame.c, get_audio.h,
+	  globalflags.h, gpkplotting.c, gpkplotting.h, gtkanal.c,
+	  gtkanal.h, quantize.c, version.h, newmdct.c, id3tag.c, id3tag.h,
+	  ieeefloat.c, ieeefloat.h, l3bitstream-pvt.h, l3bitstream.c,
+	  l3bitstream.h, LICENSE, l3side.h, lame.dsw, quantize-pvt.c,
+	  lame.h, psymodel.h:
+
+	Initial revision
+
+1999-11-24 08:40  markt
+
+	* COPYING, INSTALL, Makefile, Makefile.MSVC, tables.c, util.c,
+	  README, README.WINGTK, TODO, USAGE, fft.c, VbrTag.c, VbrTag.h,
+	  auenc, fft.h, psymodel.c, lame.dsp, util.h, formatBitstream.c,
+	  formatBitstream.h, get_audio.c, lame.c, get_audio.h,
+	  globalflags.h, gpkplotting.c, gpkplotting.h, gtkanal.c,
+	  gtkanal.h, quantize.c, version.h, newmdct.c, id3tag.c, id3tag.h,
+	  ieeefloat.c, ieeefloat.h, l3bitstream-pvt.h, l3bitstream.c,
+	  l3bitstream.h, LICENSE, l3side.h, lame.dsw, quantize-pvt.c,
+	  lame.h, psymodel.h:
+
+	initial checkin of LAME
+	Starting with LAME 3.57beta with some modifications
+

+ 13 - 0
ChangeLog.header

@@ -0,0 +1,13 @@
+
+ ChangeLog for LAME
+-==================-
+
+ - All dates/times are in GMT.
+ - This file contains the complete changelog, even commit logs of
+   non official branches. An entry of the form "filename (branchname):"
+   may not apply to the source you get with this package.
+ - Generated from cvs log entries
+   (cvs2cl --gmt -S --branches --no-wrap --header ChangeLog.header)
+
+-- 
+

+ 45 - 0
DEFINES

@@ -0,0 +1,45 @@
+$Id: DEFINES,v 1.23 2003-02-07 18:17:41 bouvigne Exp $
+
+USE_FAST_LOG:
+ - use of log/log10 approximation (uses IEEE754 float format)
+   (absolute precision of log10 is then around 1e-6)
+
+KLEMM_36:
+ - portability fixes in the IO code
+
+NON_LINEAR_PSYMODEL
+ - use a non linear psymodel in the GPSYCHO case
+
+USE_GOGO_SUBBAND:
+ ?
+
+NOTABLES (default):
+ ?
+
+NEWS3:
+ ?
+
+NORES_TEST (allways on):
+ - don't let the 2nd granule use bits saved by the 1st granule
+ - useful for testing only
+
+NEW_DRAIN (theres a define above: NEW_DRAINXX):
+ ?
+ comment:
+   mdb_bytes = x/8; m ?= n ?= o ?= 8* mdb_bytes; p ?= mdb_bytes
+   ( ? == [+-] )
+   - optimization should handle this, but it looks ugly
+   - do we lose precision here?
+
+LAME_STD_PRINT:
+ - more verbose output?
+
+PRECOMPUTE (always on, multiple defines):
+ - precomputes blackman window?
+
+USE_GNUC_ASM:
+ - speed optimization
+   (should move into configure.in)
+
+... alot of #if 0 / #if 1 not evaluated ...
+

+ 1028 - 0
Dll/BladeMP3EncDLL.c

@@ -0,0 +1,1028 @@
+/*
+*	Blade DLL Interface for LAME.
+*
+*	Copyright (c) 1999 - 2002 A.L. Faber
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Library General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+* 
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+* Library General Public License for more details.
+* 
+* You should have received a copy of the GNU Library General Public
+* License along with this library; if not, write to the
+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+* Boston, MA  02111-1307, USA.
+*/
+
+#include <windows.h>
+#include <Windef.h>
+#include "BladeMP3EncDLL.h"
+#include <assert.h>
+#include <stdio.h>
+
+#include <lame.h>
+
+#ifdef	__cplusplus
+extern "C" {
+#endif
+
+#define         Min(A, B)       ((A) < (B) ? (A) : (B))
+#define         Max(A, B)       ((A) > (B) ? (A) : (B))
+
+#define _RELEASEDEBUG 0
+
+// lame_enc DLL version number
+const BYTE MAJORVERSION = 1;
+const BYTE MINORVERSION = 32;
+
+
+// Local variables
+static DWORD				dwSampleBufferSize=0;
+static HMODULE				gs_hModule=NULL;
+static BOOL					gs_bLogFile=FALSE;
+static lame_global_flags*	gfp_save = NULL;
+
+// Local function prototypes
+static void dump_config( 	lame_global_flags*	gfp );
+static void DebugPrintf( const char* pzFormat, ... );
+static void DispErr( char const* strErr );
+static void PresetOptions( lame_global_flags *gfp, LONG myPreset );
+
+
+static void DebugPrintf(const char* pzFormat, ...)
+{
+    char	szBuffer[1024]={'\0',};
+    char	szFileName[MAX_PATH+1]={'\0',};
+    va_list ap;
+
+    // Get the full module (DLL) file name
+    GetModuleFileNameA(	gs_hModule, 
+        szFileName,
+        sizeof( szFileName ) );
+
+    // change file name extention
+    szFileName[ strlen(szFileName) - 3 ] = 't';
+    szFileName[ strlen(szFileName) - 2 ] = 'x';
+    szFileName[ strlen(szFileName) - 1 ] = 't';
+
+    // start at beginning of the list
+    va_start(ap, pzFormat);
+
+    // copy it to the string buffer
+    _vsnprintf(szBuffer, sizeof(szBuffer), pzFormat, ap);
+
+    // log it to the file?
+    if ( gs_bLogFile ) 
+    {	
+        FILE* fp = NULL;
+
+        // try to open the log file
+        fp=fopen( szFileName, "a+" );
+
+        // check file open result
+        if (fp)
+        {
+            // write string to the file
+            fputs(szBuffer,fp);
+
+            // close the file
+            fclose(fp);
+        }
+    }
+
+#if defined _DEBUG || defined _RELEASEDEBUG
+    OutputDebugStringA( szBuffer );
+#endif
+
+    va_end(ap);
+}
+
+
+static void PresetOptions( lame_global_flags *gfp, LONG myPreset )
+{
+    switch (myPreset)
+    {
+        /*-1*/case LQP_NOPRESET:
+            break;
+
+        /*0*/case LQP_NORMAL_QUALITY:
+            /*	lame_set_quality( gfp, 5 );*/
+            break;
+
+        /*1*/case LQP_LOW_QUALITY:
+             lame_set_quality( gfp, 9 );
+             break;
+
+        /*2*/case LQP_HIGH_QUALITY:
+             lame_set_quality( gfp, 2 );
+             break;
+
+        /*3*/case LQP_VOICE_QUALITY:				// --voice flag for experimental voice mode
+             lame_set_mode( gfp, MONO );
+             lame_set_preset( gfp, 56);
+             break;
+
+        /*4*/case LQP_R3MIX:					// --R3MIX
+             lame_set_preset( gfp, R3MIX);
+             break;
+
+        /*5*/case LQP_VERYHIGH_QUALITY:
+             lame_set_quality( gfp, 0 );
+             break;
+
+        /*6*/case LQP_STANDARD:				// --PRESET STANDARD
+            lame_set_preset( gfp, STANDARD);
+            break;
+
+        /*7*/case LQP_FAST_STANDARD:				// --PRESET FAST STANDARD
+            lame_set_preset( gfp, STANDARD_FAST);
+            break;
+
+        /*8*/case LQP_EXTREME:				// --PRESET EXTREME
+            lame_set_preset( gfp, EXTREME);
+            break;
+
+        /*9*/case LQP_FAST_EXTREME:				// --PRESET FAST EXTREME:
+            lame_set_preset( gfp, EXTREME_FAST);
+            break;
+
+        /*10*/case LQP_INSANE:				// --PRESET INSANE
+            lame_set_preset( gfp, INSANE);
+            break;
+
+        /*11*/case LQP_ABR:					// --PRESET ABR
+            // handled in beInitStream
+            break;
+
+        /*12*/case LQP_CBR:					// --PRESET CBR
+            // handled in beInitStream
+            break;
+
+        /*13*/case LQP_MEDIUM:					// --PRESET MEDIUM
+            lame_set_preset( gfp, MEDIUM);
+            break;
+
+        /*14*/case LQP_FAST_MEDIUM:					// --PRESET FAST MEDIUM
+            lame_set_preset( gfp, MEDIUM_FAST);
+            break;
+
+        /*1000*/case LQP_PHONE:
+            lame_set_mode( gfp, MONO );
+            lame_set_preset( gfp, 16);
+            break;
+
+        /*2000*/case LQP_SW:
+            lame_set_mode( gfp, MONO );
+            lame_set_preset( gfp, 24);
+            break;
+
+        /*3000*/case LQP_AM:
+            lame_set_mode( gfp, MONO );
+            lame_set_preset( gfp, 40);
+            break;
+
+        /*4000*/case LQP_FM:
+            lame_set_preset( gfp, 112);
+            break;
+
+        /*5000*/case LQP_VOICE:
+            lame_set_mode( gfp, MONO );
+            lame_set_preset( gfp, 56);
+            break;
+
+        /*6000*/case LQP_RADIO:
+            lame_set_preset( gfp, 112);
+            break;
+
+        /*7000*/case LQP_TAPE:
+            lame_set_preset( gfp, 112);
+            break;
+
+        /*8000*/case LQP_HIFI:
+            lame_set_preset( gfp, 160);
+            break;
+
+        /*9000*/case LQP_CD:
+            lame_set_preset( gfp, 192);
+            break;
+
+        /*10000*/case LQP_STUDIO:
+            lame_set_preset( gfp, 256);
+            break;
+
+    }
+}
+
+
+__declspec(dllexport) BE_ERR	beInitStream(PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream)
+{
+    int actual_bitrate;
+    //2001-12-18
+    BE_CONFIG			lameConfig = { 0, };
+    int					nInitReturn = 0;
+    lame_global_flags*	gfp = NULL;
+
+    // Init the global flags structure
+    gfp = lame_init();
+    *phbeStream = (HBE_STREAM)gfp;
+
+    // clear out structure
+    memset(&lameConfig,0x00,CURRENT_STRUCT_SIZE);
+
+    // Check if this is a regular BLADE_ENCODER header
+    if (pbeConfig->dwConfig!=BE_CONFIG_LAME)
+    {
+        int nCRC=pbeConfig->format.mp3.bCRC;
+        int nVBR=(nCRC>>12)&0x0F;
+
+        // Copy parameter from old Blade structure
+        lameConfig.format.LHV1.dwSampleRate	=pbeConfig->format.mp3.dwSampleRate;
+        //for low bitrates, LAME will automatically downsample for better
+        //sound quality.  Forcing output samplerate = input samplerate is not a good idea 
+        //unless the user specifically requests it:
+        //lameConfig.format.LHV1.dwReSampleRate=pbeConfig->format.mp3.dwSampleRate;
+        lameConfig.format.LHV1.nMode		=(pbeConfig->format.mp3.byMode&0x0F);
+        lameConfig.format.LHV1.dwBitrate	=pbeConfig->format.mp3.wBitrate;
+        lameConfig.format.LHV1.bPrivate		=pbeConfig->format.mp3.bPrivate;
+        lameConfig.format.LHV1.bOriginal	=pbeConfig->format.mp3.bOriginal;
+        lameConfig.format.LHV1.bCRC		=nCRC&0x01;
+        lameConfig.format.LHV1.bCopyright	=pbeConfig->format.mp3.bCopyright;
+
+        // Fill out the unknowns
+        lameConfig.format.LHV1.dwStructSize=CURRENT_STRUCT_SIZE;
+        lameConfig.format.LHV1.dwStructVersion=CURRENT_STRUCT_VERSION;
+
+        // Get VBR setting from fourth nibble
+        if ( nVBR>0 )
+        {
+            lameConfig.format.LHV1.bWriteVBRHeader = TRUE;
+            lameConfig.format.LHV1.bEnableVBR = TRUE;
+            lameConfig.format.LHV1.nVBRQuality = nVBR-1;
+        }
+
+        // Get Quality from third nibble
+        lameConfig.format.LHV1.nPreset=((nCRC>>8)&0x0F);
+
+    }
+    else
+    {
+        // Copy the parameters
+        memcpy(&lameConfig,pbeConfig,pbeConfig->format.LHV1.dwStructSize);
+    }
+
+    // --------------- Set arguments to LAME encoder -------------------------
+
+    // Set input sample frequency
+    lame_set_in_samplerate( gfp, lameConfig.format.LHV1.dwSampleRate );
+
+    // disable INFO/VBR tag by default.  
+    // if this tag is used, the calling program must call beWriteVBRTag()
+    // after encoding.  But the original DLL documentation does not 
+    // require the 
+    // app to call beWriteVBRTag() unless they have specifically
+    // set LHV1.bWriteVBRHeader=TRUE.  Thus the default setting should
+    // be disabled.  
+    lame_set_bWriteVbrTag( gfp, 0 );
+
+    //2001-12-18 Dibrom's ABR preset stuff
+
+    if(lameConfig.format.LHV1.nPreset == LQP_ABR)		// --ALT-PRESET ABR
+    {
+        actual_bitrate = lameConfig.format.LHV1.dwVbrAbr_bps / 1000;
+
+        // limit range
+        if( actual_bitrate > 320)
+        {
+            actual_bitrate = 320;
+        }
+
+        if( actual_bitrate < 8 )
+        {
+            actual_bitrate = 8;
+        }
+
+        lame_set_preset( gfp, actual_bitrate );
+    }    
+
+    // end Dibrom's ABR preset 2001-12-18 ****** START OF CBR
+
+    if(lameConfig.format.LHV1.nPreset == LQP_CBR)		// --ALT-PRESET CBR
+    {
+        actual_bitrate = lameConfig.format.LHV1.dwBitrate;
+        lame_set_preset(gfp, actual_bitrate);
+        lame_set_VBR(gfp, vbr_off);
+    }
+
+    // end Dibrom's CBR preset 2001-12-18
+
+    // The following settings only used when preset is not one of the LAME QUALITY Presets
+    if ( (int)lameConfig.format.LHV1.nPreset < (int) LQP_STANDARD )
+    {
+        switch ( lameConfig.format.LHV1.nMode )
+        {
+        case BE_MP3_MODE_STEREO:
+            lame_set_mode( gfp, STEREO );
+            lame_set_num_channels( gfp, 2 );
+            break;
+        case BE_MP3_MODE_JSTEREO:
+            lame_set_mode( gfp, JOINT_STEREO );
+            //lame_set_force_ms( gfp, bForceMS ); // no check box to force this?
+            lame_set_num_channels( gfp, 2 );
+            break;
+        case BE_MP3_MODE_MONO:
+            lame_set_mode( gfp, MONO );
+            lame_set_num_channels( gfp, 1 );
+            break;
+        case BE_MP3_MODE_DUALCHANNEL:
+            lame_set_mode( gfp, DUAL_CHANNEL );
+            lame_set_num_channels( gfp, 2 );
+            break;
+        default:
+            {
+                DebugPrintf("Invalid lameConfig.format.LHV1.nMode, value is %d\n",lameConfig.format.LHV1.nMode);
+                return BE_ERR_INVALID_FORMAT_PARAMETERS;
+            }
+        }
+
+        if ( lameConfig.format.LHV1.bEnableVBR )
+        {
+            /* set VBR quality */
+            lame_set_VBR_q( gfp, lameConfig.format.LHV1.nVBRQuality );
+
+            /* select proper VBR method */
+            switch ( lameConfig.format.LHV1.nVbrMethod)
+            {
+            case VBR_METHOD_NONE:
+                lame_set_VBR( gfp, vbr_off );
+                break;
+
+            case VBR_METHOD_DEFAULT:
+                lame_set_VBR( gfp, vbr_default ); 
+                break;
+
+            case VBR_METHOD_OLD:
+                lame_set_VBR( gfp, vbr_rh ); 
+                break;
+
+            case VBR_METHOD_MTRH:
+            case VBR_METHOD_NEW:
+                /*                                
+                * the --vbr-mtrh commandline switch is obsolete. 
+                * now --vbr-mtrh is known as --vbr-new
+                */
+                lame_set_VBR( gfp, vbr_mtrh ); 
+                break;
+
+            case VBR_METHOD_ABR:
+                lame_set_VBR( gfp, vbr_abr ); 
+                break;
+
+            default:
+                /* unsupported VBR method */
+                assert( FALSE );
+            }
+        }
+        else
+        {
+            /* use CBR encoding method, so turn off VBR */
+            lame_set_VBR( gfp, vbr_off );
+        }
+
+        /* Set bitrate.  (CDex users always specify bitrate=Min bitrate when using VBR) */
+        lame_set_brate( gfp, lameConfig.format.LHV1.dwBitrate );
+
+        /* check if we have to use ABR, in order to backwards compatible, this
+        * condition should still be checked indepedent of the nVbrMethod method
+        */
+        if (lameConfig.format.LHV1.dwVbrAbr_bps > 0 )
+        {
+            /* set VBR method to ABR */
+            lame_set_VBR( gfp, vbr_abr );
+
+            /* calculate to kbps, round to nearest kbps */
+            lame_set_VBR_mean_bitrate_kbps( gfp, ( lameConfig.format.LHV1.dwVbrAbr_bps + 500 ) / 1000 );
+
+            /* limit range */
+            if( lame_get_VBR_mean_bitrate_kbps( gfp ) > 320)
+            {
+                lame_set_VBR_mean_bitrate_kbps( gfp, 320 );
+            }
+
+            if( lame_get_VBR_mean_bitrate_kbps( gfp ) < 8 )
+            {
+                lame_set_VBR_mean_bitrate_kbps( gfp, 8 );
+            }
+        }
+
+    }
+
+    // First set all the preset options
+    if ( LQP_NOPRESET !=  lameConfig.format.LHV1.nPreset )
+    {
+        PresetOptions( gfp, lameConfig.format.LHV1.nPreset );
+    }
+
+
+    // Set frequency resampling rate, if specified
+    if ( lameConfig.format.LHV1.dwReSampleRate > 0 )
+    {
+        lame_set_out_samplerate( gfp, lameConfig.format.LHV1.dwReSampleRate );
+    }
+
+
+    switch ( lameConfig.format.LHV1.nMode )
+    {
+    case BE_MP3_MODE_MONO:
+        lame_set_mode( gfp, MONO );
+        lame_set_num_channels( gfp, 1 );
+        break;
+
+    default:
+        break;
+    }
+
+
+    // Use strict ISO encoding?
+    lame_set_strict_ISO( gfp, ( lameConfig.format.LHV1.bStrictIso ) ? 1 : 0 );
+
+    // Set copyright flag?
+    if ( lameConfig.format.LHV1.bCopyright )
+    {
+        lame_set_copyright( gfp, 1 );
+    }
+
+    // Do we have to tag  it as non original 
+    if ( !lameConfig.format.LHV1.bOriginal )
+    {
+        lame_set_original( gfp, 0 );
+    }
+    else
+    {
+        lame_set_original( gfp, 1 );
+    }
+
+    // Add CRC?
+    if ( lameConfig.format.LHV1.bCRC )
+    {
+        lame_set_error_protection( gfp, 1 );
+    }
+    else
+    {
+        lame_set_error_protection( gfp, 0 );
+    }
+
+    // Set private bit?
+    if ( lameConfig.format.LHV1.bPrivate )
+    {
+        lame_set_extension( gfp, 1 );
+    }
+    else
+    {
+        lame_set_extension( gfp, 0 );
+    }
+
+
+    // Set VBR min bitrate, if specified
+    if ( lameConfig.format.LHV1.dwBitrate > 0 )
+    {
+        lame_set_VBR_min_bitrate_kbps( gfp, lameConfig.format.LHV1.dwBitrate );
+    }
+
+    // Set Maxbitrate, if specified
+    if ( lameConfig.format.LHV1.dwMaxBitrate > 0 )
+    {
+        lame_set_VBR_max_bitrate_kbps( gfp, lameConfig.format.LHV1.dwMaxBitrate );
+    }
+    // Set bit resovoir option
+    if ( lameConfig.format.LHV1.bNoRes )
+    {
+        lame_set_disable_reservoir( gfp,1 );
+    }
+
+    // check if the VBR tag is required
+    if ( lameConfig.format.LHV1.bWriteVBRHeader ) 
+    {
+        lame_set_bWriteVbrTag( gfp, 1 );
+    }
+    else
+    {
+        lame_set_bWriteVbrTag( gfp, 0 );
+    }
+
+    // Override Quality setting, use HIGHBYTE = NOT LOWBYTE to be backwards compatible
+    if (	( lameConfig.format.LHV1.nQuality & 0xFF ) ==
+        ((~( lameConfig.format.LHV1.nQuality >> 8 )) & 0xFF) )
+    {
+        lame_set_quality( gfp, lameConfig.format.LHV1.nQuality & 0xFF );
+    }
+
+    if ( 0 != ( nInitReturn = lame_init_params( gfp ) ) )
+    {
+        return nInitReturn;
+    }
+
+    //LAME encoding call will accept any number of samples.  
+    if ( 0 == lame_get_version( gfp ) )
+    {
+        // For MPEG-II, only 576 samples per frame per channel
+        *dwSamples= 576 * lame_get_num_channels( gfp );
+    }
+    else
+    {
+        // For MPEG-I, 1152 samples per frame per channel
+        *dwSamples= 1152 * lame_get_num_channels( gfp );
+    }
+
+    // Set the input sample buffer size, so we know what we can expect
+    dwSampleBufferSize = *dwSamples;
+
+    // Set MP3 buffer size, conservative estimate
+    *dwBufferSize=(DWORD)( 1.25 * ( *dwSamples / lame_get_num_channels( gfp ) ) + 7200 );
+
+    // For debugging purposes
+    dump_config( gfp );
+
+    // Everything went OK, thus return SUCCESSFUL
+    return BE_ERR_SUCCESSFUL;
+}
+
+
+
+__declspec(dllexport) BE_ERR	beFlushNoGap(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput)
+{
+    int nOutputSamples = 0;
+
+    lame_global_flags*	gfp = (lame_global_flags*)hbeStream;
+
+    // Init the global flags structure
+    nOutputSamples = lame_encode_flush_nogap( gfp, pOutput, LAME_MAXMP3BUFFER );
+
+    if ( nOutputSamples < 0 )
+    {
+        *pdwOutput = 0;
+        return BE_ERR_BUFFER_TOO_SMALL;
+    }
+    else
+    {
+        *pdwOutput = nOutputSamples;
+    }
+
+    return BE_ERR_SUCCESSFUL;
+}
+
+__declspec(dllexport) BE_ERR	beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput)
+{
+    int nOutputSamples = 0;
+
+    lame_global_flags*	gfp = (lame_global_flags*)hbeStream;
+
+    nOutputSamples = lame_encode_flush( gfp, pOutput, 0 );
+
+    if ( nOutputSamples < 0 )
+    {
+        *pdwOutput = 0;
+        return BE_ERR_BUFFER_TOO_SMALL;
+    }
+    else
+    {
+        *pdwOutput = nOutputSamples;
+    }
+
+    return BE_ERR_SUCCESSFUL;
+}
+
+
+__declspec(dllexport) BE_ERR	beCloseStream(HBE_STREAM hbeStream)
+{
+    lame_global_flags*	gfp = (lame_global_flags*)hbeStream;
+
+    // lame will be close in VbrWriteTag function
+    if ( !lame_get_bWriteVbrTag( gfp ) )
+    {
+        // clean up of allocated memory
+        lame_close( gfp );
+
+        gfp_save = NULL;
+    }
+    else
+    {
+        gfp_save = (lame_global_flags*)hbeStream;
+    }
+
+    // DeInit encoder
+    return BE_ERR_SUCCESSFUL;
+}
+
+
+
+__declspec(dllexport) VOID		beVersion(PBE_VERSION pbeVersion)
+{
+    // DLL Release date
+    char lpszDate[20]	= { '\0', };
+    char lpszTemp[5]	= { '\0', };
+    lame_version_t lv   = { 0, };
+
+
+    // Set DLL interface version
+    pbeVersion->byDLLMajorVersion=MAJORVERSION;
+    pbeVersion->byDLLMinorVersion=MINORVERSION;
+
+    get_lame_version_numerical ( &lv );
+
+    // Set Engine version number (Same as Lame version)
+    pbeVersion->byMajorVersion = (BYTE)lv.major;
+    pbeVersion->byMinorVersion = (BYTE)lv.minor;
+    pbeVersion->byAlphaLevel   = (BYTE)lv.alpha;
+    pbeVersion->byBetaLevel    = (BYTE)lv.beta;
+
+#ifdef MMX_choose_table
+    pbeVersion->byMMXEnabled=1;
+#else
+    pbeVersion->byMMXEnabled=0;
+#endif
+
+    memset( pbeVersion->btReserved, 0, sizeof( pbeVersion->btReserved ) );
+
+    // Get compilation date
+    strcpy(lpszDate,__DATE__);
+
+    // Get the first three character, which is the month
+    strncpy(lpszTemp,lpszDate,3);
+    lpszTemp[3] = '\0';
+    pbeVersion->byMonth=1;
+
+    // Set month
+    if (strcmp(lpszTemp,"Jan")==0)	pbeVersion->byMonth = 1;
+    if (strcmp(lpszTemp,"Feb")==0)	pbeVersion->byMonth = 2;
+    if (strcmp(lpszTemp,"Mar")==0)	pbeVersion->byMonth = 3;
+    if (strcmp(lpszTemp,"Apr")==0)	pbeVersion->byMonth = 4;
+    if (strcmp(lpszTemp,"May")==0)	pbeVersion->byMonth = 5;
+    if (strcmp(lpszTemp,"Jun")==0)	pbeVersion->byMonth = 6;
+    if (strcmp(lpszTemp,"Jul")==0)	pbeVersion->byMonth = 7;
+    if (strcmp(lpszTemp,"Aug")==0)	pbeVersion->byMonth = 8;
+    if (strcmp(lpszTemp,"Sep")==0)	pbeVersion->byMonth = 9;
+    if (strcmp(lpszTemp,"Oct")==0)	pbeVersion->byMonth = 10;
+    if (strcmp(lpszTemp,"Nov")==0)	pbeVersion->byMonth = 11;
+    if (strcmp(lpszTemp,"Dec")==0)	pbeVersion->byMonth = 12;
+
+    // Get day of month string (char [4..5])
+    pbeVersion->byDay = (BYTE) atoi( lpszDate + 4 );
+
+    // Get year of compilation date (char [7..10])
+    pbeVersion->wYear = (WORD) atoi( lpszDate + 7 );
+
+    memset( pbeVersion->zHomepage, 0x00, BE_MAX_HOMEPAGE );
+
+    strcpy( pbeVersion->zHomepage, "http://www.mp3dev.org/" );
+}
+
+__declspec(dllexport) BE_ERR	beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, 
+                                              PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput)
+{
+    // Encode it
+    int dwSamples;
+    int	nOutputSamples = 0;
+    lame_global_flags*	gfp = (lame_global_flags*)hbeStream;
+
+    dwSamples = nSamples / lame_get_num_channels( gfp );
+
+    // old versions of lame_enc.dll required exactly 1152 samples
+    // and worked even if nSamples accidently set to 2304 
+    // simulate this behavoir:
+    if ( 1 == lame_get_num_channels( gfp ) && nSamples == 2304)
+    {
+        dwSamples/= 2;
+    }
+
+
+    if ( 1 == lame_get_num_channels( gfp ) )
+    {
+        nOutputSamples = lame_encode_buffer(gfp,pSamples,pSamples,dwSamples,pOutput,0);
+    }
+    else
+    {
+        nOutputSamples = lame_encode_buffer_interleaved(gfp,pSamples,dwSamples,pOutput,0);
+    }
+
+
+    if ( nOutputSamples < 0 )
+    {
+        *pdwOutput=0;
+        return BE_ERR_BUFFER_TOO_SMALL;
+    }
+    else
+    {
+        *pdwOutput = (DWORD)nOutputSamples;
+    }
+
+    return BE_ERR_SUCCESSFUL;
+}
+
+
+// accept floating point audio samples, scaled to the range of a signed 16-bit
+//  integer (within +/- 32768), in non-interleaved channels  -- DSPguru, jd
+__declspec(dllexport) BE_ERR	beEncodeChunkFloatS16NI(HBE_STREAM hbeStream, DWORD nSamples, 
+                                                        PFLOAT buffer_l, PFLOAT buffer_r, PBYTE pOutput, PDWORD pdwOutput)
+{
+    int nOutputSamples;
+    lame_global_flags*	gfp = (lame_global_flags*)hbeStream;
+
+    nOutputSamples = lame_encode_buffer_float(gfp,buffer_l,buffer_r,nSamples,pOutput,0);
+
+    if ( nOutputSamples >= 0 )
+    {
+        *pdwOutput = (DWORD) nOutputSamples;
+    }
+    else
+    {
+        *pdwOutput=0;
+        return BE_ERR_BUFFER_TOO_SMALL;
+    }
+
+    return BE_ERR_SUCCESSFUL;
+}
+
+static int
+maybeSyncWord(FILE* fpStream)
+{
+    unsigned char mp3_frame_header[4];
+    size_t nbytes = fread(mp3_frame_header, 1, sizeof(mp3_frame_header), fpStream);
+    if ( nbytes != sizeof(mp3_frame_header) ) {
+        return -1;
+    }
+    if ( mp3_frame_header[0] != 0xffu ) {
+        return -1; /* doesn't look like a sync word */
+    }
+    if ( (mp3_frame_header[1] & 0xE0u) != 0xE0u ) {
+        return -1; /* doesn't look like a sync word */
+    }
+    return 0;
+}
+
+static int
+skipId3v2(FILE * fpStream, size_t lametag_frame_size)
+{
+    size_t  nbytes;
+    size_t  id3v2TagSize = 0;
+    unsigned char id3v2Header[10];
+
+    /* seek to the beginning of the stream */
+    if (fseek(fpStream, 0, SEEK_SET) != 0) {
+        return -2;  /* not seekable, abort */
+    }
+    /* read 10 bytes in case there's an ID3 version 2 header here */
+    nbytes = fread(id3v2Header, 1, sizeof(id3v2Header), fpStream);
+    if (nbytes != sizeof(id3v2Header)) {
+        return -3;  /* not readable, maybe opened Write-Only */
+    }
+    /* does the stream begin with the ID3 version 2 file identifier? */
+    if (!strncmp((char *) id3v2Header, "ID3", 3)) {
+        /* the tag size (minus the 10-byte header) is encoded into four
+        * bytes where the most significant bit is clear in each byte
+        */
+        id3v2TagSize = (((id3v2Header[6] & 0x7f) << 21)
+            | ((id3v2Header[7] & 0x7f) << 14)
+            | ((id3v2Header[8] & 0x7f) << 7)
+            | (id3v2Header[9] & 0x7f))
+            + sizeof id3v2Header;
+    }
+    /* Seek to the beginning of the audio stream */
+    if ( fseek(fpStream, id3v2TagSize, SEEK_SET) != 0 ) {
+        return -2;
+    }
+    if ( maybeSyncWord(fpStream) != 0) {
+        return -1;
+    }
+    if ( fseek(fpStream, id3v2TagSize+lametag_frame_size, SEEK_SET) != 0 ) {
+        return -2;
+    }
+    if ( maybeSyncWord(fpStream) != 0) {
+        return -1;
+    }
+    /* OK, it seems we found our LAME-Tag/Xing frame again */
+    /* Seek to the beginning of the audio stream */
+    if ( fseek(fpStream, id3v2TagSize, SEEK_SET) != 0 ) {
+        return -2;
+    }
+    return 0;
+}
+
+static BE_ERR
+updateLameTagFrame(lame_global_flags* gfp, FILE* fpStream)
+{
+    size_t n = lame_get_lametag_frame( gfp, 0, 0 ); /* ask for bufer size */
+
+    if ( n > 0 )
+    {
+        unsigned char* buffer = 0;
+        size_t m = 1;
+
+        if ( 0 != skipId3v2(fpStream, n) ) 
+        {
+            DispErr( "Error updating LAME-tag frame:\n\n"
+                     "can't locate old frame\n" );
+            return BE_ERR_INVALID_FORMAT_PARAMETERS;
+        }
+
+        buffer = (unsigned char*)malloc( n );
+
+        if ( buffer == 0 ) 
+        {
+            DispErr( "Error updating LAME-tag frame:\n\n"
+                     "can't allocate frame buffer\n" );
+            return BE_ERR_INVALID_FORMAT_PARAMETERS;
+        }
+
+        /* Put it all to disk again */
+        n = lame_get_lametag_frame( gfp, buffer, n );
+        if ( n > 0 ) 
+        {
+            m = fwrite( buffer, n, 1, fpStream );        
+        }
+        free( buffer );
+
+        if ( m != 1 ) 
+        {
+            DispErr( "Error updating LAME-tag frame:\n\n"
+                     "couldn't write frame into file\n" );
+            return BE_ERR_INVALID_FORMAT_PARAMETERS;
+        }
+    }
+    return BE_ERR_SUCCESSFUL;
+}
+
+__declspec(dllexport) BE_ERR beWriteInfoTag( HBE_STREAM hbeStream,
+                                            LPCSTR lpszFileName )
+{
+    FILE* fpStream	= NULL;
+    BE_ERR beResult	= BE_ERR_SUCCESSFUL;
+
+    lame_global_flags*	gfp = (lame_global_flags*)hbeStream;
+
+    if ( NULL != gfp )
+    {
+        // Do we have to write the VBR tag?
+        if ( lame_get_bWriteVbrTag( gfp ) )
+        {
+            // Try to open the file
+            fpStream=fopen( lpszFileName, "rb+" );
+
+            // Check file open result
+            if ( NULL == fpStream )
+            {
+                beResult = BE_ERR_INVALID_FORMAT_PARAMETERS;
+                DispErr( "Error updating LAME-tag frame:\n\n"
+                         "can't open file for reading and writing\n" );
+            }
+            else
+            {
+                beResult = updateLameTagFrame( gfp, fpStream );
+
+                // Close the file stream
+                fclose( fpStream );
+            }
+        }
+
+        // clean up of allocated memory
+        lame_close( gfp );
+    }
+    else
+    {
+        beResult = BE_ERR_INVALID_FORMAT_PARAMETERS;
+    }
+
+    // return result
+    return beResult;
+}
+
+// for backwards compatiblity
+__declspec(dllexport) BE_ERR beWriteVBRHeader(LPCSTR lpszFileName)
+{
+    return beWriteInfoTag( (HBE_STREAM)gfp_save, lpszFileName );
+}
+
+
+BOOL APIENTRY DllMain(HANDLE hModule, 
+                      DWORD  ul_reason_for_call, 
+                      LPVOID lpReserved)
+{
+    (void) lpReserved;
+    gs_hModule = (HMODULE) hModule;
+
+    switch( ul_reason_for_call )
+    {
+    case DLL_PROCESS_ATTACH:
+        // Enable debug/logging?
+        gs_bLogFile = GetPrivateProfileIntA("Debug","WriteLogFile",gs_bLogFile,"lame_enc.ini");
+        break;
+    case DLL_THREAD_ATTACH:
+        break;
+    case DLL_THREAD_DETACH:
+        break;
+    case DLL_PROCESS_DETACH:
+        break;
+    }
+    return TRUE;
+}
+
+
+static void dump_config( lame_global_flags* gfp )
+{
+    DebugPrintf("\n\nLame_enc configuration options:\n");
+    DebugPrintf("==========================================================\n");
+
+    DebugPrintf("version                =%d\n",lame_get_version( gfp ) );
+    DebugPrintf("Layer                  =3\n");
+    DebugPrintf("mode                   =");
+    switch ( lame_get_mode( gfp ) )
+    {
+    case STEREO:       DebugPrintf( "Stereo\n" ); break;
+    case JOINT_STEREO: DebugPrintf( "Joint-Stereo\n" ); break;
+    case DUAL_CHANNEL: DebugPrintf( "Forced Stereo\n" ); break;
+    case MONO:         DebugPrintf( "Mono\n" ); break;
+    case NOT_SET:      /* FALLTROUGH */
+    default:           DebugPrintf( "Error (unknown)\n" ); break;
+    }
+
+    DebugPrintf("Input sample rate      =%.1f kHz\n", lame_get_in_samplerate( gfp ) /1000.0 );
+    DebugPrintf("Output sample rate     =%.1f kHz\n", lame_get_out_samplerate( gfp ) /1000.0 );
+
+    DebugPrintf("bitrate                =%d kbps\n", lame_get_brate( gfp ) );
+    DebugPrintf("Quality Setting        =%d\n", lame_get_quality( gfp ) );
+
+    DebugPrintf("Low pass frequency     =%d\n", lame_get_lowpassfreq( gfp ) );
+    DebugPrintf("Low pass width         =%d\n", lame_get_lowpasswidth( gfp ) );
+
+    DebugPrintf("High pass frequency    =%d\n", lame_get_highpassfreq( gfp ) );
+    DebugPrintf("High pass width        =%d\n", lame_get_highpasswidth( gfp ) );
+
+    DebugPrintf("No short blocks        =%d\n", lame_get_no_short_blocks( gfp ) );
+    DebugPrintf("Force short blocks     =%d\n", lame_get_force_short_blocks( gfp ) );
+
+    DebugPrintf("de-emphasis            =%d\n", lame_get_emphasis( gfp ) );
+    DebugPrintf("private flag           =%d\n", lame_get_extension( gfp ) );
+
+    DebugPrintf("copyright flag         =%d\n", lame_get_copyright( gfp ) );
+    DebugPrintf("original flag          =%d\n",	lame_get_original( gfp ) );
+    DebugPrintf("CRC                    =%s\n", lame_get_error_protection( gfp ) ? "on" : "off" );
+    DebugPrintf("Fast mode              =%s\n", ( lame_get_quality( gfp ) )? "enabled" : "disabled" );
+    DebugPrintf("Force mid/side stereo  =%s\n", ( lame_get_force_ms( gfp ) )?"enabled":"disabled" );
+    DebugPrintf("Disable Reservoir      =%d\n", lame_get_disable_reservoir( gfp ) );
+    DebugPrintf("Allow diff-short       =%d\n", lame_get_allow_diff_short( gfp ) );
+    DebugPrintf("Interchannel masking   =%f\n", lame_get_interChRatio( gfp ) );
+    DebugPrintf("Strict ISO Encoding    =%s\n", ( lame_get_strict_ISO( gfp ) ) ?"Yes":"No");
+    DebugPrintf("Scale                  =%5.2f\n", lame_get_scale( gfp ) );
+
+    DebugPrintf("VBR                    =%s, VBR_q =%d, VBR method =",
+        ( lame_get_VBR( gfp ) !=vbr_off ) ? "enabled": "disabled",
+        lame_get_VBR_q( gfp ) );
+
+    switch ( lame_get_VBR( gfp ) )
+    {
+    case vbr_off:	DebugPrintf( "vbr_off\n" );	break;
+    case vbr_mt :	DebugPrintf( "vbr_mt \n" );	break;
+    case vbr_rh :	DebugPrintf( "vbr_rh \n" );	break;
+    case vbr_mtrh:	DebugPrintf( "vbr_mtrh \n" );	break;
+    case vbr_abr: 
+        DebugPrintf( "vbr_abr (average bitrate %d kbps)\n", lame_get_VBR_mean_bitrate_kbps( gfp ) );
+        break;
+    default:
+        DebugPrintf("error, unknown VBR setting\n");
+        break;
+    }
+
+    DebugPrintf("Vbr Min bitrate        =%d kbps\n", lame_get_VBR_min_bitrate_kbps( gfp ) );
+    DebugPrintf("Vbr Max bitrate        =%d kbps\n", lame_get_VBR_max_bitrate_kbps( gfp ) );
+
+    DebugPrintf("Write VBR Header       =%s\n", ( lame_get_bWriteVbrTag( gfp ) ) ?"Yes":"No");
+    DebugPrintf("VBR Hard min           =%d\n", lame_get_VBR_hard_min( gfp ) );
+
+    DebugPrintf("ATH Only               =%d\n", lame_get_ATHonly( gfp ) );
+    DebugPrintf("ATH short              =%d\n", lame_get_ATHshort( gfp ) );
+    DebugPrintf("ATH no                 =%d\n", lame_get_noATH( gfp ) );
+    DebugPrintf("ATH type               =%d\n", lame_get_ATHtype( gfp ) );
+    DebugPrintf("ATH lower              =%f\n", lame_get_ATHlower( gfp ) );
+    DebugPrintf("ATH aa                 =%d\n", lame_get_athaa_type( gfp ) );
+    //DebugPrintf("ATH aa  loudapprox     =%d\n", lame_get_athaa_loudapprox( gfp ) );
+    DebugPrintf("ATH aa  sensitivity    =%f\n", lame_get_athaa_sensitivity( gfp ) );
+
+    DebugPrintf("Experimental nspsytune =%d\n", lame_get_exp_nspsytune( gfp ) );
+    DebugPrintf("Experimental X         =%d\n", lame_get_experimentalX( gfp ) );
+    DebugPrintf("Experimental Y         =%d\n", lame_get_experimentalY( gfp ) );
+    DebugPrintf("Experimental Z         =%d\n", lame_get_experimentalZ( gfp ) );
+}
+
+
+static void DispErr(char const* strErr)
+{
+    MessageBoxA(NULL,strErr,"LAME_ENC.DLL",MB_OK|MB_ICONHAND);
+}
+
+#ifdef	__cplusplus
+}
+#endif

+ 36 - 0
Dll/BladeMP3EncDLL.def

@@ -0,0 +1,36 @@
+LIBRARY  lame_enc.DLL
+EXPORTS
+
+beInitStream			@1
+beEncodeChunk			@2
+beDeinitStream			@3
+beCloseStream			@4
+beVersion				@5
+beWriteVBRHeader		@6
+beEncodeChunkFloatS16NI	@7
+beFlushNoGap			@8
+beWriteInfoTag			@9
+
+lame_init						@100
+lame_close						@101
+lame_init_params				@102
+lame_encode_buffer_interleaved	@110
+lame_encode_flush				@120
+lame_mp3_tags_fid				@130
+
+
+lame_set_num_samples			@1000
+lame_get_num_samples			@1001
+lame_set_in_samplerate			@1002
+lame_get_in_samplerate			@1003
+lame_set_num_channels			@1004
+lame_get_num_channels			@1005
+lame_set_scale					@1006
+lame_get_scale					@1007
+lame_set_scale_left				@1008
+lame_get_scale_left				@1009
+lame_set_scale_right			@1010
+lame_get_scale_right			@1011
+lame_set_out_samplerate			@1012
+lame_get_out_samplerate			@1013
+

+ 280 - 0
Dll/BladeMP3EncDLL.h

@@ -0,0 +1,280 @@
+/*
+ * Blade Type of DLL Interface for Lame encoder
+ *
+ * Copyright (c) 1999-2002 A.L. Faber
+ * Based on bladedll.h version 1.0 written by Jukka Poikolainen
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA  02111-1307, USA.
+ */
+
+#ifndef ___BLADEDLL_H_INCLUDED___
+#define ___BLADEDLL_H_INCLUDED___
+
+#ifdef __GNUC__
+#define ATTRIBUTE_PACKED	__attribute__((packed))
+#else
+#define ATTRIBUTE_PACKED
+#pragma pack(push)
+#pragma pack(1)
+#endif
+
+#ifdef	__cplusplus
+extern "C" {
+#endif
+
+/* encoding formats */
+
+#define		BE_CONFIG_MP3			0										
+#define		BE_CONFIG_LAME			256		
+
+/* type definitions */
+
+typedef		void*			HBE_STREAM;
+typedef		HBE_STREAM				*PHBE_STREAM;
+typedef		unsigned long			BE_ERR;
+
+/* error codes */
+
+#define		BE_ERR_SUCCESSFUL					0x00000000
+#define		BE_ERR_INVALID_FORMAT				0x00000001
+#define		BE_ERR_INVALID_FORMAT_PARAMETERS	0x00000002
+#define		BE_ERR_NO_MORE_HANDLES				0x00000003
+#define		BE_ERR_INVALID_HANDLE				0x00000004
+#define		BE_ERR_BUFFER_TOO_SMALL				0x00000005
+
+/* other constants */
+
+#define		BE_MAX_HOMEPAGE			128
+
+/* format specific variables */
+
+#define		BE_MP3_MODE_STEREO		0
+#define		BE_MP3_MODE_JSTEREO		1
+#define		BE_MP3_MODE_DUALCHANNEL	2
+#define		BE_MP3_MODE_MONO		3
+
+
+
+#define		MPEG1	1
+#define		MPEG2	0
+
+#ifdef _BLADEDLL
+#undef FLOAT
+	#include <Windows.h>
+#endif
+
+#define CURRENT_STRUCT_VERSION 1
+#define CURRENT_STRUCT_SIZE sizeof(BE_CONFIG)	// is currently 331 bytes
+
+
+typedef enum
+{
+	VBR_METHOD_NONE			= -1,
+	VBR_METHOD_DEFAULT		=  0,
+	VBR_METHOD_OLD			=  1,
+	VBR_METHOD_NEW			=  2,
+	VBR_METHOD_MTRH			=  3,
+	VBR_METHOD_ABR			=  4
+} VBRMETHOD;
+
+typedef enum 
+{
+	LQP_NOPRESET			=-1,
+
+	// QUALITY PRESETS
+	LQP_NORMAL_QUALITY		= 0,
+	LQP_LOW_QUALITY			= 1,
+	LQP_HIGH_QUALITY		= 2,
+	LQP_VOICE_QUALITY		= 3,
+	LQP_R3MIX				= 4,
+	LQP_VERYHIGH_QUALITY	= 5,
+	LQP_STANDARD			= 6,
+	LQP_FAST_STANDARD		= 7,
+	LQP_EXTREME				= 8,
+	LQP_FAST_EXTREME		= 9,
+	LQP_INSANE				= 10,
+	LQP_ABR					= 11,
+	LQP_CBR					= 12,
+	LQP_MEDIUM				= 13,
+	LQP_FAST_MEDIUM			= 14,
+
+	// NEW PRESET VALUES
+	LQP_PHONE	=1000,
+	LQP_SW		=2000,
+	LQP_AM		=3000,
+	LQP_FM		=4000,
+	LQP_VOICE	=5000,
+	LQP_RADIO	=6000,
+	LQP_TAPE	=7000,
+	LQP_HIFI	=8000,
+	LQP_CD		=9000,
+	LQP_STUDIO	=10000
+
+} LAME_QUALITY_PRESET;
+
+
+
+typedef struct	{
+	DWORD	dwConfig;			// BE_CONFIG_XXXXX
+								// Currently only BE_CONFIG_MP3 is supported
+	union	{
+
+		struct	{
+
+			DWORD	dwSampleRate;		// 48000, 44100 and 32000 allowed
+			BYTE	byMode;			// BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO
+			WORD	wBitrate;		// 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320 allowed
+			BOOL	bPrivate;		
+			BOOL	bCRC;
+			BOOL	bCopyright;
+			BOOL	bOriginal;
+
+			} mp3;					// BE_CONFIG_MP3
+
+			struct
+			{
+			// STRUCTURE INFORMATION
+			DWORD			dwStructVersion;	
+			DWORD			dwStructSize;
+
+			// BASIC ENCODER SETTINGS
+			DWORD			dwSampleRate;		// SAMPLERATE OF INPUT FILE
+			DWORD			dwReSampleRate;		// DOWNSAMPLERATE, 0=ENCODER DECIDES  
+			LONG			nMode;				// BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO
+			DWORD			dwBitrate;			// CBR bitrate, VBR min bitrate
+			DWORD			dwMaxBitrate;		// CBR ignored, VBR Max bitrate
+			LONG			nPreset;			// Quality preset, use one of the settings of the LAME_QUALITY_PRESET enum
+			DWORD			dwMpegVersion;		// FUTURE USE, MPEG-1 OR MPEG-2
+			DWORD			dwPsyModel;			// FUTURE USE, SET TO 0
+			DWORD			dwEmphasis;			// FUTURE USE, SET TO 0
+
+			// BIT STREAM SETTINGS
+			BOOL			bPrivate;			// Set Private Bit (TRUE/FALSE)
+			BOOL			bCRC;				// Insert CRC (TRUE/FALSE)
+			BOOL			bCopyright;			// Set Copyright Bit (TRUE/FALSE)
+			BOOL			bOriginal;			// Set Original Bit (TRUE/FALSE)
+			
+			// VBR STUFF
+			BOOL			bWriteVBRHeader;	// WRITE XING VBR HEADER (TRUE/FALSE)
+			BOOL			bEnableVBR;			// USE VBR ENCODING (TRUE/FALSE)
+			INT				nVBRQuality;		// VBR QUALITY 0..9
+			DWORD			dwVbrAbr_bps;		// Use ABR in stead of nVBRQuality
+			VBRMETHOD		nVbrMethod;
+			BOOL			bNoRes;				// Disable Bit resorvoir (TRUE/FALSE)
+
+			// MISC SETTINGS
+			BOOL			bStrictIso;			// Use strict ISO encoding rules (TRUE/FALSE)
+			WORD			nQuality;			// Quality Setting, HIGH BYTE should be NOT LOW byte, otherwhise quality=5
+
+			// FUTURE USE, SET TO 0, align strucutre to 331 bytes
+			BYTE			btReserved[255-4*sizeof(DWORD) - sizeof( WORD )];
+
+			} LHV1;					// LAME header version 1
+
+		struct	{
+
+			DWORD	dwSampleRate;
+			BYTE	byMode;
+			WORD	wBitrate;
+			BYTE	byEncodingMethod;
+
+		} aac;
+
+	} format;
+		
+} BE_CONFIG, *PBE_CONFIG ATTRIBUTE_PACKED;
+
+
+typedef struct	{
+
+	// BladeEnc DLL Version number
+
+	BYTE	byDLLMajorVersion;
+	BYTE	byDLLMinorVersion;
+
+	// BladeEnc Engine Version Number
+
+	BYTE	byMajorVersion;
+	BYTE	byMinorVersion;
+
+	// DLL Release date
+
+	BYTE	byDay;
+	BYTE	byMonth;
+	WORD	wYear;
+
+	// BladeEnc	Homepage URL
+
+	CHAR	zHomepage[BE_MAX_HOMEPAGE + 1];	
+
+	BYTE	byAlphaLevel;
+	BYTE	byBetaLevel;
+	BYTE	byMMXEnabled;
+
+	BYTE	btReserved[125];
+
+
+} BE_VERSION, *PBE_VERSION ATTRIBUTE_PACKED;
+
+#ifndef _BLADEDLL
+
+typedef BE_ERR	(*BEINITSTREAM)			(PBE_CONFIG, PDWORD, PDWORD, PHBE_STREAM);
+typedef BE_ERR	(*BEENCODECHUNK)		(HBE_STREAM, DWORD, PSHORT, PBYTE, PDWORD);
+
+// added for floating point audio  -- DSPguru, jd
+typedef BE_ERR	(*BEENCODECHUNKFLOATS16NI)	(HBE_STREAM, DWORD, PFLOAT, PFLOAT, PBYTE, PDWORD);
+typedef BE_ERR	(*BEDEINITSTREAM)			(HBE_STREAM, PBYTE, PDWORD);
+typedef BE_ERR	(*BECLOSESTREAM)			(HBE_STREAM);
+typedef VOID	(*BEVERSION)				(PBE_VERSION);
+typedef BE_ERR	(*BEWRITEVBRHEADER)			(LPCSTR);
+typedef BE_ERR	(*BEWRITEINFOTAG)			(HBE_STREAM, LPCSTR );
+
+#define	TEXT_BEINITSTREAM				"beInitStream"
+#define	TEXT_BEENCODECHUNK				"beEncodeChunk"
+#define	TEXT_BEENCODECHUNKFLOATS16NI	"beEncodeChunkFloatS16NI"
+#define	TEXT_BEDEINITSTREAM				"beDeinitStream"
+#define	TEXT_BECLOSESTREAM				"beCloseStream"
+#define	TEXT_BEVERSION					"beVersion"
+#define	TEXT_BEWRITEVBRHEADER			"beWriteVBRHeader"
+#define	TEXT_BEFLUSHNOGAP				"beFlushNoGap"
+#define	TEXT_BEWRITEINFOTAG				"beWriteInfoTag"
+
+
+#else
+
+__declspec(dllexport) BE_ERR	beInitStream(PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream);
+__declspec(dllexport) BE_ERR	beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput);
+
+// added for floating point audio  -- DSPguru, jd
+__declspec(dllexport) BE_ERR	beEncodeChunkFloatS16NI(HBE_STREAM hbeStream, DWORD nSamples, PFLOAT buffer_l, PFLOAT buffer_r, PBYTE pOutput, PDWORD pdwOutput);
+__declspec(dllexport) BE_ERR	beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput);
+__declspec(dllexport) BE_ERR	beCloseStream(HBE_STREAM hbeStream);
+__declspec(dllexport) VOID	beVersion(PBE_VERSION pbeVersion);
+__declspec(dllexport) BE_ERR	beWriteVBRHeader(LPCSTR lpszFileName);
+__declspec(dllexport) BE_ERR	beFlushNoGap(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput);
+__declspec(dllexport) BE_ERR	beWriteInfoTag( HBE_STREAM hbeStream, LPCSTR lpszFileName );
+
+#endif
+
+#ifdef	__cplusplus
+}
+#endif
+
+#ifndef __GNUC__
+#pragma pack(pop)
+#endif
+
+#endif

+ 292 - 0
Dll/Example.cpp

@@ -0,0 +1,292 @@
+/*
+ *	LAME DLL Sample Code.
+ *
+ *	Copyright (c) 2000 A.L. Faber
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA  02111-1307, USA.
+ */
+
+
+#include <windows.h>
+#include <stdio.h>
+#include <io.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include "BladeMP3EncDLL.h"
+
+BEINITSTREAM		beInitStream=NULL;
+BEENCODECHUNK		beEncodeChunk=NULL;
+BEDEINITSTREAM		beDeinitStream=NULL;
+BECLOSESTREAM		beCloseStream=NULL;
+BEVERSION		beVersion=NULL;
+BEWRITEVBRHEADER	beWriteVBRHeader=NULL;
+BEWRITEINFOTAG		beWriteInfoTag=NULL;
+
+
+// Main program
+int main(int argc, char *argv[])
+{
+	HINSTANCE	hDLL			=NULL;
+	FILE*		pFileIn			=NULL;
+	FILE*		pFileOut		=NULL;
+	BE_VERSION	Version			={0,};
+	BE_CONFIG	beConfig		={0,};
+
+	CHAR		strFileIn[255]	={'0',};
+	CHAR		strFileOut[255]	={'0',};
+
+	DWORD		dwSamples		=0;
+	DWORD		dwMP3Buffer		=0;
+	HBE_STREAM	hbeStream		=0;
+	BE_ERR		err				=0;
+
+	PBYTE		pMP3Buffer		=NULL;
+	PSHORT		pWAVBuffer		=NULL;
+
+	// check number of arguments
+	if(argc != 2)
+	{
+		fprintf(stderr,"Usage: %s <filename.wav>\n", argv[0]);
+		fprintf(stderr,"Descr: Short demo to show how to use the lame_enc.dll library file\n");
+		fprintf(stderr,"Note : WAV file is assumed to to have the following parameters\n");
+		fprintf(stderr,"     : 44100 Hz, stereo, 16 Bits per sample\n");
+		return -1;
+	}
+
+	// Setup the file names
+	strcpy(strFileIn ,argv[1]);
+	strcpy(strFileOut,argv[1]);
+
+	// Add mp3 extention
+	strcat(strFileOut,".mp3");
+
+	// Load lame_enc.dll library (Make sure though that you set the
+	// project/settings/debug Working Directory correctly, otherwhise the DLL can't be loaded
+
+	hDLL = LoadLibrary("lame_enc.dll");
+
+  	if ( NULL == hDLL )
+  	{
+  		hDLL = LoadLibrary("..\\..\\output\\lame_enc.dll");
+  	}
+
+	if( NULL == hDLL )
+	{
+		fprintf(stderr,"Error loading lame_enc.DLL");
+		return -1;
+	}
+
+	// Get Interface functions from the DLL
+	beInitStream	= (BEINITSTREAM) GetProcAddress(hDLL, TEXT_BEINITSTREAM);
+	beEncodeChunk	= (BEENCODECHUNK) GetProcAddress(hDLL, TEXT_BEENCODECHUNK);
+	beDeinitStream	= (BEDEINITSTREAM) GetProcAddress(hDLL, TEXT_BEDEINITSTREAM);
+	beCloseStream	= (BECLOSESTREAM) GetProcAddress(hDLL, TEXT_BECLOSESTREAM);
+	beVersion	= (BEVERSION) GetProcAddress(hDLL, TEXT_BEVERSION);
+	beWriteVBRHeader= (BEWRITEVBRHEADER) GetProcAddress(hDLL,TEXT_BEWRITEVBRHEADER);
+	beWriteInfoTag  = (BEWRITEINFOTAG) GetProcAddress(hDLL,TEXT_BEWRITEINFOTAG);
+
+	// Check if all interfaces are present
+	if(!beInitStream || !beEncodeChunk || !beDeinitStream || !beCloseStream || !beVersion || !beWriteVBRHeader)
+	{
+		printf("Unable to get LAME interfaces");
+		return -1;
+	}
+
+	// Get the version number
+	beVersion( &Version );
+
+	printf(
+			"lame_enc.dll version %u.%02u (%u/%u/%u)\n"
+			"lame_enc Engine %u.%02u\n"
+			"lame_enc homepage at %s\n\n",
+			Version.byDLLMajorVersion, Version.byDLLMinorVersion,
+			Version.byDay, Version.byMonth, Version.wYear,
+			Version.byMajorVersion, Version.byMinorVersion,
+			Version.zHomepage);
+
+	// Try to open the WAV file, be sure to open it as a binary file!
+	pFileIn = fopen( strFileIn, "rb" );
+
+	// Check file open result
+	if(pFileIn == NULL)
+	{
+		fprintf(stderr,"Error opening %s", argv[1]);
+		return -1;
+	}
+
+	// Open MP3 file
+	pFileOut= fopen(strFileOut,"wb+");
+
+	// Check file open result
+	if(pFileOut == NULL)
+	{
+		fprintf(stderr,"Error creating file %s", strFileOut);
+		fclose(pFileIn);
+		return -1;
+	}
+
+	memset(&beConfig,0,sizeof(beConfig));					// clear all fields
+
+	// use the LAME config structure
+	beConfig.dwConfig = BE_CONFIG_LAME;
+
+	// this are the default settings for testcase.wav
+	beConfig.format.LHV1.dwStructVersion	= 1;
+	beConfig.format.LHV1.dwStructSize		= sizeof(beConfig);
+	beConfig.format.LHV1.dwSampleRate		= 44100;				// INPUT FREQUENCY
+	beConfig.format.LHV1.dwReSampleRate		= 0;					// DON"T RESAMPLE
+	beConfig.format.LHV1.nMode				= BE_MP3_MODE_JSTEREO;	// OUTPUT IN STREO
+	beConfig.format.LHV1.dwBitrate			= 128;					// MINIMUM BIT RATE
+	beConfig.format.LHV1.nPreset			= LQP_R3MIX;		// QUALITY PRESET SETTING
+	beConfig.format.LHV1.dwMpegVersion		= MPEG1;				// MPEG VERSION (I or II)
+	beConfig.format.LHV1.dwPsyModel			= 0;					// USE DEFAULT PSYCHOACOUSTIC MODEL
+	beConfig.format.LHV1.dwEmphasis			= 0;					// NO EMPHASIS TURNED ON
+	beConfig.format.LHV1.bOriginal			= TRUE;					// SET ORIGINAL FLAG
+	beConfig.format.LHV1.bWriteVBRHeader	= TRUE;					// Write INFO tag
+
+//	beConfig.format.LHV1.dwMaxBitrate		= 320;					// MAXIMUM BIT RATE
+//	beConfig.format.LHV1.bCRC				= TRUE;					// INSERT CRC
+//	beConfig.format.LHV1.bCopyright			= TRUE;					// SET COPYRIGHT FLAG
+//	beConfig.format.LHV1.bPrivate			= TRUE;					// SET PRIVATE FLAG
+//	beConfig.format.LHV1.bWriteVBRHeader	= TRUE;					// YES, WRITE THE XING VBR HEADER
+//	beConfig.format.LHV1.bEnableVBR			= TRUE;					// USE VBR
+//	beConfig.format.LHV1.nVBRQuality		= 5;					// SET VBR QUALITY
+	beConfig.format.LHV1.bNoRes				= TRUE;					// No Bit resorvoir
+
+// Preset Test
+//	beConfig.format.LHV1.nPreset			= LQP_PHONE;
+
+	// Init the MP3 Stream
+	err = beInitStream(&beConfig, &dwSamples, &dwMP3Buffer, &hbeStream);
+
+	// Check result
+	if(err != BE_ERR_SUCCESSFUL)
+	{
+		fprintf(stderr,"Error opening encoding stream (%lu)", err);
+		fclose(pFileIn);
+		fclose(pFileOut);
+		return -1;
+	}
+
+
+	// Allocate MP3 buffer
+	pMP3Buffer = new BYTE[dwMP3Buffer];
+
+	// Allocate WAV buffer
+	pWAVBuffer = new SHORT[dwSamples];
+
+	// Check if Buffer are allocated properly
+	if(!pMP3Buffer || !pWAVBuffer)
+	{
+		printf("Out of memory");
+		fclose(pFileIn);
+		fclose(pFileOut);
+		return -1;
+	}
+
+	DWORD dwRead=0;
+	DWORD dwWrite=0;
+	DWORD dwDone=0;
+	DWORD dwFileSize=0;
+
+	// Seek to end of file
+	fseek(pFileIn,0,SEEK_END);
+
+	// Get the file size
+	dwFileSize=ftell(pFileIn);
+
+	// Seek back to start of WAV file,
+	// but skip the first 44 bytes, since that's the WAV header
+	fseek(pFileIn,44,SEEK_SET);
+
+
+	// Convert All PCM samples
+	while ( (dwRead=fread(pWAVBuffer,sizeof(SHORT),dwSamples,pFileIn)) >0 )
+	{
+		// Encode samples
+		err = beEncodeChunk(hbeStream, dwRead, pWAVBuffer, pMP3Buffer, &dwWrite);
+
+		// Check result
+		if(err != BE_ERR_SUCCESSFUL)
+		{
+			beCloseStream(hbeStream);
+			fprintf(stderr,"beEncodeChunk() failed (%lu)", err);
+			return -1;
+		}
+
+		// write dwWrite bytes that are returned in tehe pMP3Buffer to disk
+		if(fwrite(pMP3Buffer,1,dwWrite,pFileOut) != dwWrite)
+		{
+			fprintf(stderr,"Output file write error");
+			return -1;
+		}
+
+		dwDone += dwRead*sizeof(SHORT);
+
+		printf("Done: %0.2f%%     \r", 100 * (float)dwDone/(float)(dwFileSize));
+	}
+
+	// Deinit the stream
+	err = beDeinitStream(hbeStream, pMP3Buffer, &dwWrite);
+
+	// Check result
+	if(err != BE_ERR_SUCCESSFUL)
+	{
+
+		beCloseStream(hbeStream);
+		fprintf(stderr,"beExitStream failed (%lu)", err);
+		return -1;
+	}
+
+	// Are there any bytes returned from the DeInit call?
+	// If so, write them to disk
+	if( dwWrite )
+	{
+		if( fwrite( pMP3Buffer, 1, dwWrite, pFileOut ) != dwWrite )
+		{
+			fprintf(stderr,"Output file write error");
+			return -1;
+		}
+	}
+
+	// close the MP3 Stream
+	beCloseStream( hbeStream );
+
+	// Delete WAV buffer
+	delete [] pWAVBuffer;
+
+	// Delete MP3 Buffer
+	delete [] pMP3Buffer;
+
+	// Close input file
+	fclose( pFileIn );
+
+	// Close output file
+	fclose( pFileOut );
+
+	if ( beWriteInfoTag )
+	{
+		// Write the INFO Tag
+		beWriteInfoTag( hbeStream, strFileOut );
+	}
+	else
+	{
+		beWriteVBRHeader( strFileOut );
+	}
+
+	// Were done, return OK result
+	return 0;
+}

+ 742 - 0
Dll/LameDLLInterface.htm

@@ -0,0 +1,742 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<title>Lame-</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+
+<p align="center">&nbsp; </p>
+
+<p align="center"><font size="7">Lame-enc DLL</font> <br>
+<font size="5">Interface version 1.32</font> (and above)<br>
+(Lame engine version: 3.93 or higher) <br>
+<font size="6">Programmers Manual</font></p>
+
+<p align="center"><i>The lame_enc.dll and this manual is
+copyright by Albert L Faber<br>
+Originally the the DLL interface is modeled after the BladeEnc
+DLL interface<br>
+which is copyrighted by Tord Jansson and Jukka Poikolainen<br>
+This document and the DLL interface may be distributed freely</i>
+<br>
+<i>as long as modifications are released under the LGPL license.</i>
+</p>
+
+<p align="center">&nbsp; </p>
+
+<p align="center"><b>Homepage</b>: <a
+href="http://www.cdex.n3.net">http://www.cdex.n3.net</a><br>
+<b>E-mail:</b> mailto: <a
+href="mailto:afaber@users.sourceforge.net">afaber@users.sourceforge.net</a>
+</p>
+
+<p><br>
+<br>
+<br>
+<br>
+</p>
+
+<p><font size="5">Distribution</font> </p>
+
+<p>People and companies&nbsp; who wants to distribute
+lame_enc.dll with their commercial products are free to do so as
+far as I'm concerned (LGPL license), but should be aware that
+lame_enc.dll might infringe certain MP3 related software patents
+held by Fraunhofer IIS in certain countries. </p>
+
+<p><br>
+&nbsp; </p>
+
+<p><font size="5">Disclaimer</font> </p>
+
+<p>lame_enc.dll and this manual is distributed 'as is' with no
+warranty of any kind. The Author is not to be held responsible
+for the result of any use or misuse of this product. <br>
+&nbsp; <br>
+&nbsp; </p>
+
+<p><font size="5">Current Bugs and Limitations</font> </p>
+
+<p>Although the interface is designed to be able to handle
+multiple parallel streams it can't be done yet due to limitations
+in the engine, only one stream is allowed. <br>
+&nbsp; </p>
+
+<p><font size="5">Future Compatibility</font> </p>
+
+<p>This interface should be compatible with all future versions
+of lame_enc.DLL without any need to recompile your programs. You
+should therefore <b>not</b> check the version number upon start
+and prevent users from running your program with a later version
+of lame_enc.DLL. <br>
+&nbsp; </p>
+
+<hr>
+
+<p><font size="5">How to use the DLL</font> </p>
+
+<p>1. Fill in a <a href="#The BE_CONFIG Structure">BE_CONFIG </a>structure
+and send it to <a href="#beInitStream()">beInitStream()</a>. Make
+sure that BE_ERR_SUCCESSFUL is returned. </p>
+
+<p>2. Reserve at least the amount of memory returned in
+dwBufferSize as your output buffer. </p>
+
+<p>3. Call <a href="#beEncodeChunk()">beEncodeChunk()</a> until
+you've encoded everything you want. </p>
+
+<p>4. Call <a href="#beDeinitStream()">beDeinitStream()</a> to
+make sure that all encoded data is flushed out before closing the
+stream. </p>
+
+<p>5. Close the stream using <a href="#beCloseStream()">beCloseStream()
+</a></p>
+
+<p>6. Finally, call the <a href="#beWriteVBRHeader()">beWriteVBRHeader()</a>
+functions, to insert the INFO tag MP3 Header. This is an
+extension of the Xing VBR tag which is also used for CBR
+encodings. This call can only be omitted if the INFO tag was
+explicilty disabled in the BE_CONFIG Structure.</p>
+
+<p>A handy feature is the available <a
+href="#Lame_enc.dll debug option">Lame_enc.dll debug option</a>,
+which will dump the important lame internal settings to a text
+file.<br>
+&nbsp; </p>
+
+<p>&nbsp;</p>
+
+<p><font size="5">Return Values</font> </p>
+
+<p>See the header-file for a complete list of function return
+values. All functions should return BE_ERR_SUCCESSFUL unless
+something went wrong. <br>
+&nbsp; </p>
+
+<hr>
+
+<h1><a name="Type definitions"><font size="5">Type definitions</font></a></h1>
+
+<p>The DLL is by default compiled with the MS Visual C/C++
+compiler, which has the following type definitions:</p>
+
+<table border="0">
+    <tr>
+        <td>Type </td>
+        <td>Description</td>
+    </tr>
+    <tr>
+        <td>CHAR</td>
+        <td>signed char (8 bits)</td>
+    </tr>
+    <tr>
+        <td>BYTE</td>
+        <td>unsigned char (8 bits)</td>
+    </tr>
+    <tr>
+        <td>SHORT</td>
+        <td>signed short (16 bits)</td>
+    </tr>
+    <tr>
+        <td>WORD</td>
+        <td>unsigned short (16 bits)</td>
+    </tr>
+    <tr>
+        <td>INT</td>
+        <td>signed long (32 bits)</td>
+    </tr>
+    <tr>
+        <td>LONG</td>
+        <td>signed long (32 bits)</td>
+    </tr>
+    <tr>
+        <td>BOOL</td>
+        <td>signed long (32 bits) (YES, 32 bits for a one bit
+        value)<br>
+        TRUE = 0<br>
+        FALSE=-1</td>
+    </tr>
+    <tr>
+        <td>DWORD</td>
+        <td>unsigned long (32 bits)</td>
+    </tr>
+    <tr>
+        <td>FLOAT</td>
+        <td>floating point (32 bits)</td>
+    </tr>
+    <tr>
+        <td>DOUBLE</td>
+        <td>float point (64 bits)</td>
+    </tr>
+    <tr>
+        <td>LPCSTR</td>
+        <td>const char* (32 bits pointer to zero terminated
+        character string)</td>
+    </tr>
+</table>
+
+<p>Within the lame_enc.dll All the structure elements are one
+byte alligned (due to backwards compatibility with BladEnc.DLL!</p>
+
+<p>&nbsp;</p>
+
+<hr>
+
+<h1><a name="The BE_CONFIG Structure"><font size="5">The
+BE_CONFIG Structure </font></a></h1>
+
+<p><font size="3">Currently there the BE_CONFIG structure has to
+varians, the old MP3 config structure that is truly compatible
+with the old BladeEnc interface, and the new defined LHV1
+structure, which can set far more options in the lame encoder</font></p>
+
+<p>&nbsp;</p>
+
+<h2><font size="5">The MP3 BE_CONFIG - structure (OBSOLETE)</font></h2>
+
+<p>This is the old structure as it was originally defined by the
+BladeEnc.DLL interface. However, I do highly recommend to use the
+new Lame specific config structure, since it gives you more
+control over the Lame encoder settings.</p>
+
+<p>These are the members of the BE_CONFIG structure you need to
+fill in before you call beInitStream(): <br>
+&nbsp; </p>
+
+<table border="0">
+    <tr>
+        <td><b>dwConfig</b></td>
+        <td>Specifies what kind of output you want. Since only
+        MP3 currently is supported you must set this to <b>BE_CONFIG_MP3</b></td>
+    </tr>
+    <tr>
+        <td><b>format.mp3.dwSampleRate</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+        <td>Samplerate in Hz for MP3 file. This can be set to
+        either <b>32000</b>, <b>44100</b> or <b>48000</b>.</td>
+    </tr>
+    <tr>
+        <td><b>format.mp3.byMode</b></td>
+        <td>Stereomode for MP3 file. This can be either <b>BE_MP3_MODE_STEREO</b>,
+        <b>BE_MP3_MODE_DUALCHANNEL</b> or <b>BE_MP3_MODE_MONO.</b></td>
+    </tr>
+    <tr>
+        <td><b>format.mp3.bitrate</b></td>
+        <td>Bitrate (i.e. size) of MP3 file in kBit/s. Allowed
+        bitrates are: <b>32, 40, 48, 56, 64, 80, 96, 112, 128,
+        160, 192, 224, 256</b> and <b>320</b>.</td>
+    </tr>
+    <tr>
+        <td><b>format.mp3.bCopyright</b></td>
+        <td>If this is set to TRUE the Copyright bit in the MP3
+        stream will be set.</td>
+    </tr>
+    <tr>
+        <td><b>format.mp3.bCRC</b></td>
+        <td>Set this to TRUE in order to enable CRC-checksum in
+        the bitstream.</td>
+    </tr>
+    <tr>
+        <td><b>format.mp3.bOriginal</b></td>
+        <td>If this is set to TRUE the Original bit in the MP3
+        stream will be set.</td>
+    </tr>
+    <tr>
+        <td><b>format.mp3.bPrivate</b></td>
+        <td>If this is set to TRUE the Private bit in the MP3
+        stream will be set.</td>
+    </tr>
+</table>
+
+<p>&nbsp;</p>
+
+<h2><font size="5">The LHV1 BE_CONFIG - structure (recommended)</font></h2>
+
+<p>These are the members of the LHV1 BE_CONFIG structure, you
+need to fill in before you call beInitStream(): <br>
+</p>
+
+<table border="0">
+    <tr>
+        <td><b>dwConfig</b></td>
+        <td>Specifies what kind of output you want. Since only
+        MP3 currently is supported you must set this to <b>BE_CONFIG_LAME</b></td>
+    </tr>
+    <tr>
+        <td>&nbsp;</td>
+        <td>&nbsp;</td>
+    </tr>
+    <tr>
+        <td><b>format.LHV1.dwStructVersion</b></td>
+        <td>Indicates the version number of the structure,
+        current version number is 1</td>
+    </tr>
+    <tr>
+        <td><b>format.LHV1.dwStructSize</b></td>
+        <td>Specifies the size of the BE_CONFIG structure
+        (currently 331 bytes)</td>
+    </tr>
+    <tr>
+        <td>&nbsp;</td>
+        <td>&nbsp;</td>
+    </tr>
+    <tr>
+        <td><b>format.LHV1.dwSampleRate</b>&nbsp;</td>
+        <td>Samplerate in Hz for MP3 file. This can be set to
+        either:<br>
+        <b>32000</b>, <b>44100</b> or <b>48000</b> for MPEG-I<br>
+        <b>16000</b>, <b>22050</b> or <b>24000</b> for MPEG-I<br>
+        <b>8000</b>, <b>11025</b> or <b>12000</b> for MPEG-II.5</td>
+    </tr>
+    <tr>
+        <td><b>format.LHV1.dwReSampleRate</b></td>
+        <td>Specifies to which sample rate the input stream has
+        to be resampled, if set to 0, the encoder will decide
+        which ReSample rate to use</td>
+    </tr>
+    <tr>
+        <td><b>format.LHV1.nMode</b></td>
+        <td>Stereomode for MP3 file. This can be either <b>BE_MP3_MODE_STEREO</b>,
+        <b>BE_MP3_MODE_JSTEREO, BE_MP3_MODE_DUALCHANNEL</b> or <b>BE_MP3_MODE_MONO.</b></td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.dwBitrate</strong></td>
+        <td>For CBR, this specifies the actual bitrate, for VBR,
+        it specifies the minimum bitrate<br>
+        Allowed bitrates are: <b>32, 40, 48, 56, 64, 80, 96, 112,
+        128, 160, 192, 224, 256</b> and <b>320</b>.for MPEG-I<br>
+        Allowed bitrates are: <b>8, 16, 24, 32, 40, 48, 56, 64,
+        80, 96, 112, 128, 144 </b>and<b> 160</b>.for MPEG-II<p><strong>Note:</strong>
+        dwBitrate is used as the minimum bitrate in the case of
+        using a VBR mode.</p>
+        </td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.dwMaxBitrate</strong></td>
+        <td>When VBR mode is enabled, it specifies the maximum
+        allowed bitrate (see also dwBitrate to specify the minium
+        bitrate), for CBR mode this setting is ignored.</td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.nPreset</strong></td>
+        <td>Keep in mind that the presets can overwrite some of
+        the other settings, since it is called right before the
+        encoder is initialized<br>
+        <table border="0">
+            <tr>
+                <td>The nPreset option can be set to one of the
+                following presets values::</td>
+            </tr>
+        </table>
+        <p>LQP_NOPRESET (don't use any presets)<br>
+        LQP_NORMAL_QUALITY (quality is set to 5)<br>
+        LQP_LOW_QUALITY (quality is set to 9)<br>
+        LQP_HIGH_QUALITY (quality is set to 2)<br>
+        LQP_VOICE_QUALITY (use for voice encoding)<br>
+        LQP_R3MIX (r3mix preset option)<br>
+        LQP_VERYHIGH_QUALITY (quality is set to 0)<br>
+        LQP_STANDARD (lame command line alt-preset standard)<br>
+        LQP_FAST_STANDARD (lame command line alt-preset fast
+        standard)<br>
+        LQP_EXTREME (lame command line alt-preset extreme)<br>
+        LQP_FAST_EXTREME (lame command line alt-preset fast
+        extreme)<br>
+        LQP_INSANE (lame command line alt-preset insane)<br>
+        LQP_ABR (lame command line alt-preset abr)<br>
+        LQP_CBR(lame command line alt-preset cbr)<br>
+        <br>
+        <strong>(old lame preset options)</strong><br>
+        LQP_PHONE <br>
+        LQP_SW<br>
+        LQP_AM<br>
+        LQP_FM<br>
+        LQP_VOICE<br>
+        LQP_RADIO<br>
+        LQP_TAPE<br>
+        LQP_HIFI<br>
+        LQP_CD<br>
+        LQP_STUDIO</p>
+        </td>
+    </tr>
+    <tr>
+        <td>&nbsp;</td>
+    </tr>
+    <tr>
+        <td><b>format.LHV1.bCopyright</b></td>
+        <td>If this is set to TRUE the Copyright bit in the MP3
+        stream will be set.</td>
+    </tr>
+    <tr>
+        <td><b>format.LHV1.bCRC</b></td>
+        <td>Set this to TRUE in order to enable CRC-checksum in
+        the bitstream.</td>
+    </tr>
+    <tr>
+        <td><b>format.LHV1.bOriginal</b></td>
+        <td>If this is set to TRUE the Original bit in the MP3
+        stream will be set.</td>
+    </tr>
+    <tr>
+        <td><b>format.LHV1.bPrivate</b></td>
+        <td>If this is set to TRUE the Private bit in the MP3
+        stream will be set.</td>
+    </tr>
+    <tr>
+        <td>&nbsp;</td>
+        <td>&nbsp;</td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.nVbrMethod</strong></td>
+        <td>Sepecifes if the VBR method to use, currently the
+        following settings are supported:<p><font size="3">VBR_METHOD_NONE
+        (don't use VBR, use CBR encoding instead),<br>
+        VBR_METHOD_DEFAULT (default VBR method)<br>
+        VBR_METHOD_OLD (old VBR method, proven to be reliable)<br>
+        VBR_METHOD_NEW (new VBR method, faster than
+        VBR_METHOD_OLD)<br>
+        VBR_METHOD_MTRH (depreciated, same as VBR_METHOD_NEW)<br>
+        VBR_METHOD_ABR (Average Bitrate Encoding, see also </font><strong>format.LHV1.dwVbrAbr_bps</strong><font
+        size="3">)</font></p>
+        </td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.bWriteVBRHeader</strong></td>
+        <td>Sepecifes if the a XING VBR header should be written
+        or not. When this option is enabled, you have to call the
+        <font size="3">beWriteVBRHeader function when encoding
+        has been completed. Keep in mind that the VBR info tag
+        can also be written for CBR encoded files, the TAG info
+        can be useful for additional info like encoder delay and
+        the like.</font></td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.bEnableVBR</strong></td>
+        <td>Specifies if VBR encoding option shall be used or
+        not, possible values are TRUE/FALSE</td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.nVBRQuality</strong></td>
+        <td>Quality option if VBR is enabled (0=highest quality,
+        9 is lowest quality)</td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.dwVbrAbr_bps</strong></td>
+        <td>If the Average Bit Rate is specified, the lame
+        encoder ignores the nVBRQuality settings (However, <strong>bEnableVBR</strong>
+        must be set to TRUE and the <strong>format.LHV1.nVbrMethod
+        </strong>parameter should be set to<strong> </strong><font
+        size="3"><strong>VBR_METHOD_ABR</strong>). The allowed
+        range for the </font><strong>format.LHV1.dwVbrAbr_bps </strong>parameter<strong>
+        </strong>any integer value <font size="3">between:</font><p><strong>MPEG-I:</strong>
+        32000 .. 320000 bps<b><br>
+        </b><strong>MPEG-II:</strong> 8000 .. 160000 bps</p>
+        </td>
+    </tr>
+    <tr>
+        <td>&nbsp;</td>
+        <td>&nbsp;</td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.bNoBitRes</strong></td>
+        <td>Disables the bit-resorvoir and disables the insertion
+        of padded frames</td>
+    </tr>
+    <tr>
+        <td><strong>format.LHV1.nQuality</strong></td>
+        <td>Quality Setting, HIGH BYTE should be NOT LOW byte,
+        otherwhise quality is set to 5. This is done to be
+        backward compatible. So to set quality to 3, you have to
+        set the nQuality parameter to 0xFC03.</td>
+    </tr>
+    <tr>
+        <td><b>format.mp3.btReserved</b></td>
+        <td>For future use, set all elements to zero</td>
+    </tr>
+</table>
+
+<p>&nbsp;</p>
+
+<p>&nbsp; </p>
+
+<hr>
+
+<h1><a name="beInitStream()"><font size="5">beInitStream()</font></a>
+</h1>
+
+<table border="0" cellspacing="16" width="100%">
+    <tr>
+        <td valign="top" width="20%"><b>Synopsis:</b></td>
+        <td valign="top" width="80%">BE_ERR beInitStream(
+        PBE_CONFIG <i>pbeConfig</i>, PDWORD <i>dwSamples</i>,
+        PDWORD <i>dwBufferSize</i>, PHBE_STREAM <i>phbeStream</i>
+        )</td>
+    </tr>
+    <tr>
+        <td valign="top" width="20%"><b>Parameters:</b></td>
+        <td valign="top" width="80%"><table border="0"
+        cellspacing="10" width="100%">
+            <tr>
+                <td valign="top" width="20%"><i>pbeConfig</i></td>
+                <td>Pointer at the struct containing encoder
+                settings.</td>
+            </tr>
+            <tr>
+                <td valign="top"><i>dwSamples</i></td>
+                <td>Pointer at double word where number of
+                samples to send to each <i>beEncodeChunk()</i> is
+                returned.</td>
+            </tr>
+            <tr>
+                <td valign="top"><i>dwBufferSize</i></td>
+                <td>Pointer at double word where minimum size in
+                bytes of output buffer is returned.</td>
+            </tr>
+            <tr>
+                <td valign="top"><i>phbeStream</i></td>
+                <td>Pointer at integer where Stream handle is
+                returned.</td>
+            </tr>
+        </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="top" width="20%"><b>Description:</b></td>
+        <td valign="top" width="80%">This function is the first
+        to call before starting an encoding stream.</td>
+    </tr>
+</table>
+
+<hr>
+
+<h1><a name="beEncodeChunk()"><font size="5">beEncodeChunk()</font>
+</a></h1>
+
+<table border="0" cellspacing="16" width="100%">
+    <tr>
+        <td valign="top" width="20%"><b>Synopsis:</b></td>
+        <td valign="top" width="80%">BE_ERR beEncodeChunk(
+        HBE_STREAM <i>hbeStream</i>, DWORD <i>nSamples</i>,
+        PSHORT <i>pSamples</i>, PBYTE <i>pOutput</i>, PDWORD <i>pdwOutput</i>
+        )</td>
+    </tr>
+    <tr>
+        <td valign="top" width="20%"><b>Parameters:</b></td>
+        <td valign="top"><table border="0" cellspacing="10"
+        width="100%">
+            <tr>
+                <td valign="top" width="20%"><i>hbeStream</i></td>
+                <td width="80%">Handle of the stream.</td>
+            </tr>
+            <tr>
+                <td valign="top" width="90"><i>nSamples</i></td>
+                <td>Number of samples to be encoded for this
+                call. This should be identical to what is
+                returned by <i>beInitStream()</i>, unless you are
+                encoding the last chunk, which might be smaller.</td>
+            </tr>
+            <tr>
+                <td valign="top" width="90"><i>pSamples</i></td>
+                <td>Pointer at the 16-bit signed samples to be
+                encoded. These should be in stereo when encoding
+                a stereo MP3 and mono when encoding a mono MP3.</td>
+            </tr>
+            <tr>
+                <td valign="top" width="90"><i>pOutput</i></td>
+                <td>Where to write the encoded data. This buffer
+                should be at least of the minimum size returned
+                by <i>beInitStream()</i>.</td>
+            </tr>
+            <tr>
+                <td valign="top" width="90"><i>pdwOutput</i></td>
+                <td>Where to return number of bytes of encoded
+                data written. The amount of data written might
+                vary from chunk to chunk.</td>
+            </tr>
+        </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="top" width="20%"><b>Description:</b></td>
+        <td valign="top">Encodes a chunk of samples. <i>Please
+        note that if you have set the output to generate mono MP3
+        files you must feed beEncodeChunk() with mono samples!</i></td>
+    </tr>
+</table>
+
+<hr>
+
+<h1><a name="beDeinitStream()"><font size="5">beDeinitStream()</font>
+</a></h1>
+
+<table border="0" cellspacing="16" width="100%">
+    <tr>
+        <td valign="top" width="20%"><b>Synopsis:</b></td>
+        <td valign="top" width="80%">BE_ERR beDeinitStream(
+        HBE_STREAM <i>hbeStream</i>, PBYTE <i>pOutput</i>, PDWORD
+        <i>pdwOutput</i> )</td>
+    </tr>
+    <tr>
+        <td valign="top" width="20%"><b>Parameters:</b></td>
+        <td valign="top"><table border="0" cellspacing="10"
+        width="100%">
+            <tr>
+                <td valign="top" width="20%"><i>hbeStream</i></td>
+                <td width="80%">Handle of the stream.</td>
+            </tr>
+            <tr>
+                <td valign="top"><i>pOutput</i></td>
+                <td>Where to write the encoded data. This buffer
+                should be at least of the minimum size returned
+                by <i>beInitStream()</i>.</td>
+            </tr>
+            <tr>
+                <td><i>pdwOutput</i></td>
+                <td>Where to return number of bytes of encoded
+                data written.</td>
+            </tr>
+        </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="top" width="20%"><b>Description:</b></td>
+        <td valign="top">This function should be called after
+        encoding the last chunk in order to flush the encoder. It
+        writes any encoded data that still might be left inside
+        the encoder to the output buffer. This function should
+        NOT be called unless you have encoded all of the chunks
+        in your stream.</td>
+    </tr>
+</table>
+
+<hr>
+
+<h1><a name="beCloseStream()"><font size="5">beCloseStream()</font></a>
+</h1>
+
+<table border="0" cellspacing="16" width="100%">
+    <tr>
+        <td valign="top" width="20%"><b>Synopsis:</b></td>
+        <td valign="top">BE_ERR beCloseStream( HBE_STREAM <i>hbeStream</i>
+        )</td>
+    </tr>
+    <tr>
+        <td valign="top" width="90"><b>Parameters:</b></td>
+        <td valign="top"><table border="0" cellspacing="10"
+        width="100%">
+            <tr>
+                <td width="20%"><i>hbeStream</i></td>
+                <td>Handle of the stream.</td>
+            </tr>
+        </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="top" width="90"><b>Description:</b></td>
+        <td valign="top">Last function to be called when finished
+        encoding a stream. Should unlike <i>beDeinitStream()</i>
+        also be called if the encoding is canceled.</td>
+    </tr>
+</table>
+
+<hr>
+
+<h1><a name="beVersion()"><font size="5">beVersion()</font> </a></h1>
+
+<table border="0" cellspacing="16" width="100%">
+    <tr>
+        <td valign="top" width="20%"><b>Synopsis:</b></td>
+        <td valign="top">VOID beVersion( PBE_VERSION <i>pbeVersion</i>
+        )</td>
+    </tr>
+    <tr>
+        <td valign="top"><b>Parameters:</b></td>
+        <td valign="top"><table border="0" cellspacing="10"
+        width="100%">
+            <tr>
+                <td valign="top" width="20%"><i>pbeVersion</i></td>
+                <td>Pointer at struct where version number,
+                release date and URL for homepage is returned.</td>
+            </tr>
+        </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="top"><b>Description:</b></td>
+        <td valign="top">Returns information like version numbers
+        (both of the DLL and encoding engine), release date and
+        URL for lame_enc's homepage. All this information should
+        be made available to the user of your product through a
+        dialog box or something similar.</td>
+    </tr>
+</table>
+
+<p>&nbsp;</p>
+
+<hr>
+
+<p>&nbsp;</p>
+
+<h1><a name="beWriteVBRHeader()"><font size="5">beWriteVBRHeader()</font>
+</a></h1>
+
+<table border="0" cellspacing="16" width="100%">
+    <tr>
+        <td valign="top" width="20%"><b>Synopsis:</b></td>
+        <td valign="top">VOID beWriteVBRHeader( LPCSTR <i>pszMP3FileName</i>
+        )</td>
+    </tr>
+    <tr>
+        <td valign="top"><b>Parameters:</b></td>
+        <td valign="top"><table border="0" cellspacing="10"
+        width="100%">
+            <tr>
+                <td valign="top" width="20%"><i>pszMP3FileName</i></td>
+                <td>Const Pointer zero terminated string, that
+                contains the MP3 file name.</td>
+            </tr>
+        </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="top"><b>Description:</b></td>
+        <td valign="top">Writes a Xing Header in front of the MP3
+        file. Make sure that the MP3 file is closed, and the the
+        beConfig.format.LHV1.bWriteVBRHeader has been set to
+        TRUE. In addition, it is always save to call
+        beWriteVBRHeader after the encoding has been finished,
+        even when the beConfig.format.LHV1.bWriteVBRHeader is not
+        set to TRUE</td>
+    </tr>
+</table>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<hr>
+
+<p>&nbsp;</p>
+
+<h1><a name="Lame_enc.dll debug option">Lame_enc.dll debug option</a></h1>
+
+<p>The lame_enc.dll has a built-in debug option, that dumps all
+the important internal settings to a text file. To enable this
+feature, create a text file in the Windows directory which is
+named lame_enc.ini, and should contain the following two lines</p>
+
+<p>[debug]<br>
+WriteLogFile=1</p>
+
+<p>Save this text file, and each time you encode a file, the
+settings are added to a file name lame_enc.txt, that is located
+in the same directory as the lame_enc.dll</p>
+
+<p>&nbsp;</p>
+
+<p><br>
+&nbsp; </p>
+</body>
+</html>

+ 303 - 0
Dll/MP3export.pas

@@ -0,0 +1,303 @@
+unit MP3export;
+
+interface
+
+Uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
+Forms, Dialogs, StdCtrls;
+
+type
+//type definitions
+//typedef		unsigned long			HBE_STREAM;
+//typedef		HBE_STREAM				*PHBE_STREAM;
+//typedef		unsigned long			BE_ERR;
+  THBE_STREAM = LongWord;
+  PHBE_STREAM = ^PHBE_STREAM;
+  BE_ERR = LongWord;
+
+const
+// encoding formats
+//#define		BE_CONFIG_MP3			0
+//#define		BE_CONFIG_LAME			256
+  BE_CONFIG_MP3	 = 0;
+  BE_CONFIG_LAME = 256;
+
+
+// error codes
+//#define    BE_ERR_SUCCESSFUL		        0x00000000
+//#define    BE_ERR_INVALID_FORMAT		0x00000001
+//#define    BE_ERR_INVALID_FORMAT_PARAMETERS	0x00000002
+//#define    BE_ERR_NO_MORE_HANDLES		0x00000003
+//#define    BE_ERR_INVALID_HANDLE		0x00000004
+BE_ERR_SUCCESSFUL: LongWord = 0;
+BE_ERR_INVALID_FORMAT: LongWord = 1;
+BE_ERR_INVALID_FORMAT_PARAMETERS: LongWord = 2;
+BE_ERR_NO_MORE_HANDLES: LongWord = 3;
+BE_ERR_INVALID_HANDLE: LongWord = 4;
+
+// other constants
+
+BE_MAX_HOMEPAGE	= 256;
+
+// format specific variables
+
+BE_MP3_MODE_STEREO = 0;
+BE_MP3_MODE_DUALCHANNEL = 2;
+BE_MP3_MODE_MONO = 3;
+
+type
+
+  TMP3 = packed record
+           dwSampleRate     : LongWord;
+           byMode           : Byte;
+           wBitRate         : Word;
+           bPrivate         : LongWord;
+           bCRC             : LongWord;
+           bCopyright       : LongWord;
+           bOriginal        : LongWord;
+           end;
+
+  TLHV1 = packed record
+          // STRUCTURE INFORMATION
+            dwStructVersion: DWORD;
+            dwStructSize: DWORD;
+
+          // BASIC ENCODER SETTINGS
+            dwSampleRate: DWORD;	// ALLOWED SAMPLERATE VALUES DEPENDS ON dwMPEGVersion
+            dwReSampleRate: DWORD;	// DOWNSAMPLERATE, 0=ENCODER DECIDES
+            nMode: Integer;	  	// BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO
+            dwBitrate: DWORD;		// CBR bitrate, VBR min bitrate
+            dwMaxBitrate: DWORD;	// CBR ignored, VBR Max bitrate
+            nQuality: Integer;   	// Quality setting (NORMAL,HIGH,LOW,VOICE)
+            dwMpegVersion: DWORD;	// MPEG-1 OR MPEG-2
+            dwPsyModel: DWORD;		// FUTURE USE, SET TO 0
+            dwEmphasis: DWORD;		// FUTURE USE, SET TO 0
+
+          // BIT STREAM SETTINGS
+            bPrivate: LONGBOOL;		// Set Private Bit (TRUE/FALSE)
+            bCRC: LONGBOOL;		// Insert CRC (TRUE/FALSE)
+            bCopyright: LONGBOOL;	// Set Copyright Bit (TRUE/FALSE)
+            bOriginal: LONGBOOL;	// Set Original Bit (TRUE/FALSE_
+
+          // VBR STUFF
+            bWriteVBRHeader: LONGBOOL;	// WRITE XING VBR HEADER (TRUE/FALSE)
+            bEnableVBR: LONGBOOL;       // USE VBR ENCODING (TRUE/FALSE)
+            nVBRQuality: Integer;	// VBR QUALITY 0..9
+
+            btReserved: array[0..255] of Byte;	// FUTURE USE, SET TO 0
+            end;
+
+  TAAC = packed record
+           dwSampleRate     : LongWord;
+           byMode           : Byte;
+           wBitRate         : Word;
+           byEncodingMethod : Byte;
+           end;
+
+  TFormat = packed record
+              case byte of
+                1 : (mp3           : TMP3);
+                2 : (lhv1          : TLHV1);
+                3 : (aac           : TAAC);
+              end;
+
+  TBE_Config = packed record
+                 dwConfig   : LongWord;
+                 format     : TFormat;
+                 end;
+
+
+  PBE_Config = ^TBE_Config;
+
+//typedef struct	{
+//	// BladeEnc DLL Version number
+//
+//	BYTE	byDLLMajorVersion;
+//	BYTE	byDLLMinorVersion;
+//
+//	// BladeEnc Engine Version Number
+//
+//	BYTE	byMajorVersion;
+//	BYTE	byMinorVersion;
+//
+//	// DLL Release date
+//
+//	BYTE	byDay;
+//	BYTE	byMonth;
+//	WORD	wYear;
+//
+//	// BladeEnc	Homepage URL
+//
+//	CHAR	zHomepage[BE_MAX_HOMEPAGE + 1];
+//
+//} BE_VERSION, *PBE_VERSION;
+
+  TBE_Version = record
+                  byDLLMajorVersion : Byte;
+                  byDLLMinorVersion : Byte;
+
+                  byMajorVersion    : Byte;
+                  byMinorVersion    : Byte;
+
+                  byDay             : Byte;
+                  byMonth           : Byte;
+                  wYear             : Word;
+
+                  zHomePage         : Array[0..BE_MAX_HOMEPAGE + 1] of Char;
+                  end;
+
+  PBE_Version = ^TBE_Version;
+
+//__declspec(dllexport) BE_ERR	beInitStream(PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream);
+//__declspec(dllexport) BE_ERR	beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput);
+//__declspec(dllexport) BE_ERR	beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput);
+//__declspec(dllexport) BE_ERR	beCloseStream(HBE_STREAM hbeStream);
+//__declspec(dllexport) VOID	beVersion(PBE_VERSION pbeVersion);
+
+{
+Function beInitStream(var pbeConfig: TBE_CONFIG; var dwSample: LongWord; var dwBufferSize: LongWord; var phbeStream: THBE_STREAM ): BE_Err; cdecl; external 'Bladeenc.dll';
+//Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; pSample: PSmallInt;pOutput: PByte; var pdwOutput: LongWord): BE_Err; cdecl; external 'Bladeenc.dll';
+Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; var pSample;var pOutput; var pdwOutput: LongWord): BE_Err; stdcall; cdecl 'Bladeenc.dll';
+Function beDeinitStream(hbeStream: THBE_STREAM; var pOutput; var pdwOutput: LongWord): BE_Err; cdecl; external 'Bladeenc.dll';
+Function beCloseStream(hbeStream: THBE_STREAM): BE_Err; cdecl; external 'Bladeenc.dll';
+Procedure beVersion(var pbeVersion: TBE_VERSION); cdecl; external 'Bladeenc.dll';
+}
+
+Function beInitStream(var pbeConfig: TBE_CONFIG; var dwSample: LongWord; var dwBufferSize: LongWord; var phbeStream: THBE_STREAM ): BE_Err; cdecl; external 'Lame_enc.dll';
+//Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; pSample: PSmallInt;pOutput: PByte; var pdwOutput: LongWord): BE_Err; cdecl; external 'Lame_enc.dll';
+Function beEncodeChunk(hbeStream: THBE_STREAM; nSamples: LongWord; var pSample;var pOutput; var pdwOutput: LongWord): BE_Err; cdecl; external 'Lame_enc.dll';
+Function beDeinitStream(hbeStream: THBE_STREAM; var pOutput; var pdwOutput: LongWord): BE_Err; cdecl; external 'Lame_enc.dll';
+Function beCloseStream(hbeStream: THBE_STREAM): BE_Err; cdecl; external 'Lame_enc.dll';
+Procedure beVersion(var pbeVersion: TBE_VERSION); cdecl; external 'Lame_enc.dll';
+
+Procedure EncodeWavToMP3(fs, fd: Integer);
+implementation
+
+Uses InternetSnd, TraiteWav;
+
+{----------------------------------------}
+Procedure EncodeWavToMP3(fs, fd: Integer);
+var
+  err: Integer;
+  beConfig: TBE_Config;
+  dwSamples, dwSamplesMP3 : LongWord;
+  hbeStream : THBE_STREAM;
+  error: BE_ERR;
+  pBuffer: PSmallInt;
+  pMP3Buffer: PByte;
+  Marque:PChar;
+
+  done: LongWord;
+  dwWrite: LongWord;
+  ToRead: LongWord;
+  ToWrite: LongWord;
+  i:Integer;
+
+begin
+  beConfig.dwConfig := BE_CONFIG_LAME;
+
+{
+  beConfig.Format.mp3.dwSampleRate := WavInfo.SamplesPerSec;
+  beConfig.Format.mp3.byMode := BE_MP3_MODE_STEREO;
+  beConfig.Format.mp3.wBitrate := strToInt(MainFrm.Mp3BitRate.Text);
+  beConfig.Format.mp3.bCopyright := 0;
+  beConfig.Format.mp3.bCRC := $00000000;
+  beConfig.Format.mp3.bOriginal := 0;
+  beConfig.Format.mp3.bPrivate := 0;
+}
+//Structure information
+  beConfig.Format.lhv1.dwStructVersion := 1;
+  beConfig.Format.lhv1.dwStructSize := SizeOf(beConfig);
+//Basic encoder setting
+  beConfig.Format.lhv1.dwSampleRate := WavInfo.SamplesPerSec;
+  beConfig.Format.lhv1.dwReSampleRate := 44100;
+  beConfig.Format.lhv1.nMode := BE_MP3_MODE_STEREO;
+  beConfig.Format.lhv1.dwBitrate := strToInt(MainFrm.Mp3BitRate.Text);
+  beConfig.Format.lhv1.dwMaxBitrate := strToInt(MainFrm.Mp3BitRate.Text);
+  beConfig.Format.lhv1.nQuality := 2;
+  beConfig.Format.lhv1.dwMPegVersion := 1; //MPEG1
+  beConfig.Format.lhv1.dwPsyModel := 0;
+  beConfig.Format.lhv1.dwEmphasis := 0;
+//Bit Stream Settings
+  beConfig.Format.lhv1.bPrivate := False;
+  beConfig.Format.lhv1.bCRC := False;
+  beConfig.Format.lhv1.bCopyright := True;
+  beConfig.Format.lhv1.bOriginal := True;
+//VBR Stuff
+  beConfig.Format.lhv1.bWriteVBRHeader := false;
+  beConfig.Format.lhv1.bEnableVBR := false;
+  beConfig.Format.lhv1.nVBRQuality := 0;
+
+  i := 0;
+  error := beInitStream(beConfig, dwSamples, dwSamplesMP3, hbeStream);
+  if error = BE_ERR_SUCCESSFUL
+    then begin
+         pBuffer := AllocMem(dwSamples*2);
+         pMP3Buffer := AllocMem(dwSamplesMP3);
+         try
+           done := 0;
+
+           error := FileSeek(fs, 0, 0);
+           While (done < TotalSize) do
+             begin
+               if (done + dwSamples*2 < TotalSize)
+                 then ToRead := dwSamples*2
+                 else begin
+                      ToRead := TotalSize-done;
+                      //FillChar(buf[0],dwSamples*2,0);
+                      FillChar(pbuffer^,dwSamples,0);
+                      end;
+
+               //if FileRead(fs, buf[0], toread) = -1
+               if FileRead(fs, pbuffer^, toread) = -1
+                 then raise Exception.Create('Erreur de lecture');
+
+               //error := beEncodeChunk(hbeStream, toRead div 2, Buf[0], TmpBuf[0], toWrite);
+               error := beEncodeChunk(hbeStream, toRead div 2, pBuffer^, pMP3Buffer^, toWrite);
+
+               if error <> BE_ERR_SUCCESSFUL
+                 then begin
+                      beCloseStream(hbeStream);
+                      raise Exception.Create('Echec de l''encodage');
+                      end;
+
+               //if FileWrite(fd, TmpBuf[0], toWrite) = -1
+               if FileWrite(fd, pMP3Buffer^, toWrite) = -1
+                 then raise Exception.Create('Erreur d''écriture');
+
+               done := done + toread;
+               inc(i);
+               if i mod 64 = 0
+                 then begin
+                      MainFrm.ProgressBar1.Position := round(100*done/Totalsize);
+                      Application.ProcessMessages;
+                      end;
+             end;
+
+           error := beDeInitStream(hbeStream, pMP3Buffer^, dwWrite);
+           //error := beDeInitStream(hbeStream, TmpBuf[0], dwWrite);
+
+           if error <> BE_ERR_SUCCESSFUL
+             then begin
+                  beCloseStream(hbeStream);
+                  raise Exception.Create('Echec à la sortie');
+                  end;
+
+           if dwWrite <> 0
+             then begin
+                  //if FileWrite(fd, TmpBuf[0], dwWrite) = -1
+                  if FileWrite(fd, pMP3Buffer^, dwWrite) = -1
+                    then raise Exception.Create('Erreur à la dernière écriture');
+                  end;
+
+           beCloseStream(hbeStream);
+           finally
+             FreeMem(pBuffer);
+             FreeMem(pMP3Buffer);
+             end;
+         end
+    else begin
+
+         end;
+end;
+
+end.

+ 11 - 0
Dll/Makefile.am

@@ -0,0 +1,11 @@
+## $Id$
+
+include $(top_srcdir)/Makefile.am.global
+
+EXTRA_DIST = BladeMP3EncDLL.c \
+	BladeMP3EncDLL.def \
+	BladeMP3EncDLL.h \
+	Example.cpp \
+	LameDLLInterface.htm \
+	MP3export.pas \
+	Makefile.mingw32

+ 478 - 0
Dll/Makefile.in

@@ -0,0 +1,478 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# global section for every Makefile.am
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = Dll
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/Makefile.am.global README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_DEFS = @CONFIG_DEFS@
+CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPUCCODE = @CPUCCODE@
+CPUTYPE = @CPUTYPE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
+FRONTEND_LDADD = @FRONTEND_LDADD@
+FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_CONFIG = @GTK_CONFIG@
+GTK_LIBS = @GTK_LIBS@
+INCLUDES = @INCLUDES@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDADD = @LDADD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
+LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEDEP = @MAKEDEP@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NASM = @NASM@
+NASM_FORMAT = @NASM_FORMAT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RM_F = @RM_F@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WITH_FRONTEND = @WITH_FRONTEND@
+WITH_MP3RTP = @WITH_MP3RTP@
+WITH_MP3X = @WITH_MP3X@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = 1.15 foreign
+EXTRA_DIST = BladeMP3EncDLL.c \
+	BladeMP3EncDLL.def \
+	BladeMP3EncDLL.h \
+	Example.cpp \
+	LameDLLInterface.htm \
+	MP3export.pas \
+	Makefile.mingw32
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Dll/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign Dll/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+$(top_srcdir)/Makefile.am.global $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# end global section
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

+ 40 - 0
Dll/Makefile.mingw32

@@ -0,0 +1,40 @@
+# This makefile compiles lame_enc.dll with mingw32 (and possibly cygwin)
+# Of course, you must first build ../libmp3lame/libmp3lame.a.
+# liblame_enc.a can be used to link the lame_enc.dll to your programs.
+# Tested with EAC 0.9pb9 (my own favorite, http://www.exactaudiocopy.de/)
+# example.exe compiles and works, too.
+#                                  Vladislav Naumov, <vnaum@inbox.ru>
+#
+# PS: to 'make clean' you need rm. MS's del is unusable.
+# PPS: quick build:
+#      make -fMakefile.mingw32
+
+DLL_NAME = lame_enc
+LAME_SRC_ROOT = ..
+OFILES = BladeMP3EncDLL.o $(DLL_NAME)_exp.o
+CFLAGS = -I$(LAME_SRC_ROOT)/include -I$(LAME_SRC_ROOT)/libmp3lame
+CC = g++
+LD = g++
+DLLTOOL = dlltool
+LFLAGS = -L$(LAME_SRC_ROOT)/libmp3lame/.libs -o $(DLL_NAME).dll -mdll -s
+LIBS = -lmp3lame
+
+all: $(DLL_NAME).dll example.exe
+
+BladeMP3EncDLL.o: BladeMP3EncDLL.c BladeMP3EncDLL.h ../include/lame.h \
+ ../libmp3lame/lame_global_flags.h ../libmp3lame/version.h
+
+$(DLL_NAME).dll : $(OFILES)
+	$(LD) $(LFLAGS) $(OFILES) $(LIBS)
+	
+$(DLL_NAME)_exp.o : BladeMP3EncDLL.o
+	$(DLLTOOL) --input-def BladeMP3EncDLL.def --output-lib lib$(DLL_NAME).a --output-exp $(DLL_NAME)_exp.o --dllname $(DLL_NAME) BladeMP3EncDLL.o
+
+%.o : %.c
+	$(CC) $(CFLAGS) -c $< -o $@
+
+example.exe : Example.cpp BladeMP3EncDLL.h
+	$(CC) Example.cpp -o example.exe
+
+clean :
+	rm -f $(DLL_NAME).dll $(OFILES) example.exe

+ 21 - 0
Dll/README

@@ -0,0 +1,21 @@
+
+This directory contains a Windows DLL interface to the LAME
+encoding engine.
+
+This DLL is compatible with the BladeEnc.dll.  
+See BladeMP3EncDLL.c for details of the calling
+sequence, and BladeMP3EncDLL.h for details of the
+data that must be passed to the DLL.  
+
+As of yet, there is no other documentation. 
+
+To use this DLL as a replacement for BladeEnc.dll, you
+need to populate the 'mp3' struct.  
+
+To use more advanced features of LAME, you need to 
+populate the LHV1 struct instead.
+
+Delphi 4 Users:  Gabriel Gélin <ggelin@alapage.com> has
+contributed a .PAS file, do you can access the DLL from
+Delphi.   See MP3export.pas.
+

+ 121 - 0
HACKING

@@ -0,0 +1,121 @@
+First, see the file STYLEGUIDE
+
+************************************************************************
+TESTING
+=======
+
+If you make changes, please test.  There is a python script in the test/ 
+directory which will compare two versions of lame using a bunch of CBR 
+and ABR options. To run this script, copy your favorite (and short!) wav 
+file to the lame/test directory, and run:
+
+% cd lame/test
+% ./lametest.py [-w]  CBRABR.op castanets.wav lame_orig lame_new
+
+
+
+************************************************************************
+LAME API
+========
+
+For a general outline of the code, see the file API.  
+Also, frontend/main.c is a simple front end to libmp3lame.a
+
+The guts of the code are called from lame_encode_buffer().
+
+lame_encode_buffer() handles buffering and resampling, and
+then calls lame_encode_frame() for each frame.  lame_encode_frame()
+looks like this:
+
+lame_encode_frame_mp3():
+   l3psycho_anal()        compute masking thresholds
+   mdct_sub()             compute MDCT coefficients
+   iteration_loop()       choose scalefactors (via iteration)
+                          which determine noise shapping, and 
+                          choose best huffman tables for lossless compression
+   format_bitstream       format the bitstream.  when data+headers are complete,
+                          output to internal bit buffer.
+   copy_buffer()          copy internal bit buffer into user's mp3 buffer
+
+************************************************************************
+ADDING NEW OPTIONS
+==================
+
+control variable goes in lame_global_flags struct.
+Assume the variable is called 'new_variable'.
+
+You also need to write (in set_get.c):
+
+lame_set_new_variable()
+lame_get_new_variable()
+
+And then document the variable in the file USAGE as well as the
+output of "lame --longhelp"
+
+And add a "--option" style command line option to enable this variable
+in parse.c
+
+Note: for experimental features that you need to call from the frontend
+but that should not be part of the official API, see the section at
+the end of set_get.c.  These functions should *NOT* be prototyped in
+lame.h (since that would indicate to the world that they are part
+of the API). 
+
+
+************************************************************************
+THREADSAFE:
+===========
+
+Lame should now be thread safe and re-entrant. The only problem seems to 
+be some OS's allocate small stacks (< 128K) to threads launched by 
+applications, and this is not enough for LAME.  Fix is to increase the 
+stack space, or move some of our automatic variables onto the heap with
+by using bug-proof malloc()'s and free().
+
+
+************************************************************************
+Global Variables:
+=================
+
+There are two types of global variables.  All data in both structs is 
+initialized to zero.
+
+1. lame_global_flags *gfp
+
+These are input parameters which are set by the calling program, and some 
+information which the calling program may be interested in.
+
+This struct instantiated by the call to lame_init().  
+
+
+2. lame_internal_flags *gfc
+
+Most global variables go here.
+
+All internal data not set by the user.  All 'static' data from
+old non-reentrant code should be moved here.
+
+Defined in util.h.  Data for which the size is known
+in advance should be explicitly declaired (for example,
+float xr[576]);  Data which needs to be malloc'd is
+handled by:  
+
+1.  in lame_init_params(), malloc the data
+2.  be sure to free the data in freegfc()
+
+
+If the data to be malloc'd is large and only used in
+certain conditions (like resampling), use the following:  
+this has the disadvantage that it is hard to catch and return error
+flags all the way back up the call stack.
+
+1. Add an initialization variable to the gfc struct: lame_init_resample
+2. In the resample routine, there should be some code like this:
+
+   if (0==gfc->lame_init_resample) {
+       gfc->lame_init_resample=1;
+      /* initialization code: malloc() data, etc */
+   }
+
+3. The data should be free'd in the routine freegfc().
+

+ 194 - 0
INSTALL

@@ -0,0 +1,194 @@
+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
+

+ 183 - 0
INSTALL.configure

@@ -0,0 +1,183 @@
+Basic Installation
+==================
+
+   These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+   The file `configure.in' is used to create `configure' by a program
+called `autoconf'.  You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  You can give `configure'
+initial values for variables by setting them in the environment.  Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory.  After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+   By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on.  Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+     CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+   If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+   `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+     Use and save the results of the tests in FILE instead of
+     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
+     debugging `configure'.
+
+`--help'
+     Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`--version'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
+

+ 13 - 0
LICENSE

@@ -0,0 +1,13 @@
+Can I use LAME in my commercial program?  
+
+Yes, you can, under the restrictions of the LGPL (see COPYING
+in this folder). The easiest way to do this is to:
+
+1. Link to LAME as separate library (libmp3lame.a on unix or 
+   lame_enc.dll or libmp3lame.dll on windows)
+
+2. Fully acknowledge that you are using LAME, and give a link
+   to our web site, www.mp3dev.org
+
+3. If you make modifications to LAME, you *must* release these
+   modifications back to the LAME project, under the LGPL.

+ 705 - 0
Makefile.MSVC

@@ -0,0 +1,705 @@
+#	Makefile.MSVC: MSVC Makefile for LAME
+#
+#	2000-2010 Robert Hegemann
+#	dedicated to the LAME project http://www.mp3dev.org
+###############################################################################
+
+
+
+#__ readme ____________________________________________________________________
+#	nmake -f Makefile.MSVC
+#		-> build lame, but not mp3x
+#		-> use Robert's code modifications
+#		-> assume MSVC 6.0 compiler available
+#		-> assume NASM available
+#		-> assemble MMX code with NASM
+#		-> no compiler warnings
+#       -> use single precision float
+#
+#	passing arguments, one can modify the default behaviour:
+#	COMP=<not INTEL or BCC>    ->  use MS compiler
+#	WARN=<anything but OFF>    ->  give verbose compiler warnings
+#	ASM=<anything but YES>     ->  no NASM nor MMX
+#	MMX=<anything but YES>     ->  do not assemble MMX code
+#	CFG=<anything but RH>      ->  disable Robert's modifications
+#	CPU=P1                     ->  optimize for Pentium instead of P II/III
+#	CPU=P2                     ->  optimize for Pentium II/III, you need a PII or better
+#	CPU=P3                     ->  optimize for Pentium III, you need a PIII or better
+#	GTK=YES                    ->  have GTK, adds mp3x to default targets
+#	PREC=<anything but SINGLE> ->  use double instead of single float
+#	SNDFILE=<anything but YES> ->  do not use LibSndfile for reading input files
+#
+#	Example:
+#	nmake -f Makefile.MSVC CPU=P1 GTK=YES
+#____________________________________________________________________ readme __
+
+
+
+#	targets <-> DOS filenames
+
+T_LAME = lame.exe
+T_MP3X = mp3x.exe
+T_MP3RTP = mp3rtp.exe
+T_DLL = libmp3lame.dll
+T_LIB_DYNAMIC = libmp3lame.lib
+T_LIB_STATIC = libmp3lame-static.lib
+T_LEGACY_DLL = lame_enc.dll
+
+TARGET_DIR = .\output\ 
+
+#	default targets
+
+PGM = $(T_LAME)
+
+#	some default settings
+
+!	IF "$(MSVCVER)" != ""
+COMP = MS
+!	IF "$(MSVCVER)" == "Win64"
+!	IF "$(ASM)" == ""
+ASM = NO # or it could be ML64 if we want to use it...
+GTK = NO
+!	ENDIF
+!	ENDIF
+!	ELSE
+!	IF "$(COMP)" == ""
+COMP = MSVC
+!	ENDIF
+!	ENDIF
+
+!	IF "$(ASM)" == ""
+ASM = YES
+!	ENDIF
+
+!	IF "$(MMX)" == ""
+MMX = YES
+!	ENDIF
+
+!	IF "$(CFG)" == ""
+CFG = RH
+!	ENDIF
+
+!	IF "$(CPU)" == ""
+CPU = P2auto
+!if "$(PROCESSOR_LEVEL)"=="6"
+CPU = P6
+!endif
+!	ENDIF
+
+!	IF "$(WARN)" == ""
+WARN = OFF
+!	ENDIF
+
+!	IF "$(PREC)" == ""
+PREC = SINGLE
+!	ENDIF
+
+!	IF "$(SNDFILE)" == ""
+SNDFILE = NO
+!	ENDIF
+
+OFF = win32
+MACHINE = /machine:I386
+LIB_OPTS = /nologo $(MACHINE) 
+
+!	MESSAGE ----------------------------------------------------------------------
+!	IF "$(CFG)" == ""
+!	 MESSAGE building LAME
+!	ELSE
+!	 MESSAGE building LAME featuring $(CFG)
+!	ENDIF
+!	IF "$(ASM)" == "YES"
+!	 MESSAGE + ASM
+!	 IF "$(MMX)" == "YES"
+!	  MESSAGE + MMX
+!	 ENDIF
+!	ENDIF
+!	IF "$(GTK)" == "YES"
+!	 MESSAGE + GTK
+!	ENDIF
+!	IF "$(COMP)" == "INTEL"
+!	 MESSAGE using INTEL COMPILER
+!	 IF "$(CPU)" == "P1"
+!	  MESSAGE + optimizing for Pentium (MMX)
+!	 ELSE
+!	  IF "$(CPU)" == "P2"
+!	   MESSAGE + you need a Pentium II or better
+!	  ELSE
+!	   IF "$(CPU)" == "P3"
+!	    MESSAGE + you need a Pentium III or better
+!	   ELSE
+!	    MESSAGE + optimizing for Pentium II/III
+!	   ENDIF
+!	  ENDIF
+!	 ENDIF
+!	ELSE
+!	 IF "$(MSVCVER)" == "6.0"
+!	  MESSAGE + using MSVC 6.0 32-Bit Compiler
+!	  IF "$(CPU)" == "P1"
+!	   MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent)
+!	  ELSE
+!	   MESSAGE + optimizing for Pentium II/III
+!	  ENDIF
+!	 ELSEIF "$(MSVCVER)" == "8.0"
+!	  MESSAGE + using MSVC 8.0 32-Bit Compiler
+!	  IF "$(CPU)" == "P1"
+!	   MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent)
+!	  ELSE
+!	   MESSAGE + optimizing for Pentium II/III
+!	  ENDIF
+!	 ELSE
+!	  IF "$(MSVCVER)" == "Win64"
+!	   MESSAGE + using MS 64-Bit Compiler
+!	  ELSE
+!	   MESSAGE using MS COMPILER
+!	   IF "$(CPU)" == "P1"
+!	    MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent)
+!	   ELSE
+!	    MESSAGE + optimizing for Pentium II/III
+!	   ENDIF
+!	  ENDIF
+!	 ENDIF
+!	ENDIF
+!	IF "$(PREC)" == "SINGLE"
+!	 MESSAGE + using Single precision
+!	ENDIF
+!	IF "$(SNDFILE)" == "YES"
+!	 MESSAGE + using LibSndfile reading input files
+!	ENDIF
+!	MESSAGE ----------------------------------------------------------------------
+
+!	IF "$(COMP)" != "INTEL"
+!	IF "$(COMP)" != "BCC"
+
+#__ Microsoft C options _______________________________________________________
+#
+#	/O2     maximize speed
+#	/Ob<n>  inline expansion
+#	/Og     enable global optimizations
+#	/Oi     enable intrinsic functions
+#	/Ot     favor code speed
+#	/Oy     enable frame pointer omission
+#	/G5     Pentium optimization
+#	/G6     Pentium II/III optimization
+#	/GA     optimize for Windows Application
+#	/GF     enable read-only string pooling
+#	/Gf     enable string spooling
+#	/Gs     disable stack checking calls
+#	/Gy     separate functions for linker
+#	/QIfdiv generate code for Pentium FDIV fix
+#	/QI0f   generate code for Pentium 0x0f erratum fix
+#
+#	remarks:
+#	 - aliasing options seem to break code
+#	 - try to get the Intel compiler demonstration code!
+#	   ICL produces faster code.
+
+# debugging options
+# CC_OPTS = /nologo /Zi /Ge /GZ
+# LN_OPTS = /nologo /debug:full /debugtype:cv /fixed:no
+
+# profiling options
+# CC_OPTS = /nologo /Zi /O2b2gity /G6As /DNDEBUG
+# LN_OPTS = /nologo /debug:full /debugtype:cv /fixed:no /profile
+
+# release options
+!	IF "$(MSVCVER)" == "Win64"
+CC_OPTS = /nologo /DWin64 /O2b2ity /GAy /Gs1024 /Zp8 /GL /GS- /Zi
+!	ELSEIF "$(MSVCVER)" == "8.0"
+CC_OPTS = /nologo /O2 /Wp64 /Oi /GL /arch:SSE /fp:precise
+!	ELSEif "$(CPU)"=="P6"
+CC_OPTS = /nologo /O2 /Ob2 /GAy /Gs1024 /Zp8 /Zi
+!else
+CC_OPTS = /nologo /O2 /Ob2 /GAy /Gs1024 /QIfdiv /QI0f /YX
+!	ENDIF
+
+!	IF "$(MSVCVER)" == "6.0"
+!	IF "$(CPU)" == "P1"
+CC_OPTS = $(CC_OPTS) /G5
+!	ELSE
+CC_OPTS = $(CC_OPTS) /G6
+!	ENDIF
+!	ENDIF
+
+!	IF "$(WARN)" == "OFF"
+CC_OPTS = $(CC_OPTS) /w
+!	ELSE
+CC_OPTS = $(CC_OPTS) /W$(WARN)
+!	ENDIF
+
+!	IF "$(PREC)" == "SINGLE"
+CC_OPTS = $(CC_OPTS) /DFLOAT8=float /DREAL_IS_FLOAT=1
+!	ENDIF
+
+# temporary remove NDEBUG, see configure.in
+#CC_OPTS = $(CC_OPTS) /DNDEBUG /MT
+CC_OPTS = $(CC_OPTS) /MT
+
+LN_OPTS = /nologo /pdb:none
+LN_DLL = /nologo /DLL
+
+CC_OUT = /Fo
+LN_OUT = /OUT:
+
+CC = cl
+LN = link
+
+#_______________________________________________________ Microsoft C options __
+
+
+!	ELSE
+
+#__ Borland BCC options _______________________________________________________
+#
+#	first draft, DLL not working, generates very slow code!
+BCCINST = C:/Borland/BCC55
+
+CC_OPTS = -pc -q -ff -fp -jb -j1 -tWC -tWM -O2 -OS -I$(BCCINST)/include -DNDEBUG -DWIN32
+# dll >> -tWD
+LN_OPTS = -lGn -lGi -lap -lx -L$(BCCINST)/lib
+# dll >> -Tpd
+!	IF "$(CPU)" == "P1"
+CC_OPTS = $(CC_OPTS) -5
+!	ELSE
+CC_OPTS = $(CC_OPTS) -6
+!	ENDIF
+
+!	IF "$(WARN)" == "OFF"
+CC_OPTS = $(CC_OPTS) -w-
+!	ELSE
+CC_OPTS = $(CC_OPTS)
+!	ENDIF
+
+LN_DLL =
+#$(CCINST)/lib/cw32R.lib
+LN_OUT = -e
+CC_OUT = -o
+
+CC = bcc32
+LN = bcc32
+
+OFF = obj
+
+!	ENDIF
+#_______________________________________________________ Borland BCC options __
+
+
+!	ELSE
+
+#__ Intel 4.5 options _________________________________________________________
+#
+#	/YX         enable automatic precompiled header file creation/usage
+#	/Ox         maximum optimization same as /O2 without /Gfy
+#	/O2         same as /Gfsy /Ob1gyti
+#	/Gd      1) make cdecl the default calling convention
+#	/G5      2) optimized for Pentium
+#	/G6      3) optimized for Pentium II/III
+#	/GA         assume single threaded
+#	/Gs[n]      disable stack checks for functions with <n bytes of locals
+#	/GF         read-only string pooling optimization
+#	/Gy         separate functions for the linker
+#	/Qunroll    unroll loops with default heuristic
+#	/QIfist     enable fast float to int conversion
+#	/QIfdiv     enable patch for Pentium with FDIV erratum
+#	/QI0f       enable patch for Pentium with 0f erratum
+#	/Qip     2) enable single-file IP optimizations (within files)
+#	/Qipo       enable multi-file IP optimizations (between files)
+#	/Qipo_wp 4) enable entire program multi-file IP optimizations
+#	/QaxiMK     automatic use of specialized code for PII/III, MMX, SIMD
+#
+#	remarks:
+#	1) slows speed down, not using
+#	2) faster compared to 3) or 4) on Pentium MMX at 200 MHz
+
+!	IF "$(CPU)" == "P1"
+CC_OPTS = /G5 /QaxiMK /QIfdiv /QI0f
+!	ELSE
+!	IF "$(CPU)" == "P2"
+CC_OPTS = /G6 /Qxi /QaxMK
+!	ELSE
+!	IF "$(CPU)" == "P3"
+CC_OPTS = /G6 /QxiMK
+!	ELSE
+CC_OPTS = /G6 /QaxiMK /QIfdiv /QI0f
+!	ENDIF
+!	ENDIF
+!	ENDIF
+
+!	IF "$(WARN)" == "OFF"
+CC_OPTS = $(CC_OPTS) /w
+!	ELSE
+CC_OPTS = $(CC_OPTS) /W2 /Wport
+!	ENDIF
+
+!	IF "$(PREC)" == "SINGLE"
+CC_OPTS = $(CC_OPTS) /DFLOAT8=float /DREAL_IS_FLOAT=1
+!	ENDIF
+
+CC_OPTS = /nologo /DNDEBUG /YX /GA /Ox /Ob2 \
+          /Qunroll /Qsox- /Qip $(CC_OPTS)
+
+
+LN_OPTS = $(CC_OPTS)
+LN_DLL = /LD
+LN_OUT = /Fe
+CC_OUT = /Fo
+
+CC = icl
+LN = icl
+#_________________________________________________________ Intel 4.5 options __
+
+!	ENDIF
+
+
+
+#__ LIBSNDFILE ________________________________________________________________
+#
+#	uncomment the following if you want LibSndfile for input
+#	It's always a good idea to compile it in!
+#
+!	IF "$(SNDFILE)" == "YES"
+SNDFILE_OPTS = /DLIBSNDFILE
+LIBSNDFILE = $(SNDFILE_DIR)libsndfile.lib
+!   ENDIF
+#________________________________________________________________ LIBSNDFILE __
+
+
+
+#-- MISC --
+CPP_OPTS = /DHAVE_CONFIG_H -I.
+
+
+
+#__ FRAME ANALYZER SUPPORT ____________________________________________________
+#
+#	Assuming you have "glib-dev" and "gtk+-dev" installed and the system
+#	DLLs "glib-1.3.dll", "gdk-1.3.dll" and "gtk-1.3.dll" copied into the
+#	"Win\System" folder
+#
+#	To compile in the frame analyzer support, you need the above mentioned
+#	libraries. You can pass the appropriate path to them in GTK_DIRS.
+#
+!	IF "$(GTK)" == "YES"
+!	IF "$(GTK_DIRS)" == ""
+GTK_DIRS = ../3rdparty
+!	ENDIF
+GTK_OPTS = -I$(GTK_DIRS)/glib     \
+           -I$(GTK_DIRS)/gtk+     \
+           -I$(GTK_DIRS)/gtk+/gtk \
+           -I$(GTK_DIRS)/gtk+/gdk
+GTK_LIBS = $(GTK_DIRS)/gtk+/gtk/gtk-1.3.lib \
+           $(GTK_DIRS)/gtk+/gdk/gdk-1.3.lib \
+           $(GTK_DIRS)/glib/glib-1.3.lib
+
+PGM = $(T_MP3X) $(PGM)
+!	ELSE
+!	IF "$(GTK)" == ""
+!	MESSAGE Pass GTK=YES to build the frame analyzer. (requires installed GTK)
+!	ENDIF
+!	ENDIF
+#____________________________________________________ FRAME ANALYZER SUPPORT __
+
+
+
+#__ HIP DECODING ______________________________________________________________
+#
+#	uncomment the following if you want decoding support
+#	It's always a good idea to compile it in!
+#
+CPP_OPTS = $(CPP_OPTS) /DHAVE_MPGLIB
+#___________________________________________________________ HIP DECODING _____
+
+
+
+#__ Takehiro's IEEE hack ______________________________________________________
+#
+#	uncomment the following to enable Takehiro's IEEE hack
+#	You'll want it on a x86 machine with i387 FPU
+#
+CPP_OPTS = $(CPP_OPTS) /DTAKEHIRO_IEEE754_HACK
+#______________________________________________________ Takehiro's IEEE hack __
+
+
+
+#__ Robert's alternate code ___________________________________________________
+!	IF "$(CFG)" == "RH"
+!	IF "$(MSVCVER)" == "8.0"
+LIB_OPTS = $(LIB_OPTS) /LTCG
+LN_OPTS = $(LN_OPTS) /LTCG
+!   ENDIF
+!	ENDIF
+#___________________________________________________ Robert's alternate code __
+
+
+
+CC_SWITCHES = $(CC_OPTS) $(SNDFILE_OPTS) \
+              $(GTK_OPTS) /DBS_FORMAT=BINARY
+
+LN_SWITCHES = $(LN_OPTS)
+
+lame_sources = \
+	frontend/lame_main.c
+
+mpx_sources = \
+	frontend/gpkplotting.c \
+	frontend/gtkanal.c \
+	frontend/mp3x.c
+
+mp3rtp_sources = \
+	frontend/rtp.c \
+	frontend/mp3rtp.c
+
+dll_sources = \
+	dll/BladeMP3EncDll.c
+
+common_sources = \
+	frontend/main.c \
+	frontend/get_audio.c \
+	frontend/parse.c \
+	frontend/timestatus.c \
+	frontend/lametime.c \
+	frontend/console.c \
+	frontend/brhist.c
+
+lamelib_sources = \
+	libmp3lame/bitstream.c \
+	libmp3lame/encoder.c \
+	libmp3lame/fft.c \
+	libmp3lame/gain_analysis.c \
+	libmp3lame/id3tag.c \
+	libmp3lame/lame.c \
+	libmp3lame/newmdct.c \
+	libmp3lame/psymodel.c \
+	libmp3lame/quantize.c \
+	libmp3lame/quantize_pvt.c \
+	libmp3lame/vector/xmm_quantize_sub.c \
+	libmp3lame/set_get.c \
+	libmp3lame/vbrquantize.c \
+	libmp3lame/reservoir.c \
+	libmp3lame/tables.c \
+	libmp3lame/takehiro.c \
+	libmp3lame/util.c \
+	libmp3lame/mpglib_interface.c \
+	libmp3lame/VbrTag.c \
+	libmp3lame/presets.c \
+	libmp3lame/version.c
+
+mpglib_sources = \
+	mpglib/common.c \
+	mpglib/dct64_i386.c \
+	mpglib/decode_i386.c \
+	mpglib/layer1.c \
+	mpglib/layer2.c \
+	mpglib/layer3.c \
+	mpglib/tabinit.c \
+	mpglib/interface.c
+
+
+!IF "$(MSVCVER)" == "Win64"
+ADDL_OBJ = bufferoverflowU.lib
+!ENDIF
+
+LIB_OBJ = $(lamelib_sources:.c=.obj)
+HIP_OBJ = $(mpglib_sources:.c=.obj)
+CMMN_OBJ = $(common_sources:.c=.obj)
+LAME_OBJ = $(lame_sources:.c=.obj)
+MPX_OBJ = $(mpx_sources:.c=.obj)
+MPRTP_OBJ = $(mp3rtp_sources:.c=.obj)
+DLL_OBJ = $(dll_sources:.c=.obj)
+
+.c.obj:
+	@$(CC) $(CPP_OPTS) $(CC_SWITCHES) -Iinclude -Ilibmp3lame -Impglib \
+	       $(CC_OUT)$@  -c $<
+
+
+#__ MASM ______________________________________________________________________
+#
+#	MASM: Microsoft Assembler
+#
+!	IF "$(ASM)" == "ML64"
+#
+.SUFFIXES : .nas
+.nas.obj:
+	@echo $<
+	@ml64 -Ilibmp3lame\i386 -Sf -DWIN32 -DWIN64 $< -Fo$@
+
+CC_SWITCHES = $(CC_SWITCHES) -DHAVE_NASM
+ASM_OBJ = $(ASM_OBJ) \
+	libmp3lame\i386\cpu_feat.obj \
+	libmp3lame\i386\fft3dn.obj \
+	libmp3lame\i386\fftsse.obj
+
+#	not yet coded
+#CC_SWITCHES = $(CC_SWITCHES) -DUSE_FFTFPU
+#ASM_OBJ = $(ASM_OBJ) libmp3lame\i386\fftfpu.obj
+#______________________________________________________________________ MASM __
+
+
+#__ NASM ______________________________________________________________________
+#
+#	NASM: Netwide Assembler
+#
+!	ELSEIF "$(ASM)" == "YES"
+#
+.SUFFIXES : .nas
+.nas.obj:
+	@echo $<
+	@nasmw -f $(OFF) -i libmp3lame/i386/ -DWIN32 $< -o $@
+
+CC_SWITCHES = $(CC_SWITCHES) /DHAVE_NASM
+ASM_OBJ = $(ASM_OBJ) \
+	libmp3lame\i386\cpu_feat.obj \
+	libmp3lame\i386\fft3dn.obj \
+	libmp3lame\i386\fftsse.obj
+
+#	not yet coded
+#CC_SWITCHES = $(CC_SWITCHES) /DUSE_FFTFPU
+#ASM_OBJ = $(ASM_OBJ) libmp3lame/i386/fftfpu.obj
+#______________________________________________________________________ NASM __
+
+!	ELSE
+!	MESSAGE Pass ASM=YES to build the assembler optimizations
+!	ENDIF
+
+
+#__ MMX _______________________________________________________________________
+#
+#	you need NASM but *not necessarily* a processor with MMX
+#	The above CPU feature detection code allows to run the same
+#	binary on a CPU without MMX too!
+#
+!	IF "$(ASM)" == "YES"
+!	IF "$(MMX)" == "YES"
+CC_SWITCHES = $(CC_SWITCHES) /DMMX_choose_table
+ASM_OBJ = $(ASM_OBJ) libmp3lame/i386/choose_table.obj
+!	ENDIF
+!	ENDIF
+#_______________________________________________________________________ MMX __
+
+!	MESSAGE
+
+no_target_specified :	$(PGM)
+	@echo.
+	@echo --=*  $(PGM) uptodate  *=--
+	@echo.
+
+target_directory :
+	@if not exist $(TARGET_DIR) mkdir $(TARGET_DIR)
+	
+common:	$(CMMN_OBJ)
+	@echo.
+	@echo --- COMMON FRONTEND STUFF UPTODATE ---
+	@echo.
+
+libA:	$(LIB_OBJ)
+	@echo.
+	@echo --- LAME MP3 ENCODING LIBRARY UPTODATE ---
+	@echo.
+
+libB:	$(HIP_OBJ)
+	@echo.
+	@echo --- HIP DECODING LIBRARY UPTODATE ---
+	@echo.
+
+lib: $(ASM_OBJ) libA libB
+
+lame.res: ./libmp3lame/lame.rc
+	@rc.exe /d "NDEBUG" /d "_APP=lame.exe" /l 0x409 /fo"./frontend/lame.res" "./libmp3lame/lame.rc"
+
+mp3rtp.res: ./libmp3lame/lame.rc
+	@rc.exe /d "NDEBUG" /d "_APP=mp3rtp.exe" /l 0x409 /fo"./frontend/mp3rtp.res" "./libmp3lame/lame.rc"
+
+mp3x.res: ./libmp3lame/lame.rc
+	@rc.exe /d "NDEBUG" /d "_APP=mp3x.exe" /l 0x409 /fo"./frontend/mp3x.res" "./libmp3lame/lame.rc"
+
+lame_enc.res: ./libmp3lame/lame.rc
+	@rc.exe /d "NDEBUG" /d "_DLL=lame_enc.dll" /l 0x409 /fo"./frontend/lame_enc.res" "./libmp3lame/lame.rc"
+
+$(T_LAME) : target_directory config.h $(T_LIB_STATIC) common $(LAME_OBJ) lame.res
+	@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) $(LIBSNDFILE) \
+	       $(TARGET_DIR)$(T_LIB_STATIC) $(CMMN_OBJ) $(LAME_OBJ) $(ADDL_OBJ) \
+	       ./frontend/lame.res
+	@echo.
+	@echo --=*  $(TARGET_DIR)$@ ready  *=--
+	@echo.
+
+$(T_MP3X) : target_directory config.h lib common $(MPX_OBJ) mp3x.res
+	@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) $(GTK_LIBS) $(LIBSNDFILE) \
+	       $(TARGET_DIR)$(T_LIB_STATIC) $(CMMN_OBJ) $(MPX_OBJ) $(ADDL_OBJ) \
+	       ./frontend/mp3x.res
+	@echo.
+	@echo --=*  $(TARGET_DIR)$@ ready  *=--
+	@echo.
+
+$(T_MP3RTP) : target_directory config.h lib common $(MPRTP_OBJ) mp3rtp.res
+	@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) $(LIBSNDFILE) \
+	       $(TARGET_DIR)$(T_LIB_STATIC) $(CMMN_OBJ) $(MPRTP_OBJ) $(ADDL_OBJ) \
+	       ./frontend/mp3rtp.res wsock32.lib
+	@echo.
+	@echo --=*  $(TARGET_DIR)$@ ready  *=--
+	@echo.
+
+$(T_LEGACY_DLL) : target_directory config.h $(DLL_OBJ) lame_enc.res
+	@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) \
+	       $(TARGET_DIR)$(T_LIB_STATIC) $(LN_DLL) \
+	       $(DLL_OBJ) $(ADDL_OBJ) ./frontend/lame_enc.res user32.lib
+	@echo.
+	@echo --=*  $(TARGET_DIR)$@ ready  *=--
+	@echo.
+
+$(T_DLL) : target_directory config.h $(T_LIB_STATIC) 
+	@$(LN) $(LN_DLL) $(MACHINE) \
+		/DEF:"include\lame.def" \
+		$(ADDL_OBJ) \
+		$(LN_OUT)"$(TARGET_DIR)$@" \
+		$(TARGET_DIR)$(T_LIB_STATIC) libmp3lame\version.obj 
+	@echo.
+	@echo --=*  $(TARGET_DIR)$@ ready  *=--
+	@echo.
+
+$(T_LIB_STATIC) : target_directory lib
+	@lib $(LIB_OPTS) \
+		/OUT:"$(TARGET_DIR)$@" \
+		$(ASM_OBJ) $(LIB_OBJ) $(HIP_OBJ)
+	@echo.
+	@echo --=*  $(TARGET_DIR)$@ ready  *=--
+	@echo.
+		
+config.h : configMS.h
+	@-copy configMS.h config.h
+
+clean:
+	@-del $(TARGET_DIR)$(T_LAME)
+	@-del $(TARGET_DIR)$(T_MP3X)
+	@-del $(TARGET_DIR)$(T_MP3RTP)
+	@-del $(TARGET_DIR)$(T_DLL)
+	@-del $(TARGET_DIR)$(T_LIB_STATIC)
+	@-del $(TARGET_DIR)$(T_LIB_DYNAMIC)
+	@-del $(TARGET_DIR)$(T_LEGACY_DLL)
+	@-del lame.pdb
+	@-del icl.pch
+	@-del $(TARGET_DIR)lame_enc.*
+	@-del frontend\*.obj
+	@-del dll\*.obj
+	@-del mpglib\*.obj
+	@-del libmp3lame\*.obj
+	@-del libmp3lame\i386\*.obj
+	@-del libmp3lame\vector\*.obj
+	@-del libmp3lame\*.res
+	@-del frontend\*.res
+
+
+rebuild: clean all
+
+
+lame	:	$(T_LAME)
+lame_enc:	$(T_LEGACY_DLL)
+dll 	:	$(T_DLL) $(T_LEGACY_DLL) 
+mp3x	:	$(T_MP3X)
+mp3rtp	:	$(T_MP3RTP)
+
+
+all :	$(PGM) mp3rtp dll lame_enc 
+	@echo.
+	@echo --=*  all uptodate  *=--
+	@echo.

+ 64 - 0
Makefile.am

@@ -0,0 +1,64 @@
+## $Id$
+
+include $(top_srcdir)/Makefile.am.global
+
+.PHONY: test
+
+SUBDIRS = mpglib libmp3lame frontend Dll doc include misc dshow ACM \
+	mac macosx vc_solution
+
+CLEANFILES = testcase.new.mp3
+
+EXTRA_DIST = \
+	API \
+	DEFINES \
+	HACKING \
+	INSTALL.configure \
+	LICENSE \
+	Makefile.MSVC \
+	Makefile.unix \
+	Makefile.am.global \
+	README.WINGTK \
+	STYLEGUIDE \
+	USAGE \
+	configMS.h \
+	debian \
+	lame.bat \
+	lame.spec.in \
+	lame.spec \
+	testcase.mp3 \
+	testcase.wav
+
+#
+# The differences depend on the used processor architecture, the used
+# compiler and the used options for the compiler, so make test may
+# show some differences. You should only be concerned if you are a
+# LAME developer and the number of differences change after you
+# modified the source.
+#
+testcase.new.mp3: testcase.wav frontend/lame$(EXEEXT)
+	time frontend/lame$(EXEEXT) --nores $(top_srcdir)/testcase.wav testcase.new.mp3 || $(RM_F) testcase.new.mp3
+
+test: testcase.mp3 testcase.new.mp3
+	@echo
+	@echo "The following output has value only for a LAME-developer, do not make _any_"
+	@echo "assumptions about what this number means. You do not need to care about it."
+	@cmp -l testcase.new.mp3 $(top_srcdir)/testcase.mp3 | wc -l
+
+testupdate: testcase.mp3 testcase.new.mp3
+	cp testcase.new.mp3 $(top_srcdir)/testcase.mp3
+
+testg: frontend/mp3x$(EXEEXT) $(top_srcdir)/../test/castanets.wav
+	frontend/mp3x$(EXEEXT) -h $(top_srcdir)/../test/castanets.wav
+
+update:
+	cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 -q update -dAP || true
+
+diff:
+	cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 diff -u || true
+
+frontend/lame$(EXEEXT):
+	$(MAKE) $(MAKEFLAGS)
+
+frontend/mp3x$(EXEEXT): frontend/lame$(EXEEXT)
+

+ 7 - 0
Makefile.am.global

@@ -0,0 +1,7 @@
+## $Id$
+
+# global section for every Makefile.am
+
+AUTOMAKE_OPTIONS = 1.15 foreign
+
+# end global section

+ 906 - 0
Makefile.in

@@ -0,0 +1,906 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# global section for every Makefile.am
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__DIST_COMMON)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = lame.spec
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+	$(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+CSCOPE = cscope
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(srcdir)/lame.spec.in $(top_srcdir)/Makefile.am.global \
+	COPYING ChangeLog INSTALL README TODO compile config.guess \
+	config.rpath config.sub depcomp install-sh ltmain.sh missing
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  if test -d "$(distdir)"; then \
+    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+      && rm -rf "$(distdir)" \
+      || { sleep 5 && rm -rf "$(distdir)"; }; \
+  else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_DEFS = @CONFIG_DEFS@
+CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPUCCODE = @CPUCCODE@
+CPUTYPE = @CPUTYPE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
+FRONTEND_LDADD = @FRONTEND_LDADD@
+FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_CONFIG = @GTK_CONFIG@
+GTK_LIBS = @GTK_LIBS@
+INCLUDES = @INCLUDES@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDADD = @LDADD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
+LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEDEP = @MAKEDEP@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NASM = @NASM@
+NASM_FORMAT = @NASM_FORMAT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RM_F = @RM_F@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WITH_FRONTEND = @WITH_FRONTEND@
+WITH_MP3RTP = @WITH_MP3RTP@
+WITH_MP3X = @WITH_MP3X@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = 1.15 foreign
+SUBDIRS = mpglib libmp3lame frontend Dll doc include misc dshow ACM \
+	mac macosx vc_solution
+
+CLEANFILES = testcase.new.mp3
+EXTRA_DIST = \
+	API \
+	DEFINES \
+	HACKING \
+	INSTALL.configure \
+	LICENSE \
+	Makefile.MSVC \
+	Makefile.unix \
+	Makefile.am.global \
+	README.WINGTK \
+	STYLEGUIDE \
+	USAGE \
+	configMS.h \
+	debian \
+	lame.bat \
+	lame.spec.in \
+	lame.spec \
+	testcase.mp3 \
+	testcase.wav
+
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh: Makefile
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+$(top_srcdir)/Makefile.am.global $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+	@test -f $@ || rm -f stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+lame.spec: $(top_builddir)/config.status $(srcdir)/lame.spec.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool config.lt
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+	test ! -s cscope.files \
+	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+	-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
+	$(am__post_remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+	$(am__post_remove_distdir)
+
+dist-lzip: distdir
+	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+	$(am__post_remove_distdir)
+
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+	$(am__post_remove_distdir)
+
+dist-tarZ: distdir
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__post_remove_distdir)
+
+dist-shar: distdir
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+	shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
+	$(am__post_remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__post_remove_distdir)
+
+dist dist-all:
+	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+	$(am__post_remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lz*) \
+	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir)
+	chmod u+w $(distdir)
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
+	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
+	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
+	$(am__post_remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@test -n '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: trying to run $@ with an empty' \
+	       '$$(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	$(am__cd) '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) all install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+	am--refresh check check-am clean clean-cscope clean-generic \
+	clean-libtool cscope cscopelist-am ctags ctags-am dist \
+	dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
+	dist-xz dist-zip distcheck distclean distclean-generic \
+	distclean-hdr distclean-libtool distclean-tags distcleancheck \
+	distdir distuninstallcheck dvi dvi-am html html-am info \
+	info-am install install-am install-data install-data-am \
+	install-dvi install-dvi-am install-exec install-exec-am \
+	install-html install-html-am install-info install-info-am \
+	install-man install-pdf install-pdf-am install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+	uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# end global section
+
+.PHONY: test
+
+#
+# The differences depend on the used processor architecture, the used
+# compiler and the used options for the compiler, so make test may
+# show some differences. You should only be concerned if you are a
+# LAME developer and the number of differences change after you
+# modified the source.
+#
+testcase.new.mp3: testcase.wav frontend/lame$(EXEEXT)
+	time frontend/lame$(EXEEXT) --nores $(top_srcdir)/testcase.wav testcase.new.mp3 || $(RM_F) testcase.new.mp3
+
+test: testcase.mp3 testcase.new.mp3
+	@echo
+	@echo "The following output has value only for a LAME-developer, do not make _any_"
+	@echo "assumptions about what this number means. You do not need to care about it."
+	@cmp -l testcase.new.mp3 $(top_srcdir)/testcase.mp3 | wc -l
+
+testupdate: testcase.mp3 testcase.new.mp3
+	cp testcase.new.mp3 $(top_srcdir)/testcase.mp3
+
+testg: frontend/mp3x$(EXEEXT) $(top_srcdir)/../test/castanets.wav
+	frontend/mp3x$(EXEEXT) -h $(top_srcdir)/../test/castanets.wav
+
+update:
+	cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 -q update -dAP || true
+
+diff:
+	cd $(top_srcdir) && CVS_RSH=ssh cvs -z3 diff -u || true
+
+frontend/lame$(EXEEXT):
+	$(MAKE) $(MAKEFLAGS)
+
+frontend/mp3x$(EXEEXT): frontend/lame$(EXEEXT)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

+ 668 - 0
Makefile.unix

@@ -0,0 +1,668 @@
+# Makefile for LAME 3.xx -*- makefile -*-
+#
+# LAME is reported to work under:
+# Linux (i86), NetBSD 1.3.2 (StrongARM), FreeBSD (i86)
+# Compaq Alpha(OSF, Linux, Tru64 Unix), Sun Solaris, SGI IRIX,
+# OS2 Warp, Macintosh PPC, BeOS, Amiga and even VC++
+#
+
+# these variables are available on command line:
+#
+#   make UNAME=xxxxx ARCH=xxxxx   - specify a type of host
+#   make PGM=lame_exp             - specify a name of an executable file
+#
+# if you have mingw32-gcc, try:
+#   make -fMakefile.unix UNAME=MSDOS
+# or if you get the error
+# "process_begin: CreateProcess((null), copy configMS.h config.h, ...)":
+#   make -fMakefile.unix UNAME=MSDOS NOUNIXCMD=NO
+# or if you have NASM:
+#   make -fMakefile.unix UNAME=MSDOS HAVE_NASM=YES
+#
+
+ifeq ($(UNAME),MSDOS)
+  UNAME ?= UNKNOWN
+  ARCH = x86
+  NOUNIXCMD = YES
+else
+  UNAME = $(shell uname)
+  ARCH = $(shell uname -m)
+  iARCH = $(patsubst i%86,x86,$(ARCH))
+endif
+
+HAVE_NASM = NO
+HAVE_NEWER_GLIBC = NO
+NASM_FLAGS=elf
+
+# generic defaults. OS specific options go in versious sections below
+PGM = lame
+CC = gcc
+CC_OPTS =  -O
+CPP_OPTS = -Iinclude -Impglib -Ifrontend -Ilibmp3lame
+AR = ar
+RANLIB = ranlib
+GTK =
+GTKLIBS =
+LIBSNDFILE =
+LIBS = -lm
+MP3LIB = libmp3lame/libmp3lame.a
+MP3LIB_SHARED = libmp3lame/libmp3lame.so
+MAKEDEP = -M
+BRHIST_SWITCH =
+LIBTERMCAP =
+RM = rm -f
+
+CPP_OPTS += -DHAVE_CONFIG_H -I.
+
+##########################################################################
+# -DHAVEMPGLIB compiles the mpglib *decoding* library into libmp3lame
+##########################################################################
+CPP_OPTS += -DHAVE_MPGLIB
+
+##########################################################################
+# -DTAKEHIRO_IEEE754_HACK enables Takehiro's IEEE hack
+##########################################################################
+ifeq ($(iARCH),x86)
+ ifeq ($(CFG),RH_SSE)
+# SSE and IEEE754 HACK don't work together
+ else
+	CPP_OPTS += -DTAKEHIRO_IEEE754_HACK
+ endif
+endif
+
+##########################################################################
+# Define these in the OS specific sections below to compile in code
+# for the optional VBR bitrate histogram.
+# Requires ncurses, but libtermcap also works.
+# If you have any trouble, just dont define these
+#
+# BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_{NCURSES_}TERMCAP_H
+# LIBTERMCAP = -lncurses
+# LIBTERMCAP = -ltermcap
+#
+# or, to try and simulate TERMCAP (ANSI), use:
+# BRHIST_SWITCH = -DBRHIST
+#
+##########################################################################
+
+
+##########################################################################
+# Define these in the OS specific sections below to compile in code for:
+#
+# SNDLIB = -DLIBSNDFILE   to use Erik de Castro Lopo's libsndfile
+# http://www.zip.com.au/~erikd/libsndfile/ instead of LAME's internal
+# routines.  Also set:
+#
+# LIBSNDFILE = -lsndfile
+# or
+# LIBSNDFILE = -L/location_of_libsndfile  -lsndfile
+#
+##########################################################################
+
+
+##########################################################################
+# Define these in the OS specific sections below to compile in code for
+# the GTK mp3 frame analyzer
+#
+# Requires  -DHAVE_MPGLIB
+#
+# GTK = -DHAVE_GTK `gtk-config --cflags`
+# GTKLIBS = `gtk-config --libs`
+#
+##########################################################################
+
+
+
+
+##########################################################################
+# LINUX
+##########################################################################
+ifeq ($(UNAME),Linux)
+#  The frame analyzer depends on gtk1.2. Uncomment the next 2 lines to get it
+#   GTK = -DHAVE_GTK `gtk-config --cflags`
+#   GTKLIBS = `gtk-config --libs`
+# Comment out next 2 lines if you want to remove VBR histogram capability
+   BRHIST_SWITCH = -DHAVE_TERMCAP -DHAVE_TERMCAP_H
+   LIBTERMCAP = -lncurses
+#  uncomment to use LIBSNDFILE
+#   SNDLIB = -DLIBSNDFILE
+#   LIBSNDFILE=-lsndfile
+
+# suggested for gcc-2.7.x
+#  CC_OPTS =  -O3 -fomit-frame-pointer -funroll-loops -ffast-math  -finline-functions -Wall -pedantic
+#  CC_OPTS =  -O9 -fomit-frame-pointer -fno-strength-reduce -mpentiumpro -ffast-math -finline-functions -funroll-loops -Wall -malign-double -g -march=pentiumpro -mfancy-math-387 -pipe -pedantic
+
+# Suggested for GCC 4.* & machines with sse+sse2+sse3: -Os might reduce
+# the use of the instruction cache and, thus, get better performance,
+# but this should be experimented by the user. Customize at your own
+# convenience.
+#
+#CC_OPTS = -pipe -O3 \
+#	-Wall -Wextra -pedantic \
+#	-Wmissing-declarations -Wfloat-equal -Wshadow \
+#	-Wcast-qual -Wcast-align -Wdisabled-optimization \
+#	-ffast-math -ftree-vectorize -ftree-vect-loop-version \
+#	-mtune=nocona -march=nocona -mfpmath=sse -msse -msse2 -msse3 \
+#	-malign-double -maccumulate-outgoing-args
+
+#  for debugging:
+  CC_OPTS =  -UNDEBUG -O -Wall -pedantic -ggdb -DABORTFP
+
+#  for lots of debugging:
+#   CC_OPTS =  -DDEBUG -UNDEBUG  -O -Wall -pedantic -g -DABORTFP
+
+
+ifeq ($(CFG),RH)
+   GTK = -DHAVE_GTK `gtk-config --cflags`
+   GTKLIBS = `gtk-config --libs`
+   CPP_OPTS += -DFLOAT8=float -DREAL_IS_FLOAT=1 -DHAVE_ICONV -DHAVE_XMMINTRIN_H -D_ALLOW_INTERNAL_OPTIONS
+# these options for gcc-3.2 & AthlonXP
+   CC_OPTS = \
+	-pipe -O3 \
+	-Wall -W -Wmissing-declarations -Wfloat-equal -Wformat \
+	-Wcast-qual -Wcast-align -Wdisabled-optimization -Wshadow \
+	-march=athlon-xp \
+	-malign-double \
+	-maccumulate-outgoing-args
+#	-Wconversion -Wunreachable-code \
+
+   HAVE_NEWER_GLIBC = YES
+   HAVE_NASM = YES
+endif
+
+ifeq ($(CFG),RH_SSE)
+   GTK = -DHAVE_GTK `gtk-config --cflags`
+   GTKLIBS = `gtk-config --libs`
+   CPP_OPTS += -DFLOAT8=float -DREAL_IS_FLOAT=1 -DHAVE_ICONV -DHAVE_XMMINTRIN_H -DMIN_ARCH_SSE -D_ALLOW_INTERNAL_OPTIONS
+# these options for gcc-3.2 & AthlonXP
+   CC_OPTS = \
+	-std=c99 -pipe -O3 -fstrict-aliasing \
+	-Wall -W -Wmissing-declarations -Wfloat-equal -Wformat \
+	-Wcast-qual -Wcast-align -Wdisabled-optimization -Wshadow \
+	-Wunsafe-loop-optimizations \
+	-march=k8 \
+	-ffast-math \
+	-mfpmath=sse -msse -msse2  \
+	-malign-double \
+	-funsafe-math-optimizations \
+	-funsafe-loop-optimizations \
+	-maccumulate-outgoing-args
+# -Dpowf=pow -Dfabsf=fabs -Dlog10f=log10
+#	-fsingle-precision-constant \
+#	-Wconversion -Wunreachable-code \
+# -ftree-vectorizer-verbose=10 \
+
+   HAVE_NEWER_GLIBC = YES
+#   HAVE_NASM = YES
+   NASM_FLAGS = elf64
+endif
+
+ifeq ($(CFG),RH_INTEL)
+   CC=icc
+   GTK = -DHAVE_GTK `gtk-config --cflags`
+   GTKLIBS = `gtk-config --libs`
+   CPP_OPTS += -DFLOAT8=float -DREAL_IS_FLOAT=1 -DHAVE_ICONV -DHAVE_XMMINTRIN_H -DMIN_ARCH_SSE -D_ALLOW_INTERNAL_OPTIONS
+
+  CC_OPTS = \
+	-cxxlib-nostd \
+	-O3 -fno-alias -ip -finline-limit=400 \
+ 	-scalar-rep
+# -vec_report5 -opt-report
+# -parallel
+
+endif
+
+ifeq ($(CFG),PFK)
+   CPP_OPTS += -DKLEMM -DKLEMM_00 -DKLEMM_01 -DKLEMM_02 -DKLEMM_03 -DKLEMM_04 -DKLEMM_05 -DKLEMM_06 -DKLEMM_07 -DKLEMM_08 -DKLEMM_09 -DKLEMM_10 -DKLEMM_11 -DKLEMM_12 -DKLEMM_13 -DKLEMM_14 -DKLEMM_15 -DKLEMM_16 -DKLEMM_17 -DKLEMM_18 -DKLEMM_19 -DKLEMM_20 -DKLEMM_21 -DKLEMM_22 -DKLEMM_23 -DKLEMM_24 -DKLEMM_25 -DKLEMM_26 -DKLEMM_27 -DKLEMM_28 -DKLEMM_29 -DKLEMM_30 -DKLEMM_31 -DKLEMM_32 -DKLEMM_33 -DKLEMM_34 -DKLEMM_35 -DKLEMM_36 -DKLEMM_37 -DKLEMM_38 -DKLEMM_39 -DKLEMM_40 -DKLEMM_41 -DKLEMM_42 -DKLEMM_43 -DKLEMM_44 -DKLEMM_45 -DKLEMM_46 -DKLEMM_47 -DKLEMM_48 -DKLEMM_49 -DKLEMM_50
+   CC_OPTS = \
+	-Wall -O9 -fomit-frame-pointer -march=pentium \
+	-finline-functions -fexpensive-optimizations \
+	-funroll-loops -funroll-all-loops -pipe -fschedule-insns2 \
+	-fstrength-reduce \
+	-malign-double -mfancy-math-387 -ffast-math
+
+   HAVE_NEWER_GLIBC = YES
+   HAVE_NASM = YES
+endif
+
+##########################################################################
+# LINUX on Digital/Compaq Alpha CPUs
+##########################################################################
+ifeq ($(ARCH),alpha)
+
+################################################################
+#### Check if 'ccc' is in our path
+####   if not, use 'gcc'
+################################################################
+ifeq ($(shell which ccc 2>/dev/null | grep -c ccc),0)
+
+# double is faster than float on Alpha
+CC_OPTS =       -O4 -pedantic -Wall -fomit-frame-pointer -ffast-math -funroll-loops \
+                -mfp-regs -fschedule-insns -fschedule-insns2 \
+                -finline-functions \
+#                -DFLOAT=double
+# add "-mcpu=21164a -Wa,-m21164a" to optimize for 21164a (ev56) CPU
+
+################################################################
+#### else, use 'ccc'
+################################################################
+else
+
+# Compaq's C Compiler
+CC = ccc
+
+################################################################
+#### set 'CC_OPTS = -arch host -tune host' to generate/tune instructions for this machine
+####     'CC_OPTS += -migrate -fast -inline speed -unroll 0' tweak to run as fast as possible :)
+####     'CC_OPTS += -w0 -pedantic -Wall' set warning and linking flags
+################################################################
+CC_OPTS = -arch host -tune host
+CC_OPTS += -migrate -fast -inline speed -unroll 0
+CC_OPTS += -w0 -pedantic -Wall
+
+
+################################################################
+#### to debug, uncomment
+################################################################
+# For Debugging
+#CC_OPTS += -g3
+
+################################################################
+#### define __DECALPHA__ (i was getting re-declaration warnings
+####   in machine.h
+################################################################
+# Define DEC Alpha
+CPP_OPTS += -D__DECALPHA__
+
+# standard Linux libm
+#LIBS	=	-lm
+# optimized libffm (free fast math library)
+#LIBS	=	-lffm
+# Compaq's fast math library
+LIBS    =       -lcpml
+endif  #  gcc or ccc?
+endif  #  alpha
+endif  #  linux
+
+
+
+##########################################################################
+# FreeBSD
+##########################################################################
+ifeq ($(UNAME),FreeBSD)
+#  remove if you do not have GTK or do not want the GTK frame analyzer
+   GTK = -DHAVE_GTK `gtk12-config --cflags`
+   GTKLIBS = `gtk12-config --libs`
+# Comment out next 2 lines if you want to remove VBR histogram capability
+   BRHIST_SWITCH = -DHAVE_TERMCAP -DHAVE_TERMCAP_H
+   LIBTERMCAP = -lncurses
+
+endif
+
+
+
+##########################################################################
+# OpenBSD
+##########################################################################
+ifeq ($(UNAME),OpenBSD)
+#  remove if you do not have GTK or do not want the GTK frame analyzer
+   GTK = -DHAVE_GTK `gtk-config --cflags`
+   GTKLIBS = `gtk-config --libs`
+# Comment out next 2 lines if you want to remove VBR histogram capability
+   BRHIST_SWITCH = -DHAVE_TERMCAP -DHAVE_TERMCAP_H
+   LIBTERMCAP = -lcurses
+endif
+
+
+
+
+##########################################################################
+# SunOS
+##########################################################################
+ifeq ($(UNAME),SunOS)
+   CC = cc
+   CC_OPTS = -O -xCC
+   MAKEDEP = -xM
+# for gcc, use instead:
+#   CC = gcc
+#   CC_OPTS = -O
+#   MAKEDEP = -M
+endif
+
+
+
+##########################################################################
+# SGI
+##########################################################################
+ifeq ($(UNAME),IRIX64)
+   CC = cc
+   CC_OPTS = -O3 -woff all
+
+#optonal:
+#   GTK = -DHAVE_GTK `gtk-config --cflags`
+#   GTKLIBS = `gtk-config --libs`
+#   BRHIST_SWITCH = -DBRHIST -DHAVE_TERMCAP -DHAVE_TERMCAP_H
+#   LIBTERMCAP = -lncurses
+
+endif
+ifeq ($(UNAME),IRIX)
+   CC = cc
+   CC_OPTS = -O3 -woff all
+endif
+
+
+
+##########################################################################
+# Compaq Alpha running Dec Unix (OSF)
+##########################################################################
+ifeq ($(UNAME),OSF1)
+   CC = cc
+   CC_OPTS = -fast -O3 -std -g3 -non_shared
+endif
+
+##########################################################################
+# BeOS
+##########################################################################
+ifeq ($(UNAME),BeOS)
+   CC = $(BE_C_COMPILER)
+   LIBS =
+ifeq ($(ARCH),BePC)
+   CC_OPTS = -O9 -fomit-frame-pointer -march=pentium \
+   -mcpu=pentium -ffast-math -funroll-loops \
+   -fprofile-arcs -fbranch-probabilities
+else
+   CC_OPTS = -opt all
+   MAKEDEP = -make
+endif
+endif
+
+###########################################################################
+# MOSXS (Rhapsody PPC)
+###########################################################################
+ifeq ($(UNAME),Rhapsody)
+   CC = cc
+   LIBS =
+   CC_OPTS = -O9 -ffast-math -funroll-loops -fomit-frame-pointer
+   MAKEDEP = -make
+
+endif
+##########################################################################
+# OS/2
+##########################################################################
+# Properly installed EMX runtime & development package is a prerequisite.
+# tools I used: make 3.76.1, uname 1.12, sed 2.05, PD-ksh 5.2.13
+#
+##########################################################################
+ifeq ($(UNAME),OS/2)
+   SHELL=sh
+   CC = gcc
+   CC_OPTS = -O3 -D__OS2__
+   PGM = lame.exe
+   LIBS =
+   RANLIB = touch
+
+# I use the following for slightly better performance on my Pentium-II
+# using pgcc-2.91.66:
+#   CC_OPTS = -O6 -ffast-math -funroll-loops -mpentiumpro -march=pentiumpro -D__OS2__
+# for the unfortunates with a regular pentium (using pgcc):
+# CC_OPTS = -O6 -ffast-math -funroll-loops -mpentium -march=pentium -D__OS2__
+
+# Comment out next 2 lines if you want to remove VBR histogram capability
+   BRHIST_SWITCH = -DHAVE_TERMCAP -DHAVE_{NCURSES_}TERMCAP_H
+   LIBTERMCAP = -lncurses
+
+# Uncomment & inspect the 2 GTK lines to use MP3x GTK frame analyzer.
+# Properly installed XFree86/devlibs & GTK+ is a prerequisite.
+# The following works for me using Xfree86/OS2 3.3.5 and GTK+ 1.2.3:
+#   GTK = -DHAVE_GTK -IC:/XFree86/include/gtk12 -Zmt -D__ST_MT_ERRNO__ -IC:/XFree86/include/glib12 -IC:/XFree86/include
+#   GTKLIBS = -LC:/XFree86/lib -Zmtd -Zsysv-signals -Zbin-files -lgtk12 -lgdk12 -lgmodule -lglib12 -lXext -lX11 -lshm -lbsd -lsocket -lm
+endif
+
+
+
+###########################################################################
+# MSDOS/Windows
+###########################################################################
+ifeq ($(UNAME),MSDOS)
+  RM =
+  CC_OPTS = \
+       -Wall -pipe -O3 -fomit-frame-pointer -ffast-math -funroll-loops \
+       -fschedule-insns2 -fmove-all-movables -freduce-all-givs         \
+       -mcpu=pentium -march=pentium -mfancy-math-387
+  CC_OPTS += -D_cdecl=__cdecl
+  PGM = lame.exe
+endif
+
+
+
+###########################################################################
+# AmigaOS
+###########################################################################
+# Type 'Make ARCH=PPC' for PowerUP and 'Make ARCH=WOS' for WarpOS
+#
+###########################################################################
+ifeq ($(UNAME),AmigaOS)
+	CC = gcc -noixemul
+	CC_OPTS = -O3 -ffast-math -funroll-loops -m68020-60 -m68881
+	BRHIST_SWITCH = -DBRHIST
+	MAKEDEP = -MM
+	ifeq ($(ARCH),WOS)
+		CC = ppc-amigaos-gcc -warpup
+		CC_OPTS = -O3 -ffast-math -fomit-frame-pointer -funroll-loops \
+		-mmultiple -mcpu=603e
+		AR = ppc-amigaos-ar
+		RANLIB = ppc-amigaos-ranlib
+		LIBS =
+	endif
+	ifeq ($(ARCH),PPC)
+		CC = ppc-amigaos-gcc
+		CC_OPTS = -O3 -ffast-math -fomit-frame-pointer -funroll-loops \
+		-mmultiple -mcpu=603e
+		AR = ppc-amigaos-ar
+		RANLIB = ppc-amigaos-ranlib
+		LIBS =
+	endif
+endif
+
+
+# 10/99 added -D__NO_MATH_INLINES to fix a bug in *all* versions of
+# gcc 2.8+ as of 10/99.
+
+ifeq ($(HAVE_NEWER_GLIBC),YES)
+CC_SWITCHES =
+else
+CC_SWITCHES = -D__NO_MATH_INLINES  # only needed by some older glibc
+endif
+
+# temporary remove NDEBUG, see configure.in
+#CC_SWITCHES += -DNDEBUG $(CC_OPTS) $(SNDLIB) $(BRHIST_SWITCH)
+CC_SWITCHES += $(CC_OPTS) $(SNDLIB) $(BRHIST_SWITCH)
+frontend_sources = \
+	frontend/main.c \
+	frontend/amiga_mpega.c \
+        frontend/brhist.c \
+	frontend/get_audio.c \
+        frontend/lametime.c \
+        frontend/parse.c \
+	frontend/timestatus.c \
+	frontend/console.c \
+
+lib_sources = \
+	libmp3lame/bitstream.c \
+	libmp3lame/encoder.c \
+	libmp3lame/fft.c \
+	libmp3lame/gain_analysis.c \
+        libmp3lame/id3tag.c \
+        libmp3lame/lame.c \
+        libmp3lame/newmdct.c \
+	libmp3lame/psymodel.c \
+	libmp3lame/quantize.c \
+	libmp3lame/quantize_pvt.c \
+        libmp3lame/set_get.c \
+	libmp3lame/vbrquantize.c \
+	libmp3lame/reservoir.c \
+	libmp3lame/tables.c \
+	libmp3lame/takehiro.c \
+	libmp3lame/util.c \
+	libmp3lame/mpglib_interface.c \
+        libmp3lame/VbrTag.c \
+        libmp3lame/version.c \
+        libmp3lame/presets.c \
+        libmp3lame/vector/xmm_quantize_sub.c \
+        mpglib/common.c \
+        mpglib/dct64_i386.c \
+        mpglib/decode_i386.c \
+        mpglib/layer1.c \
+        mpglib/layer2.c \
+        mpglib/layer3.c \
+        mpglib/tabinit.c \
+        mpglib/interface.c
+
+
+#ifeq ($(UNAME),MSDOS)
+#  frontend_sources := $(subst /,\,$(frontend_sources))
+#  lib_sources := $(subst /,\,$(lib_sources))
+#endif
+
+frontend_obj = $(frontend_sources:.c=.o)
+lib_obj = $(lib_sources:.c=.o)
+
+DEP = $(frontend_sources:.c=.d) $(lib_sources:.c=.d )
+
+gtk_sources = frontend/gtkanal.c frontend/gpkplotting.c frontend/mp3x.c
+gtk_obj = $(gtk_sources:.c=.gtk.o)
+gtk_dep = $(gtk_sources:.c=.d)
+
+
+
+NASM = nasm
+ASFLAGS=-f $(NASM_FLAGS) -i libmp3lame/i386/
+
+# for people with nasmw
+ifeq ($(UNAME),MSDOS)
+ NASM = nasmw
+ ASFLAGS=-f win32 -DWIN32 -i libmp3lame/i386/
+endif
+
+%.o: %.nas
+	$(NASM) $(ASFLAGS) $< -o $@
+%.o: %.s
+	gcc -c $< -o $@
+
+
+#HAVE_NASM = YES
+
+ifeq ($(HAVE_NASM),YES)
+## have NASM
+CC_SWITCHES += -DHAVE_NASM
+lib_obj += libmp3lame/i386/cpu_feat.o
+
+## use MMX extension. you need nasm and MMX supported CPU.
+CC_SWITCHES += -DMMX_choose_table
+lib_obj += libmp3lame/i386/choose_table.o
+
+## use 3DNow! extension. you need nasm and 3DNow! supported CPU.
+lib_obj += libmp3lame/i386/fft3dn.o
+
+## use SSE extension. you need nasm and SSE supported CPU.
+lib_obj += libmp3lame/i386/fftsse.o
+
+## not yet coded
+#CC_SWITCHES += -DUSE_FFTFPU
+#lib_obj += libmp3lame/i386/fftfpu.o
+endif
+
+
+
+#
+# Makefile rules---you probably won't have to modify below this line
+#
+%.o: %.c
+	$(CC) $(CPP_OPTS) $(CC_SWITCHES) -c $< -o $@
+
+%.d: %.c
+  ifeq ($(NOUNIXCMD),YES)
+	$(CC) $(MAKEDEP)  $(CPP_OPTS) $(CC_SWITCHES)  $< > $@
+  else
+	$(SHELL) -ec '$(CC) $(MAKEDEP)  $(CPP_OPTS) $(CC_SWITCHES)  $< | sed '\''s;$*.o;& $@;g'\'' > $@'
+  endif
+
+%.gtk.o: %.c
+	$(CC) $(CPP_OPTS) $(CC_SWITCHES) $(GTK) -c $< -o $@
+
+all: frontend/$(PGM)
+
+
+$(lib_sources) $(frontend_sources) $(gtk_sources) : config.h
+
+config.h: configMS.h
+  ifeq ($(NOUNIXCMD),YES)
+	copy configMS.h config.h
+  else
+	cp configMS.h config.h
+  endif
+
+frontend/$(PGM):	frontend/lame_main.o $(frontend_obj)  $(MP3LIB)
+	$(CC) $(CC_OPTS) -o frontend/$(PGM)  frontend/lame_main.o $(frontend_obj) \
+        $(MP3LIB) $(LIBS) $(LIBSNDFILE) $(LIBTERMCAP)
+
+mp3x:   $(frontend_obj) $(gtk_obj) $(MP3LIB)
+	$(CC) $(CC_OPTS) -o frontend/mp3x $(frontend_obj) $(gtk_obj) \
+        $(MP3LIB) $(LIBS) $(LIBSNDFILE) $(LIBTERMCAP) $(GTKLIBS) 
+
+mp3rtp:	frontend/rtp.o frontend/mp3rtp.o  $(frontend_obj) $(MP3LIB)
+	$(CC) $(CC_OPTS) -o frontend/mp3rtp frontend/mp3rtp.o frontend/rtp.o $(frontend_obj) $(MP3LIB) \
+        $(LIBS) $(LIBSNDFILE) $(LIBTERMCAP)
+
+libmp3lame/libmp3lame.a:  $(lib_obj)
+	echo $(lib_obj)
+	$(AR) cr libmp3lame/libmp3lame.a  $(lib_obj)
+	$(RANLIB) libmp3lame/libmp3lame.a
+
+#shared library.  GNU specific?
+libmp3lame/libmp3lame.so:  $(lib_obj)
+	gcc -shared -Wl,-soname,libmp3lame/libmp3lame.so -o libmp3lame/libmp3lame.so $(lib_obj)
+
+install:  frontend/$(PGM) #libmp3lame.a
+	cp frontend/$(PGM) /usr/bin
+	#cp libmp3lame.a /usr/lib
+	#cp lame.h /usr/lib
+
+clean:
+  ifeq ($(UNAME),MSDOS)
+	-del $(subst /,\,$(frontend_obj))
+	-del $(subst /,\,$(lib_obj))
+	-del $(subst /,\,$(gtk_obj))
+	-del $(subst /,\,$(DEP))
+	-del frontend\$(PGM)
+	-del frontend\main.o
+	-del libmp3lame\libmp3lame.a
+  else
+	-$(RM) $(gtk_obj) $(frontend_obj) $(lib_obj) $(DEP) frontend/$(PGM) \
+          frontend/main.o frontend/lame libmp3lame/libmp3lame.a \
+          frontend/mp3x.o frontend/mp3x
+  endif
+
+
+tags: TAGS
+
+TAGS: ${c_sources}
+	etags -T ${c_sources}
+
+ifneq ($(MAKECMDGOALS),clean)
+  -include $(DEP)
+endif
+
+
+#
+#  testcase.mp3 is a 2926 byte file.  The first number output by
+#  wc is the number of bytes which differ between new output
+#  and 'official' results.
+#
+#  Because of compiler options and effects of roundoff, the
+#  number of bytes which are different may not be zero, but
+#  should be at most 30.
+#
+test: frontend/$(PGM)
+	frontend/$(PGM)  --nores testcase.wav testcase.new.mp3
+	cmp -l testcase.new.mp3 testcase.mp3 | wc -l

+ 44 - 0
README

@@ -0,0 +1,44 @@
+                      LAME 3.xx
+               LAME Ain't an MP3 Encoder
+                  http://lame.sf.net
+	                  May 2011
+
+Originally developed by Mike Cheng (www.uq.net.au/~zzmcheng) and was
+latter developed by Mark Taylor (www.mp3dev.org). Currently maintained
+by The LAME Project.
+
+This code is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
+(LGPL, see www.gnu.org), version 2.
+
+As LAME may contain software for which some companies may claim software
+patents, if you are in a location where software patents are recognized, it is
+suggested that you seek legal advice before deploying and/or redistributing
+LAME.
+
+In particular, it is suggested to visit
+
+    http://www.mp3licensing.com/
+
+if it applies to your jurisdiction.
+
+============================================================================
+
+see the file "INSTALL" for installation (compiling) instructions.
+see the file "USAGE" for the most up-to-date guide to the command line options.
+see the file "LICENSE" for details on how to use LAME in non-GPL programs.
+see the file "HACKING" if you are interested in working on LAME
+see the file "API" for details of the LAME encoding library API
+
+There is HTML documentation and a man page in the doc directory.
+
+============================================================================
+
+LAME uses the MPGLIB decoding engine, from the mpg123 package, written
+by: Michael Hipp (www.mpg123.de) MPGLIB is released under the GPL.
+
+Copyrights (c) 1999-2011 by The LAME Project
+Copyrights (c) 1999,2000,2001 by Mark Taylor
+Copyrights (c) 1998 by Michael Cheng
+Copyrights (c) 1995,1996,1997 by Michael Hipp: mpglib
+
+As well as additional copyrights as documented in the source code.

+ 60 - 0
README.WINGTK

@@ -0,0 +1,60 @@
+       Installation notes on MP3X (the LAME frame analyzer) for WIN32
+
+===========================================================================
+Document History:
+===========================================================================
+
+Initial version by Albert Faber, March 30, 2000
+
+Update by Albert Faber (Sept 07 2000), changed instructions
+to compile with latest glib/gtk libraries.
+
+Update by Albert Faber (Sept 07 2000), changed instructions
+to compile with latest glib/gtk libraries.
+
+Update by Albert Faber (Oct 20 2000), small adaptions to be conform
+the new lame directory structure.
+
+Update by Gabriel Bouvigne (Jan 07 2004), changes to be conform to the
+VC6 worspace structure.
+
+Update by Gabriel Bouvigne (Nov 11 2006), changes to be conform to the
+VC8 worspace structure. Tested with gtk+-dev-1.3.0-20030115 and glib-dev-2.12.4
+
+
+===========================================================================
+How to compile the MP3 frame analyzer (MP3x):
+===========================================================================
+
+You first need to get hold of the latest GTK and GLIB include files and lib
+files. You can download them freely from the WINGTK project WEB site.
+(see http://www.gtk.org, and click on the WINGTK link.)
+
+Download: glib-dev-VERSION.zip, gtk+-dev-VERSION.zip and extralibs-dev-VERSION.zip
+where VERSION indicates the release data, so it will look something like 20000805
+
+unzip all three zip files in a WinGTK subdirectory, which is created from the lame
+analyzer directory (for example, D:\CVS\lame\WinGtk)
+
+You will end up with the following directory tree
+  D:\CVS\lame\analyzer\WinGtk\src\glib
+  D:\CVS\lame\analyzer\WinGtk\src\gtk+\glib
+  D:\CVS\lame\analyzer\WinGtk\src\gtk+
+
+Set Mp3x as your current active project, recompile everything, and you're done.
+
+===========================================================================
+How to run and use the MP3 Frame analyzer
+===========================================================================
+
+To run MP3x.exe, you need the GTK DLL files: Either instal them on your system,
+or put them in the same directory mp3x.exe resides.
+
+
+Example:
+mp3x.exe myfile
+
+myfile can be a mp3 file, or a wav file.
+
+
+                                === End of Document ===

+ 187 - 0
STYLEGUIDE

@@ -0,0 +1,187 @@
+* The LAME API is frozen.  Poorly designed as it is, don't change it, 
+  and add to it sparingly.
+
+* Don't take it upon yourself to go through LAME with the sole purpose
+  of updating everything to match this guide.  Especially important:
+  don't change the spacing, indentation, curly braces, etc, 
+  in routines you did not write.
+
+* If you want to make a change which effects many many functions,
+  please check with the maintainer first.
+
+* Respect the indentation of the author of the original function.
+  If the indentation is not consistent, use 4.
+
+* Don't use tabulators (the character with the value '\t') in source code,
+  especially these with a width of unequal 8. Lame sources are using
+  different sizes for tabulators.
+
+* Don't set the macro NDEBUG in alpha versons.
+  NDEBUG should be set for beta versions.
+
+* check important assumptions with an assert()
+
+* use int for all integer quantities.  
+  LAME requires 32 bit ints, so you can assume int is at least 32 bits.  
+  Don't use 'long'.  Don't use 'unsigned' unless ABSOLUTELY necessary.
+  Don't use 'char' just to save bytes.  If 64 bits is required, use int64.
+
+  Annnotation:
+  ISO C calls the 64 bit int type not int64 but int64_t.
+
+* Avoid using float or double, and instead use: (defined in machine.h).  
+
+  FLOAT    for variables which require at least 32bits
+  FLOAT8   for variables which require at least 64bits
+
+  On some machines, 64bit will be faster than 32bit.  Also, some math
+  routines require 64bit float, so setting FLOAT=float will result in a
+  lot of conversions.
+
+  Annotation (pfk):
+  The new ISO C standard passed in autumn 1999 has defined new types for
+  exactly this reason. There are called float_least32_t and float_least64_t
+  and have at least the advantage that you not need to explain their
+  meaning. 
+
+  Annotation (mt):  
+  we will adopt this convention in Jan 1, 2003.
+
+
+* The internal representation of PCM samples in type 'sample_t',
+  currently this is a FLOAT.
+
+* Use SI base units. Lame mixes Hz, kHz, kbps, bps. This is mess.
+
+  Example:
+        float     wavelength_green = 555.e-9;
+        unsigned  data_rate        = 128000;
+        float     lowpass_freq     = 12500.;
+  
+  Converting between user input and internal representation should be done
+  near the user interface, not in the most inner loop of an utility
+  function.
+
+----------------------------------------------------------------------------------
+Edited version of the Linux Kernel Style Guide:
+----------------------------------------------------------------------------------
+
+                Chapter 1: Indentation
+
+Respect the indentation of the author of the original function.
+If the indentation is not consistent, don't change it.  If
+you are so anal-retentive about these things and you can't
+bare to even look at code with poor indentation, change it to 4.
+
+
+                Chapter 2: Placing Braces
+
+The other issue that always comes up in C styling is the placement of
+braces.  Unlike the indent size, there are few technical reasons to
+choose one placement strategy over the other, but the preferred way, as
+shown to us by the prophets Kernighan and Ritchie, is to put the opening
+brace last on the line, and put the closing brace first, thusly:
+
+        if (x is true) {
+                we do y
+        }
+
+However, there is one special case, namely functions: they have the
+opening brace at the beginning of the next line, thus:
+
+        int function(int x)
+        {
+                body of function
+        }
+
+Heretic people all over the world have claimed that this inconsistency
+is ...  well ...  inconsistent, but all right-thinking people know that
+(a) K&R are _right_ and (b) K&R are right.  Besides, functions are
+special anyway (you can't nest them in C). 
+
+Note that the closing brace is empty on a line of its own, _except_ in
+the cases where it is followed by a continuation of the same statement,
+ie a "while" in a do-statement or an "else" in an if-statement, like
+this:
+
+        do {
+                body of do-loop
+        } while (condition);
+
+and
+
+        if (x == y) {
+                ..
+        } else if (x > y) {
+                ...
+        } else {
+                ....
+        }
+                        
+Rationale: K&R. 
+
+Also, note that this brace-placement also minimizes the number of empty
+(or almost empty) lines, without any loss of readability.  Thus, as the
+supply of new-lines on your screen is not a renewable resource (think
+25-line terminal screens here), you have more empty lines to put
+comments on. 
+
+
+                Chapter 3: Naming
+
+C is a Spartan language, and so should your naming be.  Unlike Modula-2
+and Pascal programmers, C programmers do not use cute names like
+ThisVariableIsATemporaryCounter.  A C programmer would call that
+variable "tmp", which is much easier to write, and not the least more
+difficult to understand. 
+
+HOWEVER, while mixed-case names are frowned upon, descriptive names for
+global variables are a must.  To call a global function "foo" is a
+shooting offense. 
+
+GLOBAL variables (to be used only if you _really_ need them) need to
+have descriptive names, as do global functions.  If you have a function
+that counts the number of active users, you should call that
+"count_active_users()" or similar, you should _not_ call it "cntusr()". 
+
+Encoding the type of a function into the name (so-called Hungarian
+notation) is brain damaged - the compiler knows the types anyway and can
+check those, and it only confuses the programmer.  No wonder MicroSoft
+makes buggy programs. 
+
+LOCAL variable names should be short, and to the point.  If you have
+some random integer loop counter, it should probably be called "i". 
+Calling it "loop_counter" is non-productive, if there is no chance of it
+being mis-understood.  Similarly, "tmp" can be just about any type of
+variable that is used to hold a temporary value. 
+
+
+                
+                Chapter 4: Functions
+
+Document functions.  
+
+Keep functions as modular as possible.  But don't adhere to artificial
+line number limitations.  For example, lame_encode_frame() encodes a
+single MP3 frame and is a long sequence of function calls.  It makes
+no sense to break this into two or more routines.
+
+
+
+                Chapter 5: Commenting
+
+Comments are good, but there is also a danger of over-commenting.  NEVER
+try to explain HOW your code works in a comment: it's much better to
+write the code so that the _working_ is obvious, and it's a waste of
+time to explain badly written code. 
+
+Generally, you want your comments to tell WHAT your code does, not HOW. 
+Also, try to avoid putting comments inside a function body: if the
+function is so complex that you need to separately comment parts of it,
+you should probably go back to chapter 4 for a while.  You can make
+small comments to note or warn about something particularly clever (or
+ugly), but try to avoid excess.  Instead, put the comments at the head
+of the function, telling people what it does, and possibly WHY it does
+it. 
+
+

+ 138 - 0
TODO

@@ -0,0 +1,138 @@
+1.  bug in resample code:  downsampling from 44101 to 44100 causes
+    a seg fault.  Workaround in place for now:  resampling disabled 
+    if input/output samplerates agree to 4 digits.  
+
+
+2.  high bitrate encodings have trouble on some hardware players.
+    Track this down.  Probably caused by --strictly-enforce-ISO and
+    IXMAX_VAL.  Try setting IXMAX_VAL back to 8191 and/or
+    maxmp3buf=8*960 to see if there is a working combination.
+
+    note: one of the decoder bugs was identified. It is caused by using
+    different block sizes on both channels. A parameter need to be
+    added to Lame to handle workarounds.
+
+
+3   frontend: code is a complete mess. But it has so many debugged
+    features it will be a lot of work to re-write.
+
+
+4.  MSVC project files.  It would be nice to create a working
+    MSVC6 workspace, which included all the projects as possible
+    targets:
+          lame.exe
+          mp3x.exe   (require GTK libs)
+          lame_enc.dll   
+          ACM codec
+          directshow codec
+
+    I think the only MSVC5 project that we need to preserve is
+    for lame_enc.dll, since Albert Faber (still?) doesn't use VC6?
+    But no reason we cant have VC5 and VC6 project files for the dll.
+
+
+5.  NOGAP encoding:
+
+    -nogap:  more testing, fix options, test id3 tags?
+    Can we change id3 tags without reseting the encoder??
+    At the end of encoding 1.wav, call lame_get_mf_samples_to_encode()
+    to find the number of non encoded buffered PCM samples.  Then
+    encode samples from 2.wav until these PCM samples have been
+    encoded, *THEN* call lame_encode_flush_nogap() and close
+    out file 1.mp3.
+    
+    
+    NOGAP decoding:  
+    lame --decode --nogap file1.mp3 file2.mp3 file3.mp3
+    should also work.  What needs to be done:
+    get_audio.c:  We need a way to open a second mp3 file, without
+                  calling lame_decode_init() and reinitializing mpglib.
+                  And the mpglib needs to know to look for new Xing
+                  tags at the beginning of file2.mp3 and file3.mp3.
+
+
+6.  Does stdin work when LAME is compiled to use libsndfile? 
+    (new version of libsndfile will support this - try this out)
+
+
+7.  LAME has problems with pure DC input.  i.e. a square wave with
+    a frequency well below 20 Hz.  Not very important, but it should
+    be fixed.
+
+
+8.  mgplib has bugs with i-stereo.  flag denoting invalid
+    i-stereo value (= frame is m/s stereo) is not correct.  
+
+
+9.  lowpass filter: for M/S stereo, use more filtering for the side
+    channel, less filtering for mid channel.  We need to first replace
+    the polyphase filter with an FIR lowpass filter with finer frequency
+    resolution before implementing this. 
+
+
+10. LAME has a 31 point FIR filter used for resampling, which
+    can also be used as a lowpass.  When resampling is done, 
+    use that filter to also lowpass instead of the polyphase filter.
+
+
+11. Even when resampling is not needed, should we use an FIR filter
+    for the lowpass?  If it is not too much slower, yes.  If it
+    is slower, then it should be an option since it will produce
+    higher quality.  
+
+
+12. We should consider moving the experts options from the *long
+    help* text into an *experts only* help text. The average Joe gets
+    knocked down by the huge number of possibilities to setup lame.
+
+
+
+50. Better tonality estimation.
+    Gpsycho uses predictability, and so needs a delay to detect the tonality
+    of a sound.
+    Nspsytune seems to miss tonals when several of them are too narrow.
+    We would probably need the best of both.
+
+
+
+60. Different ATH handling for sfb21. We are using the minimum value of ath
+    in each whole sfb. in sfb21 this leads to very high bitrates.
+    We could perhaps use 2 or 3 ath partitions in sfb21
+
+    note: partially done
+
+
+
+70. Use mixed blocks.
+
+
+
+90. Use intensity stereo. This is a must-have for low bitrates, but if the
+    algorythm is very good it could also be used in every case.
+    Note: mpg123 (and all derivatives, like xmms and lame/mpglib)
+    have bugs in the intensity stereo decoding.  Bugs have been there
+    for years since there are very few intensity stereo mp3's out there.
+
+
+
+95. Merge GOGO's fast assembler routines.
+
+
+
+96. It would be nice to save some information whilst encoding
+    a: wave -> mp3
+        a RIFF/wave can contain LIST chunks with information
+        about author, title, etc. 
+        ==> could go into TAG fields of resulting mp3
+    b: mp3 -> mp3
+        ==> we could copy the TAG directly
+    c: mp3 -> wave
+        ==> copy TAG into LIST chunk
+
+
+
+97. Integrate plusV extensions
+
+
+
+99. To be able to encode as fast as FastEnc

+ 968 - 0
USAGE

@@ -0,0 +1,968 @@
+
+% lame [options] inputfile [outputfile]
+    inputfile and/or outputfile can be "-", which means stdin/stdout.
+
+For more options, just type:
+% lame --help  or lame --longhelp
+
+Note: The HTML documentation is more complete than this text file.
+
+
+=======================================================================
+Constant Bitrate Examples:
+=======================================================================
+fixed bit rate jstereo 128 kbps encoding:
+% lame -b128 sample.wav  sample.mp3
+
+Use highest quality mode, slowest:
+% lame -q0 -b128 sample.wav  sample.mp3
+
+Use fast encode, low quality  (no noise shaping)
+% lame -f -b128 sample.wav  sample.mp3
+
+
+=======================================================================
+Variable Bitrate Examples:
+=======================================================================
+LAME has two types of variable bitrate: ABR and VBR.
+
+ABR is the type of variable bitrate encoding usually found in other
+MP3 encoders, Vorbis and AAC.  The number of bits is determined by
+some metric (like perceptual entropy, or just the number of bits
+needed for a certain set of encoding tables), and it is not based on
+computing the actual encoding/quantization error.  ABR should always
+give results equal or better than CBR:
+
+ABR:   (--abr <x> means encode with an average bitrate of around x kbps)
+% lame --abr 128  sample.wav sample.mp3
+
+Another way to enable abr is:
+% lame --preset 128 sample.wav sample.mp3
+
+
+VBR is a true variable bitrate mode which bases the number of bits for
+each frame on the measured quantization error relative to the
+estimated allowed masking. The value 0 is the highest quality, which
+creates bigger files, and the lowest is 9.999, which creates the smallest
+files. Decimal values can be specified, like: 4.51.
+The resulting filesizes depend on the input material. On typical music 
+you can expect -V5 resulting in files averaging 132 kbps, -V2 averaging 
+200 kbps.
+
+Variable Bitrate (VBR): (use -V n to adjust quality/filesize)
+% lame -V2 sample.wav sample.mp3
+
+
+=======================================================================
+Low Bitrates
+=======================================================================
+At lower bitrates, (like 24 kbps per channel), it is recommended that
+you use a 16 kHz sampling rate combined with lowpass filtering.  LAME,
+as well as commercial encoders (FhG, Xing) will do this automatically.
+However, if you feel there is too much (or not enough) lowpass
+filtering, you may need to try different values of the lowpass cutoff
+and passband width (--resample, --lowpass and --lowpass-width options).
+
+
+=======================================================================
+Streaming Example
+=======================================================================
+
+% cat inputfile | lame [options] - - > output
+
+
+=======================================================================
+Scripts are included (in the 'misc' subdirectory)
+to run lame on multiple files:
+
+bash script:  mlame      Run "mlame -?" for instructions.
+sh script:    auenc      Run auenc for instructions
+sh script:    mugeco.sh
+
+Perl script which will re-encode mp3 files and preserve id3 tags:
+lameid3.pl
+
+Windows scripts:
+lame4dos.bat
+Lame.vbs   (and an HTML frontend: LameGUI.html)
+
+
+=======================================================================
+options guide:
+=======================================================================
+These options are explained in detail below.
+
+By default, LAME accepts a PCM audio sample inside a .WAV container as the
+input file, in 8, 16, 24 and 32 bits integer and in IEEE FLOAT.
+If it is compiled with libsndfile, then it also supports the extra formats
+that the library supports.
+There is also support for raw PCM data and piped input
+
+
+Input options:
+--scale <arg>   multiply PCM input by <arg>
+--scale-l <arg> scale channel 0 (left) input (multiply PCM data) by <arg>
+--scale-r <arg> scale channel 1 (right) input (multiply PCM data) by <arg>
+--gain number   apply Gain adjustment in decibels, range -20.0 to +12.0.
+--swap-channel	Swap Left and Right input channels
+--mp1input      input file is an MPEG 1 Layer I file.  decode on the fly
+--mp2input      input file is an MPEG 1 Layer II file.  decode on the fly
+--mp3input      input file is an MPEG 1 Layer III file.  decode on the fly
+--nogap <file1> <file2> <...>
+                gapless encoding for a set of contiguous files
+--nogapout <dir>
+                output dir for gapless encoding (must precede --nogap)
+--nogaptags     allow the use of VBR tags in gapless encoding
+--out-dir path	If no explicit output file is specified, a file will be
+                written at given path. Ignored when using piped/streamed input
+
+
+Input options for raw PCM:
+-r              read the input file as a raw (headerless) PCM stream
+-s  n           input sampling frequency in kHz (Default 44.1Khz)
+--signed        input is signed (default)
+--unsigned      input is unsigned
+--bitwidth w    input bit width is w (default 16)
+-x              swap bytes of input file
+--little-endian input is little-endian (default)
+--big-endian    input is big-endian
+-a              downmix stereo file to mono file for mono encoding.
+                Needed with raw input for the -mm mode to do the downmix.
+
+Resampling and filtering:
+--lowpass      Frequency(kHz), lowpass filter cutoff above freq.
+               Range [0.001..50]kHz or [50..50000]Hz
+--lowpass-width
+               Frequency(kHz), lowpass window width.
+			   Range [0.001..16]kHz or [16..50000]Hz
+			   (See further restriction in the detailed explanation)
+--highpass     Frequency(kHz), highpass filter cutoff below freq.
+               Range [0.001..16]kHz or [16..50000]Hz
+               (See further restriction in the detailed explanation)
+--highpass-width
+               Frequency(kHz), highpass window width
+               (See further restriction in the detailed explanation)
+--resample n   Sampling frequency of output file(kHz)
+               Default=automatic depending on settings like bitrate.
+	
+Operational:
+--preset type	Enables some preconfigured settings. Check below for each
+                of the valid values
+--decode        assume input file is an mp3 file, and decode to wav.
+--decode-mp3delay samples
+                Set the encoder delay to use to decode the input .mp3 file
+-t              disable writing of WAV header when using --decode
+                (decode to raw pcm, native endian format (use -x to swap))
+
+-m m/s/j/f/a   mode selection
+-q n           Internal algorithm quality setting 0..9.
+               0 = slowest algorithms, but potentially highest quality
+               9 = faster algorithms, very poor quality
+			   Default is 3. Read the differences between VBR and CBR below.
+-h             same as -q2
+-f             same as -q7
+
+--priority <type>
+               sets the process priority (Windows and OS/2-specific):
+                     0,1 = Low priority (IDLE_PRIORITY_CLASS)
+                     2 = normal priority (NORMAL_PRIORITY_CLASS, defaul
+                     3,4 = High priority (HIGH_PRIORITY_CLASS))
+               Note: Calling '--priority' without a parameter will set it to 0.
+
+
+
+Constant Bit Rate (CBR)
+-b  n          set bitrate (8, 16, 24, ..., 320)
+--freeformat   produce a free format bitstream.  User must also specify
+               a bitrate with -b, between 8 and 640 kbps.
+
+Variable Bit Rate (VBR)
+-v             VBR  ( alias of -V 4 )
+--vbr-old      use old variable bitrate (VBR) routine
+--vbr-new      use new variable bitrate (VBR) routine (default)
+-V n           VBR quality setting  (0=highest quality, 9.999=lowest)
+-b  n          specify a minimum allowed bitrate (8,16,24,...,320)
+-B  n          specify a maximum allowed bitrate (8,16,24,...,320)
+-F             strictly enforce minimum bitrate
+-t             disable VBR informational tag
+--nohist       disable display of VBR bitrate histogram
+
+--abr n        specify average bitrate desired
+
+
+
+MP3 header/stream options:
+-e  n/5/c       de-emphasis
+-p              add CRC error protection
+-c              mark the encoded file as copyrighted
+-o              mark the encoded file as a copy
+-S              don't print progress report, VBR histogram
+--strictly-enforce-ISO   comply as much as possible to ISO MPEG spec
+--replaygain-fast   compute RG fast but slightly inaccurately (default)
+--replaygain-accurate   compute RG more accurately and find the peak sample
+--noreplaygain  disable ReplayGain analysis
+--clipdetect    enable --replaygain-accurate and print a message whether
+                clipping occurs and how far the waveform is from full scale
+
+
+ID3 tagging:
+
+--tt <title>    audio/song title (max 30 chars for version 1 tag)
+--ta <artist>   audio/song artist (max 30 chars for version 1 tag)
+--tl <album>    audio/song album (max 30 chars for version 1 tag)
+--ty <year>     audio/song year of issue (1 to 9999)
+--tc <comment>  user-defined text (max 30 chars for v1 tag, 28 for v1.1)
+--tn <track[/total]>
+                audio/song track number (1 to 255, creates v1.1 tag.
+                adding a total force a version 2 tag)
+--tg <genre>    audio/song genre (name or number in list)
+--ti <file>     audio/song albumArt (jpeg/png/gif file, v2.3 tag)
+--tv <id=value> user-defined frame specified by id and value (v2.3 tag)
+--add-id3v2     force addition of version 2 tag
+--id3v1-only    add only a version 1 tag
+--id3v2-only    add only a version 2 tag
+--id3v2-utf16   add following options in unicode text encoding
+--id3v2-latin1  add following options in latin-1 text encoding
+--space-id3v1   pad version 1 tag with spaces instead of nulls
+--pad-id3v2     same as '--pad-id3v2-size 128'
+--pad-id3v2-size <num>
+                adds version 2 tag, pad with extra <num> bytes
+--genre-list    print alphabetically sorted ID3 genre list and exit
+--ignore-tag-errors
+                ignore errors in values passed for tags
+
+Note: A version 2 tag will NOT be added unless one of the input fields
+won't fit in a version 1 tag (e.g. the title string is longer than 30
+characters), or the '--add-id3v2' or '--id3v2-only' options are used,
+or output is redirected to stdout.
+
+
+Verbosity:
+--disptime     secs	Print progress report every secs seconds
+--nohist	   Disable VBR histogram display
+--silent       Don't print anything on screen
+--quiet        Don't print anything on screen
+--verbose	   Print a lot of useful information
+--version      Print License information
+--license	   Print License information
+--help         Shows the common list of switches.
+               Add id3 or dev to get help for a specified topic
+--usage        Shows the common list of switches.
+               Add id3 or dev to get help for a specified topic
+--longhelp     Shows the complete list of switches
+
+
+
+=======================================================================
+Detailed description of all options in alphabetical order
+=======================================================================
+
+
+=======================================================================
+Downmix
+=======================================================================
+-a
+
+mix the stereo input file to mono and encode as mono.
+
+This option is only needed in the case of raw PCM stereo input
+(because LAME cannot determine the number of channels in the input file).
+To encode a stereo (RAW) PCM input file as mono, use "lame -m m -a"
+
+For WAV and AIFF input files, using "-m m" will always produce a
+mono .mp3 file from both mono and stereo input.
+
+
+=======================================================================
+Average bitrate encoding (aka Safe VBR)
+=======================================================================
+--abr n
+
+turns on encoding with a targeted average bitrate of n kbps, allowing
+to use frames of different sizes.  The allowed range of n is 8...320
+kbps, you can use any integer value within that range.
+
+
+=======================================================================
+Use version 2 of the ID3 tag standard
+=======================================================================
+ --add-id3v2 Force addition of version 2 tag
+
+Tells LAME to add the tag information as id3v2. This implies adding both,
+a version 1 and a version 2 tag, if the values fit on a version 1 tag.
+See --id3v1-only and --id3v2-only if you want a more fine-grained control.
+
+
+=======================================================================
+Bitrate
+=======================================================================
+-b  n
+
+MPEG-1   layer III sample frequencies (kHz):  32  48  44.1
+bitrates (kbps): 32 40 48 56 64 80 96 112 128 160 192 224 256 320
+
+MPEG-2   layer III sample frequencies (kHz):  16  24  22.05
+bitrates (kbps):  8 16 24 32 40 48 56 64 80 96 112 128 144 160
+
+MPEG-2.5 layer III sample frequencies (kHz):   8  12  11.025
+bitrates (kbps):  8 16 24 32 40 48 56 64
+
+The bitrate to be used.  Default is 128kbps in MPEG1 (64 for mono),
+64kbps in MPEG2 (32 for mono) and 32kbps in MPEG2.5 (16 for mono).
+
+When used with variable bitrate encodings (VBR), -b specifies the
+minimum bitrate to use.  This is useful only if you need to circumvent
+a buggy hardware device with strange bitrate constrains.
+
+
+=======================================================================
+Max bitrate
+=======================================================================
+-B  n
+
+see also option "-b" for allowed bitrates.
+
+Maximum allowed bitrate when using VBR/ABR.
+
+Using -B is NOT RECOMMENDED.  A 128 kbps CBR bitstream, because of the
+bit reservoir, can actually have frames which use as many bits as a
+320 kbps frame.  ABR/VBR modes minimize the use of the bit reservoir, and
+thus need to allow 320 kbps frames to get the same flexability as CBR
+streams.  This is useful only if you need to circumvent a buggy hardware
+device with strange bitrate constrains.
+
+
+=======================================================================
+Endianess, big.
+=======================================================================
+ --big-endian Set the byte order to big-endian.
+
+This switch tells LAME that the RAW pcm input is encoded in big-endian
+instead of little-endian.
+
+
+=======================================================================
+Sample bit with
+=======================================================================
+--bitwidth Sets the bitwidth value
+
+With RAW pcm input, this switch lets you specify the bitwidth of the same
+(8 bits, 16 bits...)
+
+
+=======================================================================
+Copyright
+=======================================================================
+-c
+
+flag the encoded file as copyrighted
+
+
+=======================================================================
+Clipping detection
+=======================================================================
+--clipdetect
+
+Enable --replaygain-accurate and print a message whether clipping
+occurs and how far in dB the waveform is from full scale.
+
+This option is not usable if the MP3 decoder was _explicitly_ disabled
+in the build of LAME.
+
+See also: --replaygain-accurate
+
+
+=======================================================================
+MPEG audio decode capability
+=======================================================================
+--decode
+
+This uses LAME's HIP decoder to decode an MP3 file (layers 1, 2 and 3) to
+a wav file.
+
+If -t is used (disable wav header), LAME will output
+raw pcm in native endian format (use -x to swap bytes).
+
+This option is not usable if the MP3 decoder was _explicitly_ disabled
+in the build of LAME.
+
+HIP stands for Hip Isn't a Player and is based off of Michael Hipp's mpglib 0.2a
+
+
+=======================================================================
+MPEG audio decode capability
+=======================================================================
+--decode-mp3delay x Indicate a different encoder delay for decoding
+
+When decoding an mp3 file, LAME automatically corrects for the start delay
+that the encoder had to put into it. This setting lets you specify a different
+delay than LAME's own one, so that it is possible to compensate for the delay
+of mp3's generated with other encoders.
+
+
+=======================================================================
+De-emphasis
+=======================================================================
+-e  n/5/c
+
+  n = (none, default)
+  5 = 0/15 microseconds
+  c = CCITT j.17
+
+All this does is set a flag in the bitstream.  If you have a PCM
+input file where one of the above types of (obsolete) emphasis has
+been applied, you can set this flag in LAME.  Then the mp3 decoder
+should de-emphasize the output during playback, although most
+decoders ignore this flag.
+
+A better solution would be to apply the de-emphasis with a standalone
+utility before encoding, and then encode without -e.
+
+
+=======================================================================
+Strictly enforce VBR minimum bitrate
+=======================================================================
+-F
+
+strictly enforce VBR minimum bitrate.   Without this option, passages of
+analog silence will be encoded at the minimum bitrate possible (32 or 8,
+depending on MPEG version).
+
+
+=======================================================================
+Free format bitstreams
+=======================================================================
+--freeformat
+
+LAME will produce a fixed bitrate, free format bitstream. User must 
+specify the desired bitrate in kbps, which can be any integer between 
+8 and 640.
+
+Not supported by most decoders.  Complient decoders (of which there
+are few) are only required to support up to 320 kbps.
+
+Decoders known to handle free format:
+
+                      supports up to
+mpg123                   640 kbps
+MAD                      640 kbps
+"lame --decode"          640 kbps
+l3dec                    310 kbps
+
+
+=======================================================================
+Gain
+=======================================================================
+--gain Apply gain in decibels.
+
+Apply Gain adjustment in decibels, range -20.0 to +12.0. 0dBFS means no 
+amplification.
+
+
+=======================================================================
+High pass filter
+=======================================================================
+--highpass number Use a highpass filter when encoding
+
+Enables a highpass filter of the specified frequency when encoding the source.
+    Range [0.001..50]kHz or [50..50000]Hz.
+This is usually not required, and the gains are usually minimal. May be useful
+to remove an interference signal on 50Hz or 60Hz, or a DC offset.
+(default: disabled)
+Note: The current implementation has a minimum highpass frequency of
+(67.5/62)% of the sample rate (I.e. 481Hz at 44Khz).
+
+
+=======================================================================
+High pass filter
+=======================================================================
+--highpass-width width Set the width of the decaying curve.
+
+Specify the width in Hz of the decaying curve of the highpass.
+    Range [16..50000]Hz
+The minimum (and default) width is 75% of a band's width (which is 1/64th of
+ the sample rate).
+Note: See the remark in the --highpass command above.
+
+
+=======================================================================
+ID3 tag modes
+=======================================================================
+--id3v1-only Disable the use of id3v2.
+
+Put it before any tag setting.
+This setting tells LAME to use ID3 v1 tag only, and not create an ID3v2
+even if it thinks it should.
+
+--id3v2-only Disable the user ov id3v1.
+
+Put it before any tag setting.
+This setting tells LAME to use ID3 v2 tag only. An ID3 v1 tag would not
+be written.
+
+--ignore-tag-errors Ignore tag information errors
+
+Put it before any tag setting.
+This tells lame to ignore the tag information it sees as erroneous and 
+continue encoding without those. Without this setting, errors are reported
+and encoding does not start.
+
+
+=======================================================================
+Endianess. little
+=======================================================================
+--little-endian Set the byte order to little-endian.
+
+This switch tells LAME that the RAW pcm input is encoded in little-endian.
+It is the default setting.
+
+
+=======================================================================
+Low pass filter
+=======================================================================
+--lowpass number Use a lowpass filter when encoding
+
+Enables a lowpass filter of the specified frequency when encoding the source.
+    Range [0.001..50]kHz or [50..50000]Hz
+
+Using a lowpass filter helps reducing the amount of data to encode. This is
+important in MP3 due to a limitation in very high frequencies (>16Khz).
+The default value depends on the target bitrate/quality. It is not recommended
+to change it as a general basis.
+
+--lowpass-width width Set the width of the decaying curve.
+
+Specify the width in Hz of the decaying curve of the lowpass.
+    Range [0.001..16]kHz or [16..50000]Hz
+The lowpass is in the center of this curve. The minimum (and default) width
+is 75% of a band's width (which is 1/64th of the sample rate).
+
+
+=======================================================================
+Modes:
+=======================================================================
+-m m        mono
+-m l	    get only the left channel of a stereo signal for a mono output
+-m r	    get only the right channel of a stereo signal for a mono output
+-m s        (forced) L/R stereo
+-m j        joint stereo
+-m f        forced mid/side stereo
+-m d        dual (independent) channels. Its purpose was meant for dual language
+            streams where only one of them should be decoded.
+			Most decoders just decode them as a stereo stream.
+-m a        Currently, a synonym of m j. (In older releases it selected
+            different modes depending on the bitrate)
+
+MONO is the default mode for mono input files.  If "-m m" is specified
+for a stereo input file, the two channels will be averaged into a mono
+signal.  (Note: See comments about the -a switch for RAW PCM streams)
+
+(FORCED) L/R STEREO encodes the left and the right signals independently,
+and gives more or less bits to each, depending on the currently available.
+
+JOINT STEREO is the default mode of encoding.
+jstereo means the encoder can use (on a frame by frame basis) either
+L/R stereo or mid/side stereo.  In mid/side stereo, the mid(L+R) and side(L-R)
+channels are encoded, and more bits are allocated to the mid channel
+than the side channel.  When there isn't too much stereo separation, this
+effectively increases the bandwidth, so having higher quality with the same
+amount of bits.
+
+Using mid/side stereo inappropriately can result in audible
+compression artifacts.  Too much switching between mid/side and L/R
+stereo can also sound bad. To determine when to switch to mid/side
+stereo, LAME uses a much more sophisticated algorithm than that
+described in the ISO documentation.
+
+FORCED MID/SIDE STEREO forces all frames to be encoded mid/side stereo.  It
+should only be used if you are sure every frame of the input file
+has very little stereo seperation.
+
+DUAL CHANNEL mode is similar to encode the left and right as two mono signals.
+Its purpose was meant for Dual language streams where only one of them should
+be decoded. Most decoders just decode them as a stereo stream
+
+INTENSITY STEREO
+	Not supported.
+
+
+=======================================================================
+MP3 input file
+=======================================================================
+--mp1input --mp2input --mp3input MPEG layer I, II or III input file
+
+Assume the input file is a MP1/2/3 file.  LAME will decode the input file
+before re-encoding it.  Since MP3 is a lossy format, this is not recommended 
+in general.  But it is useful for creating low bitrate mp3s from high bitrate 
+mp3s.  If the filename ends in ".mp3" LAME will assume it is an MP3.  For 
+stdin or MP3 files which dont end in .mp3 you need to use this switch.
+
+
+=======================================================================
+No Gap (continuous audio) encoding of multiple files
+=======================================================================
+ --nogap file1 file2 [...] Encodes multiple continuous files.
+
+Encodes multiple files (ordered by position) which are meant to be played
+gaplessly.
+
+By default, LAME will encode the files with accurate length, but the first
+and last frame may contain a few erroneous samples for signals that don't
+fade-in/out (as is the case of continuous playback).
+
+This setting solves that by using the samples from the next/previous file to
+compute the encoding.
+
+--nogapout dir Specify a directory for the output of the files encoded
+               with --nogap
+
+This setting should precede --nogap, and is used to specify the alternate
+directory where to store the encoded files. The default one is the input file
+directory.
+
+--nogaptags Enables the use of VBR tags with files encoded with --nogap
+
+Tells LAME to put VBR tags to encoded files if they are encoded in VBR or ABR
+modes. Else, using the --nogap option doesn't generate it.
+
+
+=======================================================================
+Disable historgram display
+=======================================================================
+--nohist
+
+By default, LAME will display a bitrate histogram while producing
+VBR mp3 files.  This will disable that feature.
+
+
+=======================================================================
+Disable ReplayGain analysis
+=======================================================================
+--noreplaygain
+
+By default ReplayGain analysis is enabled. This switch disables it.
+
+See also: --replaygain-accurate, --replaygain-fast
+
+
+=======================================================================
+Non-original
+=======================================================================
+-o
+
+mark the encoded file as a copy
+
+
+=======================================================================
+CRC error protection
+=======================================================================
+-p
+
+Turn on CRC error protection.
+It will add a cyclic redundancy check (CRC) code in each frame, allowing
+to detect transmission errors that could occur on the MP3 stream. However,
+it takes 16 bits per frame that would otherwise be used for encoding, and
+therefore will slightly reduce the sound quality.
+
+
+=======================================================================
+ID3 V2 padding
+=======================================================================
+ --pad-id3v2 Pad ID3v2 tag.
+
+Pads the ID3v2 tag with extra 128bytes to allow it to expand.
+
+
+=======================================================================
+Preset system.
+=======================================================================
+--preset x Enable one of the presets
+
+   Setting         Meaning
+--preset medium	   -V 5
+--preset standard  -V 2
+--preset extreme   -V 0
+--preset insane    -b 320
+--preset fast xxx  In versions older than LAME 3.98, "fast" was needed to
+                   enable the vbr-new routine. It is no longer needed.
+--preset number	   --abr number
+--preset cbr number	-b number
+
+Old compatibility settings. Meaningless
+--preset phone	   -b 16 -m m
+--preset phon+ /
+      lw / mw-eu   -b 24 -m m
+--preset mw-us     -b 40 -m m
+--preset voice     -b 56 -m m
+--preset fm / radio -b 112
+--preset hifi      -b 160
+--preset cd        -b 192
+--preset studio    -b 256
+
+
+=======================================================================
+Windows and OS/2 process priority control
+=======================================================================
+--priority <type>
+
+(Windows and OS/2 only)
+
+Sets the process priority for LAME while running under Windows or IBM OS/2.
+This can be very useful to avoid the system becoming slow and/or unresponsive. 
+By setting LAME to run in a lower priority, you leave more time for the system 
+to update basic processing (drawing windows, polling keyboard/mouse, etc). The 
+impact in LAME's performance is minimal if you use priority 0 to 2.
+
+The valid parameters are:
+
+     0 = Low priority (IDLE, delta = 0)
+     1 = Medium priority (IDLE, delta = +31)
+     2 = Regular priority (REGULAR, delta = -31)
+     3 = High priority (REGULAR, delta = 0)
+     4 = Maximum priority (REGULAR, delta = +31)
+
+Note that if you call '--priority' without a parameter, priority 0 will be 
+assumed.
+
+
+=======================================================================
+Algorithm quality selection
+=======================================================================
+-q n
+
+Bitrate is of course the main influence on quality. The higher the bitrate,
+the higher the quality. But for a given bitrate, we have a choice of algorithms
+to determine the best scalefactors and Huffman coding (noise shaping).
+
+For CBR, ABR and --vbr-old modes, the following table applies
+
+-q 0            Use the best algorithms (Best Huffman coding search, full outer
+                loop, and the highest precision of several parameters).
+-q 1 to -q 4    Similar to -q 0 without the full outer loop and decreasing
+                precision of parameters the further from q0. -q 3 is the default
+-q 5 and -q 6   Same as -q 7, but enables noise shaping and increases subblock
+                gain
+-q 7 to -q 9    Same as -f. Very fast, OK quality. Psychoacoustics are used for
+                pre-echo and mid/side stereo, but no noise-shaping is done.
+
+For the default VBR mode since LAME 3.98, the following table applies
+
+-q 0 to -q 4    include all features of the other modes and additionally use
+                the best search when applying Huffman coding.
+-q 5 and -q 6   include all features of -q7, calculate and consider actual
+                quantisation noise, and additionally enable subblock gain.
+-q 7 to -q 9    This level uses a psymodel but does not calculate quantisation
+                noise when encoding: it takes a quick guess.
+
+
+=======================================================================
+Input file is raw pcm
+=======================================================================
+-r
+
+Assume the input file is raw pcm.  Sampling rate and mono/stereo/jstereo
+must be specified on the command line.  Without -r, LAME will perform
+several fseek()'s on the input file looking for WAV and AIFF headers.
+
+Not supported if LAME is compiled to use LIBSNDFILE.
+
+
+=======================================================================
+Slightly more accurate ReplayGain analysis and finding the peak sample
+=======================================================================
+--replaygain-accurate
+
+Compute "Radio" ReplayGain on the decoded data stream. Find the peak sample
+by decoding on the fly the encoded data stream and store it in the file.
+
+
+ReplayGain analysis does _not_ affect the content of a compressed data
+stream itself, it is a value stored in the header of a sound file.
+Information on the purpose of ReplayGain and the algorithms used is
+available from http://www.replaygain.org/
+
+By default, LAME performs ReplayGain analysis on the input data (after
+the user-specified volume scaling). This behaviour might give slightly
+inaccurate results because the data on the output of a lossy
+compression/decompression sequence differs from the initial input data.
+When --replaygain-accurate is specified the mp3 stream gets decoded on
+the fly and the analysis is performed on the decoded data stream.
+Although theoretically this method gives more accurate results, it has
+several disadvantages:
+  * tests have shown that the difference between the ReplayGain values
+    computed on the input data and decoded data is usually no greater
+    than 0.5dB, although the minimum volume difference the human ear
+    can perceive is about 1.0dB
+  * decoding on the fly significantly slows down the encoding process
+The apparent advantage is that:
+  * with --replaygain-accurate the peak sample is determined and
+    stored in the file. The knowledge of the peak sample can be useful
+    to decoders (players) to prevent a negative effect called 'clipping'
+    that introduces distortion into sound.
+
+
+Only the "Radio" ReplayGain value is computed. It is stored in the LAME tag.
+The analysis is performed with the reference volume equal to 89dB.
+Note: the reference volume has been changed from 83dB on transition from 
+version 3.95 to 3.95.1.
+
+This option is not usable if the MP3 decoder was _explicitly_ disabled
+in the build of LAME. (Note: if LAME is compiled without the MP3 decoder,
+ReplayGain analysis is performed on the input data after user-specified
+volume scaling).
+
+See also: --replaygain-fast, --noreplaygain, --clipdetect
+
+
+=======================================================================
+Fast ReplayGain analysis
+=======================================================================
+--replaygain-fast
+
+Compute "Radio" ReplayGain of the input data stream after user-specified
+volume scaling and/or resampling.
+
+ReplayGain analysis does _not_ affect the content of a compressed data
+stream itself, it is a value stored in the header of a sound file.
+Information on the purpose of ReplayGain and the algorithms used is
+available from http://www.replaygain.org/
+
+Only the "Radio" ReplayGain value is computed. It is stored in the LAME tag.
+The analysis is performed with the reference volume equal to 89dB.
+Note: the reference volume has been changed from 83dB on transition
+from version 3.95 to 3.95.1.
+
+This switch is enabled by default.
+
+See also: --replaygain-accurate, --noreplaygain
+
+
+=======================================================================
+Output sampling frequency in kHz
+=======================================================================
+--resample  n
+
+where n = 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48. The values as Hz
+instead of Khz are also supported. Else, the value will be ignored.
+
+Output sampling frequency.  Resample the input if necessary.
+
+If not specified, LAME may sometimes resample automatically
+when faced with extreme compression conditions (like encoding
+a 44.1 kHz input file at 32 kbps).  To disable this automatic
+resampling, you have to use --resamle to set the output samplerate
+equal to the input samplerate.  In that case, LAME will not
+perform any extra computations.
+
+
+=======================================================================
+Sampling frequency in kHz (for input RAW PCM)
+=======================================================================
+-s  n
+
+where n = sampling rate in kHz.
+
+Required for raw PCM input files.  Otherwise it will be determined
+from the header information in the input file.
+
+LAME will automatically resample the input file to one of the
+supported MP3 samplerates if necessary.
+
+
+=======================================================================
+Silent operation
+=======================================================================
+-S
+
+don't print progress report
+
+
+=======================================================================
+Scale
+=======================================================================
+--scale <arg>
+
+Scales input by <arg>.  This just multiplies the PCM data
+(after it has been converted to floating point) by <arg>.
+
+<arg> > 1:  increase volume
+<arg> = 1:  no effect
+<arg> < 1:  reduce volume
+
+Use with care, since most MP3 decoders will truncate data
+which decodes to values greater than 32768.
+
+
+=======================================================================
+Strict ISO complience
+=======================================================================
+--strictly-enforce-ISO
+
+With this option, LAME will enforce the 7680 bit limitation on
+total frame size.  This results in many wasted bits for
+high bitrate encodings.
+
+
+=======================================================================
+Disable VBR tag/WAV header
+=======================================================================
+-t
+This setting has two different uses:
+
+When encoding to VBR, this setting disables writing the VBR Tag (also
+known as XING tag). This tag is embedded by default in the frame 0 of
+MP3 file. It allows VBR aware players to accurately seek and compute playing
+times in such files.
+
+When decoding MP3 to WAV using --decode, this flag will disable writing the
+WAV header. The output will be raw pcm, native endian format. Use -x to swap
+bytes.
+
+
+=======================================================================
+VBR quality setting
+=======================================================================
+ -V n Enable VBR encoding
+
+Encodes using the VBR algorithm, at the indicated quality.
+0=highest quality, bigger files. 9.999=lowest quality, smaller files.
+Decimal values can be specified, like: 4.51
+
+On average, the resulting bitrates are as follows:
+Setting       Average bitrate (kbps)
+    0             245
+    2             190
+    3             175
+    4             165
+    5             130
+
+Using -V 7 or higher (lower quality) is not recommended.
+ABR usually produces better results.
+
+
+=======================================================================
+Swap bytes
+=======================================================================
+-x
+
+swap bytes in the input file (and output file when using --decode).
+For sorting out little endian/big endian type problems.  If your encodings 
+sound like static, try this first.
+
+
+=======================================================================
+Ignore scalefactor band 21
+=======================================================================
+-Y Ignore noise in sbf21, like CBR mode does
+
+Allows -V2, -V1 and -V0 to not encode the highest frequencies accurately,
+if doing so causes disproportional increases in bitrate.
+This is the same that CBR and ABR modes do.
+
+Due to the design of the MP3 format, to keep precision in the last scalefactor
+band, an encoder needs to increase the precision in all the bands (not only in
+this one).
+The consequence is an increase of bitrate (+60kbps in some cases) compared to
+not keeping that precision. Generally, this band should allow for distortions,
+so using this switch shouldn't cause harm.
+

+ 281 - 0
acinclude.m4

@@ -0,0 +1,281 @@
+dnl acinclude.m4. Change *this* file to add new or change macros.
+dnl When changes have been made, delete aclocal.m4 and run
+dnl "aclocal".
+dnl
+dnl DO NOT change aclocal.m4 !
+dnl
+
+dnl * LA_SEARCH_FILE(variable, filename, PATH)
+dnl * Search "filename" in the specified "PATH", "variable" will 
+dnl * contain the full pathname or the empty string
+dnl * PATH is space-separated list of directories.
+dnl * by Florian Bomers
+
+AC_DEFUN([LA_SEARCH_FILE],[
+  $1=
+  dnl hack: eliminate line feeds in $2
+  for FILE in $2; do
+    for DIR in $3; do
+      dnl use PATH in order
+      if test ".$1"="." && test -f "$DIR/$FILE"; then
+        $1=$DIR
+      fi
+    done
+  done
+])
+
+dnl * LA_SEARCH_LIB(lib-variable, include-variable, lib-filename, header-filename, prefix)
+dnl * looks for "lib-filename" and "header-filename" in the area of "prefix".
+dnl * if found, "lib-variable" and "include-variable" are set to the
+dnl * respective paths.
+dnl * prefix is a single path
+dnl * libs are searched in prefix, prefix/lib, prefix/.., prefix/../lib
+dnl * headers are searched in prefix, prefix/include, prefix/.., prefix/../include
+dnl * 
+dnl * If one of them is not found, both "lib-variable", "include-variable" are 
+dnl * set to the empty string.
+dnl *
+dnl * TODO: assert function call to verify lib
+dnl *
+dnl * by Florian Bomers
+
+AC_DEFUN([LA_SEARCH_LIB],[
+  dnl look for lib
+  LA_SEARCH_FILE($1, $3, $5 $5/lib $5/.. $5/../lib)
+  dnl look for header.
+  LA_SEARCH_FILE($2, $4, $5 $5/include $5/.. $5/../include)
+  if test ".$1" = "." || test ".$2" = "."; then
+    $1=
+    $2=
+  fi
+])
+
+
+ 
+
+# alex_IEEE854_FLOAT80
+# ------------
+AC_DEFUN([alex_IEEE854_FLOAT80],
+[AC_CACHE_CHECK(for IEEE854 compliant 80 bit floats, alex_cv_ieee854_float80,
+[AC_TRY_RUN([
+int   float2long_IEEE_compliance ( void )
+{
+    struct {
+        long padding; /* to prevent unaligned access */
+        float  f;
+    } s;
+    s.f = 12582912.; if ( *(long*)(&s.f) != 1262485504l ) return 0;
+    s.f = 12615679.; if ( *(long*)(&s.f) != 1262518271l ) return 0;
+    s.f = 13582912.; if ( *(long*)(&s.f) != 1263485504l ) return 0;
+    s.f = 12550145.; if ( *(long*)(&s.f) != 1262452737l ) return 0;
+    s.f = 11582912.; if ( *(long*)(&s.f) != 1261485504l ) return 0;
+    return 1;
+}
+
+int main(void)
+{
+    int retval;
+
+    retval = float2long_IEEE_compliance();
+
+    /* no error return -> success */
+    return !retval;
+}
+], alex_cv_ieee854_float80=yes, alex_cv_ieee854_float80=no,
+[AC_MSG_WARN(can't check for IEEE854 compliant 80 bit floats)]
+)])]) # alex_IEEE854_FLOAT80
+
+# Configure paths for GTK+
+# Owen Taylor     97-11-3
+
+dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
+dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
+dnl
+AC_DEFUN([AM_PATH_GTK],
+[dnl
+dnl Get the cflags and libraries from the gtk-config script
+dnl
+AC_ARG_WITH(gtk-prefix,[  --with-gtk-prefix=PFX   Prefix where GTK is installed (optional)],
+            gtk_config_prefix="$withval", gtk_config_prefix="")
+AC_ARG_WITH(gtk-exec-prefix,[  --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
+            gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
+AC_ARG_ENABLE(gtktest, [  --disable-gtktest       Do not try to compile and run a test GTK program],
+        , enable_gtktest=yes)
+
+  for module in . $4
+  do
+      case "$module" in
+         gthread)
+             gtk_config_args="$gtk_config_args gthread"
+         ;;
+      esac
+  done
+
+  if test x$gtk_config_exec_prefix != x ; then
+     gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
+     if test x${GTK_CONFIG+set} != xset ; then
+        GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
+     fi
+  fi
+  if test x$gtk_config_prefix != x ; then
+     gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
+     if test x${GTK_CONFIG+set} != xset ; then
+        GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
+     fi
+  fi
+
+  AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
+  min_gtk_version=ifelse([$1], ,0.99.7,$1)
+  AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
+  no_gtk=""
+  if test "$GTK_CONFIG" = "no" ; then
+    no_gtk=yes
+  else
+    GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
+    GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
+    gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
+           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+    gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
+           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+    gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
+           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+    if test "x$enable_gtktest" = "xyes" ; then
+      ac_save_CFLAGS="$CFLAGS"
+      ac_save_LIBS="$LIBS"
+      CFLAGS="$CFLAGS $GTK_CFLAGS"
+      LIBS="$GTK_LIBS $LIBS"
+dnl
+dnl Now check if the installed GTK is sufficiently new. (Also sanity
+dnl checks the results of gtk-config to some extent
+dnl
+      rm -f conf.gtktest
+      AC_TRY_RUN([
+#include <gtk/gtk.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+  int major, minor, micro;
+  char *tmp_version;
+
+  system ("touch conf.gtktest");
+
+  /* HP/UX 9 (%@#!) writes to sscanf strings */
+  tmp_version = g_strdup("$min_gtk_version");
+  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+     printf("%s, bad version string\n", "$min_gtk_version");
+     exit(1);
+   }
+
+  if ((gtk_major_version != $gtk_config_major_version) ||
+      (gtk_minor_version != $gtk_config_minor_version) ||
+      (gtk_micro_version != $gtk_config_micro_version))
+    {
+      printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
+             $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
+             gtk_major_version, gtk_minor_version, gtk_micro_version);
+      printf ("*** was found! If gtk-config was correct, then it is best\n");
+      printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
+      printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
+      printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
+      printf("*** required on your system.\n");
+      printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
+      printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
+      printf("*** before re-running configure\n");
+    }
+#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
+  else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
+     (gtk_minor_version != GTK_MINOR_VERSION) ||
+           (gtk_micro_version != GTK_MICRO_VERSION))
+    {
+      printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
+       GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
+      printf("*** library (version %d.%d.%d)\n",
+       gtk_major_version, gtk_minor_version, gtk_micro_version);
+    }
+#endif /* defined (GTK_MAJOR_VERSION) ... */
+  else
+    {
+      if ((gtk_major_version > major) ||
+        ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
+        ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
+      {
+        return 0;
+       }
+     else
+      {
+        printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
+               gtk_major_version, gtk_minor_version, gtk_micro_version);
+        printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
+         major, minor, micro);
+        printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
+        printf("***\n");
+        printf("*** If you have already installed a sufficiently new version, this error\n");
+        printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
+        printf("*** being found. The easiest way to fix this is to remove the old version\n");
+        printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
+        printf("*** correct copy of gtk-config. (In this case, you will have to\n");
+        printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
+        printf("*** so that the correct libraries are found at run-time))\n");
+      }
+    }
+  return 1;
+}
+],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+       CFLAGS="$ac_save_CFLAGS"
+       LIBS="$ac_save_LIBS"
+     fi
+  fi
+  if test "x$no_gtk" = x ; then
+     AC_MSG_RESULT(yes)
+     ifelse([$2], , :, [$2])
+  else
+     AC_MSG_RESULT(no)
+     if test "$GTK_CONFIG" = "no" ; then
+       echo "*** The gtk-config script installed by GTK could not be found"
+       echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
+       echo "*** your path, or set the GTK_CONFIG environment variable to the"
+       echo "*** full path to gtk-config."
+     else
+       if test -f conf.gtktest ; then
+        :
+       else
+          echo "*** Could not run GTK test program, checking why..."
+          CFLAGS="$CFLAGS $GTK_CFLAGS"
+          LIBS="$LIBS $GTK_LIBS"
+          AC_TRY_LINK([
+#include <gtk/gtk.h>
+#include <stdio.h>
+],      [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
+        [ echo "*** The test program compiled, but did not run. This usually means"
+          echo "*** that the run-time linker is not finding GTK or finding the wrong"
+          echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
+          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
+          echo "*** is required on your system"
+    echo "***"
+          echo "*** If you have an old version installed, it is best to remove it, although"
+          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
+          echo "***"
+          echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
+          echo "*** came with the system with the command"
+          echo "***"
+          echo "***    rpm --erase --nodeps gtk gtk-devel" ],
+        [ echo "*** The test program failed to compile or link. See the file config.log for the"
+          echo "*** exact error that occured. This usually means GTK was incorrectly installed"
+          echo "*** or that you have moved GTK since it was installed. In the latter case, you"
+          echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
+          CFLAGS="$ac_save_CFLAGS"
+          LIBS="$ac_save_LIBS"
+       fi
+     fi
+     GTK_CFLAGS=""
+     GTK_LIBS=""
+     ifelse([$3], , :, [$3])
+  fi
+  AC_SUBST(GTK_CFLAGS)
+  AC_SUBST(GTK_LIBS)
+  rm -f conf.gtktest
+])

+ 11980 - 0
aclocal.m4

@@ -0,0 +1,11980 @@
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# iconv.m4 serial 19 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[
+#include <stdlib.h>
+#include <iconv.h>
+         ]],
+         [[iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);]])],
+      [am_cv_func_iconv=yes])
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[
+#include <stdlib.h>
+#include <iconv.h>
+           ]],
+           [[iconv_t cd = iconv_open("","");
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);]])],
+        [am_cv_lib_iconv=yes]
+        [am_cv_func_iconv=yes])
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+      dnl Solaris 10.
+      am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+             [[
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+             ]],
+             [[int result = 0;
+  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+     returns.  */
+  {
+    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+    if (cd_utf8_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_utf8_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\263";
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#if 0 /* This bug could be worked around by the caller.  */
+  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        char buf[50];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if ((int)res > 0)
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#endif
+  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+     provided.  */
+  if (/* Try standardized names.  */
+      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+      /* Try IRIX, OSF/1 names.  */
+      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+      /* Try AIX names.  */
+      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+      /* Try HP-UX names.  */
+      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+    result |= 16;
+  return result;
+]])],
+          [am_cv_func_iconv_works=yes], ,
+          [case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac])
+        test "$am_cv_func_iconv_works" = no || break
+      done
+      LIBS="$am_save_LIBS"
+    ])
+    case "$am_cv_func_iconv_works" in
+      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+      *)   am_func_iconv=yes ;;
+    esac
+  else
+    am_func_iconv=no am_cv_lib_iconv=no
+  fi
+  if test "$am_func_iconv" = yes; then
+    AC_DEFINE([HAVE_ICONV], [1],
+      [Define if you have the iconv() function and it works.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST([LIBICONV])
+  AC_SUBST([LTLIBICONV])
+])
+
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl   warnings.
+m4_define([gl_iconv_AC_DEFUN],
+  m4_version_prereq([2.64],
+    [[AC_DEFUN_ONCE(
+        [$1], [$2])]],
+    [m4_ifdef([gl_00GNULIB],
+       [[AC_DEFUN_ONCE(
+           [$1], [$2])]],
+       [[AC_DEFUN(
+           [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL([am_cv_proto_iconv], [
+      AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+           ]],
+           [[]])],
+        [am_cv_proto_iconv_arg1=""],
+        [am_cv_proto_iconv_arg1="const"])
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    AC_MSG_RESULT([
+         $am_cv_proto_iconv])
+    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+      [Define as const if the declaration of iconv() needs const.])
+    dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+    m4_ifdef([gl_ICONV_H_DEFAULTS],
+      [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+       if test -n "$am_cv_proto_iconv_arg1"; then
+         ICONV_CONST="const"
+       fi
+      ])
+  fi
+])
+
+# lib-ld.m4 serial 6
+dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
+
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  acl_cv_prog_gnu_ld=yes
+  ;;
+*)
+  acl_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-2.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+        [assume the C compiler uses GNU ld [default=no]])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL([acl_cv_path_LD],
+[if test -z "$LD"; then
+  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$acl_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+        test "$with_gnu_ld" != no && break
+        ;;
+      *)
+        test "$with_gnu_ld" != yes && break
+        ;;
+      esac
+    fi
+  done
+  IFS="$acl_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT([$LD])
+else
+  AC_MSG_RESULT([no])
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
+
+# lib-link.m4 serial 26 (gettext-0.18.2)
+dnl Copyright (C) 2001-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ([2.54])
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+    AC_LIB_LINKFLAGS_BODY([$1], [$2])
+    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
+  ])
+  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
+  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+  dnl results of this search when this library appears as a dependency.
+  HAVE_LIB[]NAME=yes
+  popdef([NAME])
+  popdef([Name])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+
+  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed lib[]Name and not disabled its use
+  dnl via --without-lib[]Name-prefix, he wants to use it.
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+    ac_save_LIBS="$LIBS"
+    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+    dnl because these -l options might require -L options that are present in
+    dnl LIBS. -l options benefit only from the -L options listed before it.
+    dnl Otherwise, add it to the front of LIBS, because it may be a static
+    dnl library that depends on another static library that is present in LIBS.
+    dnl Static libraries benefit only from the static libraries listed after
+    dnl it.
+    case " $LIB[]NAME" in
+      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+      *)       LIBS="$LIB[]NAME $LIBS" ;;
+    esac
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM([[$3]], [[$4]])],
+      [ac_cv_lib[]Name=yes],
+      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
+    LIBS="$ac_save_LIBS"
+  ])
+  if test "$ac_cv_lib[]Name" = yes; then
+    HAVE_LIB[]NAME=yes
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
+    AC_MSG_CHECKING([how to link with lib[]$1])
+    AC_MSG_RESULT([$LIB[]NAME])
+  else
+    HAVE_LIB[]NAME=no
+    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+    dnl $INC[]NAME either.
+    CPPFLAGS="$ac_save_CPPFLAGS"
+    LIB[]NAME=
+    LTLIB[]NAME=
+    LIB[]NAME[]_PREFIX=
+  fi
+  AC_SUBST([HAVE_LIB]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
+  popdef([NAME])
+  popdef([Name])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl   acl_libext,
+dnl   acl_shlibext,
+dnl   acl_libname_spec,
+dnl   acl_library_names_spec,
+dnl   acl_hardcode_libdir_flag_spec,
+dnl   acl_hardcode_libdir_separator,
+dnl   acl_hardcode_direct,
+dnl   acl_hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
+  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
+  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
+  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+  ])
+  wl="$acl_cv_wl"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  dnl Determine whether the user wants rpath handling at all.
+  AC_ARG_ENABLE([rpath],
+    [  --disable-rpath         do not hardcode runtime library paths],
+    :, enable_rpath=yes)
+])
+
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  define([acl_frompackage_]NAME, [$2])
+  popdef([NAME])
+  pushdef([PACK],[$2])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  define([acl_libsinpackage_]PACKUP,
+    m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
+  popdef([PACKUP])
+  popdef([PACK])
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+  dnl Autoconf >= 2.61 supports dots in --with options.
+  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_ARG_WITH(P_A_C_K[-prefix],
+[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
+  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
+      fi
+    fi
+])
+  dnl Search the library and its dependencies in $additional_libdir and
+  dnl $LDFLAGS. Using breadth-first-seach.
+  LIB[]NAME=
+  LTLIB[]NAME=
+  INC[]NAME=
+  LIB[]NAME[]_PREFIX=
+  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+  dnl computed. So it has to be reset here.
+  HAVE_LIB[]NAME=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='$1 $2'
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+        dnl or AC_LIB_HAVE_LINKFLAGS call.
+        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+          else
+            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+            dnl that this library doesn't exist. So just drop it.
+            :
+          fi
+        else
+          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+          dnl and the already constructed $LIBNAME/$LTLIBNAME.
+          found_dir=
+          found_la=
+          found_so=
+          found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
+          if test $use_additional = yes; then
+            dir="$additional_libdir"
+            dnl The same code as in the loop below:
+            dnl First look for a shared library.
+            if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
+                fi
+              fi
+            fi
+            dnl Then look for a static library.
+            if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIB[]NAME; do
+              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  dnl First look for a shared library.
+                  if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                  dnl Then look for a static library.
+                  if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+            dnl Found the library.
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+              dnl Linking with a shared library. We attempt to hardcode its
+              dnl directory into the executable's runpath, unless it's the
+              dnl standard /usr/lib.
+              if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                dnl No hardcoding is needed.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+              else
+                dnl Use an explicit option to hardcode DIR into the resulting
+                dnl binary.
+                dnl Potentially add DIR to ltrpathdirs.
+                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                dnl The hardcoding into $LIBNAME is system dependent.
+                if test "$acl_hardcode_direct" = yes; then
+                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+                  dnl resulting binary.
+                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                    dnl Use an explicit option to hardcode DIR into the resulting
+                    dnl binary.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    dnl Potentially add DIR to rpathdirs.
+                    dnl The rpathdirs will be appended to $LIBNAME at the end.
+                    haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                    dnl Rely on "-L$found_dir".
+                    dnl But don't add it if it's already contained in the LDFLAGS
+                    dnl or the already constructed $LIBNAME
+                    haveit=
+                    for x in $LDFLAGS $LIB[]NAME; do
+                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    else
+                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
+                      dnl here, because this doesn't fit in flags passed to the
+                      dnl compiler. So give up. No hardcoding. This affects only
+                      dnl very old systems.
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                dnl Linking with a static library.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+              else
+                dnl We shouldn't come here, but anyway it's good to have a
+                dnl fallback.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+              fi
+            fi
+            dnl Assume the include files are nearby.
+            additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+              dnl Potentially add $additional_includedir to $INCNAME.
+              dnl But don't add it
+              dnl   1. if it's the standard /usr/include,
+              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
+              dnl   3. if it's already present in $CPPFLAGS or the already
+              dnl      constructed $INCNAME,
+              dnl   4. if it doesn't exist as a directory.
+              if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INC[]NAME; do
+                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                      dnl Really add $additional_includedir to $INCNAME.
+                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+            dnl Look for dependencies.
+            if test -n "$found_la"; then
+              dnl Read the .la file. It defines the variables
+              dnl dlname, library_names, old_library, dependency_libs, current,
+              dnl age, revision, installed, dlopen, dlpreopen, libdir.
+              save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+              dnl We use only dependency_libs.
+              for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+                    dnl But don't add it
+                    dnl   1. if it's the standard /usr/lib,
+                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
+                    dnl   3. if it's already present in $LDFLAGS or the already
+                    dnl      constructed $LIBNAME,
+                    dnl   4. if it doesn't exist as a directory.
+                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LIBNAME.
+                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LTLIBNAME.
+                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                      dnl Potentially add DIR to rpathdirs.
+                      dnl The rpathdirs will be appended to $LIBNAME at the end.
+                      haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                      dnl Potentially add DIR to ltrpathdirs.
+                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                      haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                    dnl Handle this in the next round.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                    dnl Handle this in the next round. Throw away the .la's
+                    dnl directory; it is already contained in a preceding -L
+                    dnl option.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                    dnl Most likely an immediate library name.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+            dnl Didn't find the library; assume it is in the system directories
+            dnl known to the linker and runtime loader. (All the system
+            dnl directories known to the linker should also be known to the
+            dnl runtime loader, otherwise the system is severely misconfigured.)
+            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
+      dnl Weird platform: only the last -rpath option counts, the user must
+      dnl pass all path elements in one option. We can arrange that for a
+      dnl single library, but not when more than one $LIBNAMEs are used.
+      alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+      done
+      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
+      acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+    else
+      dnl The -rpath options are cumulative.
+      for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+    dnl When using libtool, the option that works for both libraries and
+    dnl executables is -R. The -R options are cumulative.
+    for found_dir in $ltrpathdirs; do
+      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+    done
+  fi
+  popdef([P_A_C_K])
+  popdef([PACKLIBS])
+  popdef([PACKUP])
+  popdef([PACK])
+  popdef([NAME])
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+  for element in [$2]; do
+    haveit=
+    for x in $[$1]; do
+      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      [$1]="${[$1]}${[$1]:+ }$element"
+    fi
+  done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+  AC_REQUIRE([AC_LIB_RPATH])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  $1=
+  if test "$enable_rpath" != no; then
+    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+      dnl Use an explicit option to hardcode directories into the resulting
+      dnl binary.
+      rpathdirs=
+      next=
+      for opt in $2; do
+        if test -n "$next"; then
+          dir="$next"
+          dnl No need to hardcode the standard /usr/lib.
+          if test "X$dir" != "X/usr/$acl_libdirstem" \
+             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+            rpathdirs="$rpathdirs $dir"
+          fi
+          next=
+        else
+          case $opt in
+            -L) next=yes ;;
+            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+                 dnl No need to hardcode the standard /usr/lib.
+                 if test "X$dir" != "X/usr/$acl_libdirstem" \
+                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+                   rpathdirs="$rpathdirs $dir"
+                 fi
+                 next= ;;
+            *) next= ;;
+          esac
+        fi
+      done
+      if test "X$rpathdirs" != "X"; then
+        if test -n ""$3""; then
+          dnl libtool is used for linking. Use -R options.
+          for dir in $rpathdirs; do
+            $1="${$1}${$1:+ }-R$dir"
+          done
+        else
+          dnl The linker is used for linking directly.
+          if test -n "$acl_hardcode_libdir_separator"; then
+            dnl Weird platform: only the last -rpath option counts, the user
+            dnl must pass all path elements in one option.
+            alldirs=
+            for dir in $rpathdirs; do
+              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+            done
+            acl_save_libdir="$libdir"
+            libdir="$alldirs"
+            eval flag=\"$acl_hardcode_libdir_flag_spec\"
+            libdir="$acl_save_libdir"
+            $1="$flag"
+          else
+            dnl The -rpath options are cumulative.
+            for dir in $rpathdirs; do
+              acl_save_libdir="$libdir"
+              libdir="$dir"
+              eval flag=\"$acl_hardcode_libdir_flag_spec\"
+              libdir="$acl_save_libdir"
+              $1="${$1}${$1:+ }$flag"
+            done
+          fi
+        fi
+      fi
+    fi
+  fi
+  AC_SUBST([$1])
+])
+
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_LIB_ARG_WITH([lib-prefix],
+[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+      fi
+    fi
+])
+  if test $use_additional = yes; then
+    dnl Potentially add $additional_includedir to $CPPFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/include,
+    dnl   2. if it's already present in $CPPFLAGS,
+    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_includedir" != "X/usr/include"; then
+      haveit=
+      for x in $CPPFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-I$additional_includedir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_includedir" = "X/usr/local/include"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_includedir"; then
+            dnl Really add $additional_includedir to $CPPFLAGS.
+            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+          fi
+        fi
+      fi
+    fi
+    dnl Potentially add $additional_libdir to $LDFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/lib,
+    dnl   2. if it's already present in $LDFLAGS,
+    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+      haveit=
+      for x in $LDFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-L$additional_libdir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux*) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_libdir"; then
+            dnl Really add $additional_libdir to $LDFLAGS.
+            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+          fi
+        fi
+      fi
+    fi
+  fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+  dnl Unfortunately, prefix and exec_prefix get only finally determined
+  dnl at the end of configure.
+  if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  $1
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl   "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl   "lib/amd64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+  dnl There is no formal standard regarding lib and lib64.
+  dnl On glibc systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+  dnl the compiler's default mode by looking at the compiler's library search
+  dnl path. If at least one of its elements ends in /lib64 or points to a
+  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+  dnl Otherwise we use the default, namely "lib".
+  dnl On Solaris systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  acl_libdirstem=lib
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+      dnl symlink is missing, so we set acl_libdirstem2 too.
+      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+        [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+        ])
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+        esac
+      fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS= 	}"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              */../ | */.. )
+                # Better ignore directories of this form. They are misleading.
+                ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+])
+
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+])
+
+# serial 58 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+		   [m4_fatal([Libtool version $1 or higher is required],
+		             63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\	*)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in @S|@*""; do
+      case $cc_temp in
+        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
+m4_defun([_LT_CC_BASENAME],
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test set != "${COLLECT_NAMES+set}"; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from 'configure', and 'config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain=$ac_aux_dir/ltmain.sh
+])# _LT_PROG_LTMAIN
+
+
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the 'libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+	[m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+	[tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+	   m4_quote(lt_decl_varnames),
+	m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags='_LT_TAGS'dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+					   [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+	dnl If the libtool generation code has been placed in $CONFIG_LT,
+	dnl instead of duplicating it all over again into config.status,
+	dnl then we will have config.status run $CONFIG_LT later, so it
+	dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable.  If COMMENT is supplied, it is inserted after the
+# '#!' sequence but before initialization text begins.  After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script.  The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+'$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test 0 != $[#]
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try '$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try '$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test yes = "$silent" &&
+  lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options that allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}"; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile=${ofile}T
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test set != "${COLLECT_NAMES+set}"; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+
+   mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],			[_LT_LANG(C)],
+  [C++],		[_LT_LANG(CXX)],
+  [Go],			[_LT_LANG(GO)],
+  [Java],		[_LT_LANG(GCJ)],
+  [Fortran 77],		[_LT_LANG(F77)],
+  [Fortran],		[_LT_LANG(FC)],
+  [Windows Resource],	[_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC],     [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+  fi
+fi
+if test -z "$GOC"; then
+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+  [LT_LANG(GO)],
+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "$LT_MULTI_MODULE"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi])
+
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+	[lt_cv_ld_exported_symbols_list=yes],
+	[lt_cv_ld_exported_symbols_list=no])
+	LDFLAGS=$save_LDFLAGS
+    ])
+
+    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+      [lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[012]])
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+	10.[[012]][[,.]]*)
+	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+    fi
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_automatic, $1)=yes
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  if test yes = "$lt_cv_ld_force_load"; then
+    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+  else
+    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  fi
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
+  case $cc_basename in
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test yes = "$_lt_dar_can_shared"; then
+    output_verbose_link_cmd=func_echo_all
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+    m4_if([$1], [CXX],
+[   if test yes != "$lt_cv_apple_cc_single_mod"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+  lt_aix_libpath_sed='[
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }]'
+  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi],[])
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
+  fi
+  ])
+  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
+case $ECHO in
+  printf*) AC_MSG_RESULT([printf]) ;;
+  print*) AC_MSG_RESULT([print -r]) ;;
+  *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test "X`printf %s $ECHO`" = "X$ECHO" \
+      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+  [Search for dependent libraries within DIR (or the compiler's sysroot
+   if not specified).])],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted.  We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+   if test yes = "$GCC"; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   AC_MSG_RESULT([$with_sysroot])
+   AC_MSG_ERROR([The sysroot must be an absolute path.])
+   ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and where our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE=32
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE=64
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+	emul="${emul}32"
+	;;
+      *64-bit*)
+	emul="${emul}64"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+	emul="${emul}btsmip"
+	;;
+      *LSB*)
+	emul="${emul}ltsmip"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+	emul="${emul}n32"
+	;;
+    esac
+    LD="${LD-ld} -m $emul"
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    case `/usr/bin/file conftest.o` in
+	      *x86-64*)
+		LD="${LD-ld} -m elf32_x86_64"
+		;;
+	      *)
+		LD="${LD-ld} -m elf_i386"
+		;;
+	    esac
+	    ;;
+	  powerpc64le-*linux*)
+	    LD="${LD-ld} -m elf32lppclinux"
+	    ;;
+	  powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  powerpcle-*linux*)
+	    LD="${LD-ld} -m elf64lppc"
+	    ;;
+	  powerpc-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS=$CFLAGS
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test yes != "$lt_cv_cc_needs_belf"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS=$SAVE_CFLAGS
+  fi
+  ;;
+*-*solaris*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*)
+        case $host in
+        i?86-*-solaris*|x86_64-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD=${LD-ld}_sol2
+        fi
+        ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks=$enable_libtool_lock
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+  [lt_cv_ar_at_file=no
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+     [echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+      AC_TRY_EVAL([lt_ar_try])
+      if test 0 -eq "$ac_status"; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	AC_TRY_EVAL([lt_ar_try])
+	if test 0 -ne "$ac_status"; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+     ])
+  ])
+
+if test no = "$lt_cv_ar_at_file"; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+  [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  bitrig* | openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+    [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+    [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test yes = "[$]$2"; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
+])
+
+if test yes = "[$]$2"; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring=ABCD
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test 17 != "$i" # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n "$lt_cv_sys_max_cmd_len"; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes = "$cross_compiling"; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}]
+_LT_EOF
+  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes != "$enable_dlopen"; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen=load_add_on
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen=LoadLibrary
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+    # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+    lt_cv_dlopen=dyld
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen=shl_load],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen=dlopen],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test no = "$lt_cv_dlopen"; then
+    enable_dlopen=no
+  else
+    enable_dlopen=yes
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS=$LDFLAGS
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS=$LIBS
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test yes = "$lt_cv_dlopen_self"; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+	  lt_cv_dlopen_self_static, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+	 [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+	 [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+	 [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+	[Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test no = "$hard_links"; then
+    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+  [Define to the sub-directory where libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
+
+  # We can hardcode non-existent directories.
+  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP"; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x@S|@2 in
+    x)
+        ;;
+    *:)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+        ;;
+    x:*)
+        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+        ;;
+    *)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+	[], [
+if test yes = "$GCC"; then
+  case $host_os in
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary...
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo = "/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
+case $host_os in
+aix3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='$libname$release$shared_ext$major'
+  ;;
+
+aix[[4-9]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test ia64 = "$host_cpu"; then
+    # AIX 5 supports IA64
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='$libname$shared_ext'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+m4_if([$1], [],[
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+      ;;
+    esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec=$LIB
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
+    ;;
+
+  *)
+    # Assume MSVC wrapper
+    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
+    dynamic_linker='Win32 ld.exe'
+    ;;
+  esac
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[23]].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+    fi
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[[3-9]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test yes = "$lt_cv_prog_gnu_ld"; then
+		version_type=linux # correct to gnu/linux during the next big refactor
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+    [lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+	 [lt_cv_shlibpath_overrides_runpath=yes])])
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+    ])
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd* | bitrig*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec=/usr/lib
+  need_lib_prefix=no
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
+  else
+    need_version=yes
+  fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+os2*)
+  libname_spec='$name'
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test yes = "$with_gnu_ld"; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec; then
+    version_type=linux # correct to gnu/linux during the next big refactor
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=sco
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test yes = "$with_gnu_ld"; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+    [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+    [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+    [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program that can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$1"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
+  ;;
+esac])
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program that can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test no = "$withval" || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test yes = "$GCC"; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return, which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD=$ac_prog
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test yes = "$with_gnu_ld"; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD=$ac_dir/$ac_prog
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test no != "$with_gnu_ld" && break
+	;;
+      *)
+	test yes != "$with_gnu_ld" && break
+	;;
+      esac
+    fi
+  done
+  IFS=$lt_save_ifs
+else
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
+fi])
+LD=$lt_cv_path_LD
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test yes != "$GCC"; then
+      reload_cmds=false
+    fi
+    ;;
+  darwin*)
+    if test yes = "$GCC"; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+  [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+    [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM=$NM
+else
+  lt_nm_to_check=${ac_tool_prefix}nm
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS=$lt_save_ifs
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+	case $build_os in
+	mingw*) lt_bad_file=conftest.nm/nofile ;;
+	*) lt_bad_file=/dev/null ;;
+	esac
+	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+	*$lt_bad_file* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break 2
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break 2
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS=$lt_save_ifs
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols -headers"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
+  AC_SUBST([DUMPBIN])
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
+  ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+    [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+  [lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*])
+if test yes != "$lt_cv_path_mainfest_tool"; then
+  MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+  test DEF = "`$SED -n dnl
+    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
+    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
+    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
+    -e q dnl                          Only consider the first "real" line
+    $1`" dnl
+])# _LT_DLL_DEF_P
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM=-lm)
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test yes = "$GCC"; then
+  case $cc_basename in
+  nvcc*)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+  esac
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+	[Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*)
+  if test ia64 = "$host_cpu"; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK ['"\
+"     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx]"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT@&t@_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data.  */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+LT@&t@_DLSYM_CONST struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
+	  LIBS=conftstm.$ac_objext
+	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
+	    pipe_works=yes
+	  fi
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test yes = "$pipe_works"; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+    [Transform the output of nm into a list of symbols to manually relocate])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+    [The name lister interface])
+_LT_DECL([], [nm_file_list_spec], [1],
+    [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test yes = "$GXX"; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+	# All AIX code is PIC.
+	if test ia64 = "$host_cpu"; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      mingw* | cygwin* | os2* | pw32* | cegcc*)
+	# This hack is so that the source file can tell whether it is being
+	# built for inclusion in a dll (and should export symbols for example).
+	m4_if([$1], [GCJ], [],
+	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+	    if test ia64 != "$host_cpu"; then
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  ecpc* )
+	    # old Intel C++ for x86_64, which still supported -KPIC.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  icpc* )
+	    # Intel C++, used to be incompatible with GCC.
+	    # ICC 10 doesn't accept -KPIC any more.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test yes = "$GCC"; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+      fi
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      esac
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+      case $cc_basename in
+      # old Intel for x86_64, which still supported -KPIC.
+      ecc*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+	;;
+      nagfor*)
+	# NAG Fortran compiler
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	;;
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	  ;;
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+        *Intel*\ [[CF]]*Compiler*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	  ;;
+	*Portland\ Group*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms that do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+	[Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+	[Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  case $host_os in
+  aix[[4-9]]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+    # Without the "-l" option, or with the "-B" option, AIX nm treats
+    # weak defined symbols like other global defined symbols, whereas
+    # GNU nm marks them as "W".
+    # While the 'weak' keyword is ignored in the Export File, we need
+    # it in the Import File for the 'aix-soname' feature, so we have
+    # to replace the "-B" option with "-P" for AIX nm.
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
+    ;;
+  cygwin* | mingw* | cegcc*)
+    case $cc_basename in
+    cl*)
+      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
+    *)
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+      ;;
+    esac
+    ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+    ;;
+  esac
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test yes != "$GCC"; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd* | bitrig*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_TAGVAR(ld_shlibs, $1)=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test yes = "$with_gnu_ld"; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test yes = "$lt_use_gnu_ld_interface"; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='$wl'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[[3-9]]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test ia64 != "$host_cpu"; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file, use it as
+	# is; otherwise, prepend EXPORTS...
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    haiku*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test linux-dietlibc = "$host_os"; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test no = "$tmp_diet"
+      then
+	tmp_addflag=' $pic_flag'
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+	  tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
+	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+        if test yes = "$supports_anon_versioning"; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	tcc*)
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+	  ;;
+	xlf* | bgf* | bgxlf* | mpixlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+	  if test yes = "$supports_anon_versioning"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix[[4-9]]*)
+      if test ia64 = "$host_cpu"; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+	;;
+      esac
+
+      if test yes = "$GCC"; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`$CC -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test yes = "$aix_use_runtimelinking"; then
+	  shared_flag="$shared_flag "'$wl-G'
+	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
+      else
+	# not using gcc
+	if test ia64 = "$host_cpu"; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag='$wl-G'
+	  else
+	    shared_flag='$wl-bM:SRE'
+	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
+	fi
+      fi
+
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX([$1])
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+      else
+	if test ia64 = "$host_cpu"; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 _LT_SYS_MODULE_PATH_AIX([$1])
+	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+	  if test yes = "$with_gnu_ld"; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  fi
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	  else
+	    # used by -dlpreopen to get the symbols
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	_LT_TAGVAR(always_export_symbols, $1)=yes
+	_LT_TAGVAR(file_list_spec, $1)='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	# FIXME: Should let the user specify the lib program.
+	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2.*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+      ;;
+
+    hpux10*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test no = "$with_gnu_ld"; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	m4_if($1, [], [
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  _LT_LINKER_OPTION([if $CC understands -b],
+	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+	  ;;
+	esac
+      fi
+      if test no = "$with_gnu_ld"; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+	# This should be the same for all languages, so no per-tag cache variable.
+	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+	  [lt_cv_irix_exported_symbol],
+	  [save_LDFLAGS=$LDFLAGS
+	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+	   AC_LINK_IFELSE(
+	     [AC_LANG_SOURCE(
+	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+			      [C++], [[int foo (void) { return 0; }]],
+			      [Fortran 77], [[
+      subroutine foo
+      end]],
+			      [Fortran], [[
+      subroutine foo
+      end]])])],
+	      [lt_cv_irix_exported_symbol=yes],
+	      [lt_cv_irix_exported_symbol=no])
+           LDFLAGS=$save_LDFLAGS])
+	if test yes = "$lt_cv_irix_exported_symbol"; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+	fi
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd* | bitrig*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	else
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	fi
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    osf3*)
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test yes = "$GCC"; then
+	wlarc='$wl'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='$wl'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands '-z linker_flag'.  GCC discards it without '$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test yes = "$GCC"; then
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+	else
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test sequent = "$host_vendor"; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We CANNOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test sni = "$host_vendor"; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test yes,yes = "$GCC,$enable_shared"; then
+    case $_LT_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+	[$RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+	  _LT_TAGVAR(allow_undefined_flag, $1)=
+	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+	  then
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	  else
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  fi
+	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+	])
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting $shlibpath_var if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+    [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC=$CC
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report what library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  test no = "$can_build_shared" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test yes = "$enable_shared" && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[[4-9]]*)
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
+    fi
+    ;;
+  esac
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test yes = "$enable_shared" || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC=$lt_save_CC
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test no != "$CXX" &&
+    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+    (test g++ != "$CXX"))); then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_caught_CXX_error"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_CFLAGS=$CFLAGS
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  CFLAGS=$CXXFLAGS
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test yes = "$GXX"; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test yes = "$GXX"; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test yes = "$with_gnu_ld"; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='$wl'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      aix[[4-9]]*)
+        if test ia64 = "$host_cpu"; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # have runtime linking enabled, and use it for executables.
+          # For shared libraries, we enable/disable runtime linking
+          # depending on the kind of the shared library created -
+          # when "with_aix_soname,aix_use_runtimelinking" is:
+          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "aix,yes"  lib.so          shared, rtl:yes, for executables
+          #            lib.a           static archive
+          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+          #            lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a(lib.so.V) shared, rtl:no
+          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a           static archive
+          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	      # so we don't have lib.a shared libs to link our executables.
+	      # We have to force runtime linking in this case.
+	      aix_use_runtimelinking=yes
+	      LDFLAGS="$LDFLAGS -Wl,-brtl"
+	    fi
+	    ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+        case $with_aix_soname,$aix_use_runtimelinking in
+        aix,*) ;;	# no import file
+        svr4,* | *,yes) # use import file
+          # The Import File defines what to hardcode.
+          _LT_TAGVAR(hardcode_direct, $1)=no
+          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+          ;;
+        esac
+
+        if test yes = "$GXX"; then
+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`$CC -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag=$shared_flag' $wl-G'
+	  fi
+	  # Need to ensure runtime linking is disabled for the traditional
+	  # shared library, or the linker may eventually find shared libraries
+	  # /with/ Import File - we do not want to mix them.
+	  shared_flag_aix='-shared'
+	  shared_flag_svr4='-shared $wl-G'
+        else
+          # not using gcc
+          if test ia64 = "$host_cpu"; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test yes = "$aix_use_runtimelinking"; then
+	      shared_flag='$wl-G'
+	    else
+	      shared_flag='$wl-bM:SRE'
+	    fi
+	    shared_flag_aix='$wl-bM:SRE'
+	    shared_flag_svr4='$wl-G'
+          fi
+        fi
+
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        _LT_TAGVAR(always_export_symbols, $1)=yes
+	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          # The "-G" linker flag allows undefined symbols.
+          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          _LT_SYS_MODULE_PATH_AIX([$1])
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+        else
+          if test ia64 = "$host_cpu"; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    _LT_SYS_MODULE_PATH_AIX([$1])
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+	    if test yes = "$with_gnu_ld"; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    fi
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	    # -brtl affects multiple linker settings, -berok does not and is overridden later
+	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	    if test svr4 != "$with_aix_soname"; then
+	      # This is similar to how AIX traditionally builds its shared
+	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	    fi
+	    if test aix != "$with_aix_soname"; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	    else
+	      # used by -dlpreopen to get the symbols
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	    fi
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+          fi
+        fi
+        ;;
+
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+	case $GXX,$cc_basename in
+	,cl* | no,cl*)
+	  # Native MSVC
+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
+	  # no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=yes
+	  _LT_TAGVAR(file_list_spec, $1)='@'
+	  # Tell ltmain to make .lib files, not .a files.
+	  libext=lib
+	  # Tell ltmain to make .dll files, not .so files.
+	  shrext_cmds=.dll
+	  # FIXME: Setting linknames here is a bad hack.
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp "$export_symbols" "$output_objdir/$soname.def";
+              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+            else
+              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+            fi~
+            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+            linknames='
+	  # The linker will not automatically build a static lib if we build a DLL.
+	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	  # Don't use ranlib
+	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+            lt_tool_outputfile="@TOOL_OUTPUT@"~
+            case $lt_outputfile in
+              *.exe|*.EXE) ;;
+              *)
+                lt_outputfile=$lt_outputfile.exe
+                lt_tool_outputfile=$lt_tool_outputfile.exe
+                ;;
+            esac~
+            func_to_tool_file "$lt_outputfile"~
+            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+              $RM "$lt_outputfile.manifest";
+            fi'
+	  ;;
+	*)
+	  # g++
+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+	  # as there is no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=no
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	    # If the export-symbols file already is a .def file, use it as
+	    # is; otherwise, prepend EXPORTS...
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp $export_symbols $output_objdir/$soname.def;
+            else
+              echo EXPORTS > $output_objdir/$soname.def;
+              cat $export_symbols >> $output_objdir/$soname.def;
+            fi~
+            $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	  ;;
+	esac
+	;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+	;;
+
+      os2*)
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	shrext_cmds=.dll
+	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  prefix_cmds="$SED"~
+	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	    prefix_cmds="$prefix_cmds -e 1d";
+	  fi~
+	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      freebsd2.*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      haiku*)
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            ;;
+          *)
+            if test yes = "$GXX"; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test no = "$with_gnu_ld"; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+          *)
+	    if test yes = "$GXX"; then
+	      if test no = "$with_gnu_ld"; then
+	        case $host_cpu in
+	          hppa*64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test yes = "$GXX"; then
+	      if test no = "$with_gnu_ld"; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	      else
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
+	      fi
+	    fi
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+	    ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+                $RANLIB $oldlib'
+	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 and above use weak symbols
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	      ;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
+
+	    runpath_var=LD_RUN_PATH
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+	    ;;
+	  xl* | mpixl* | bgxl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    if test yes = "$supports_anon_versioning"; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+                echo "local: *; };" >> $output_objdir/$libname.ver~
+                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	      _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='func_echo_all'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	esac
+	;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+	;;
+
+      openbsd* | bitrig*)
+	if test -f /usr/libexec/ld.so; then
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=func_echo_all
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+		;;
+	      *)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+                  echo "-hidden">> $lib.exp~
+                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+                  $RM $lib.exp'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+		;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+	  *)
+	    if test yes,no = "$GXX,$with_gnu_ld"; then
+	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	      case $host in
+	        osf3*)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+		  ;;
+	        *)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+		  ;;
+	      esac
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	    case $host_os in
+	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands '-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+	    output_verbose_link_cmd='func_echo_all'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test yes,no = "$GXX,$with_gnu_ld"; then
+	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
+	        # platform.
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      fi
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
+	      case $host_os in
+		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+		*)
+		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We CANNOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+	_LT_TAGVAR(link_all_deplibs, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          CC*)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+              '"$_LT_TAGVAR(old_archive_cmds, $1)"
+	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+              '"$_LT_TAGVAR(reload_cmds, $1)"
+	    ;;
+	  *)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)=$GXX
+    _LT_TAGVAR(LD, $1)=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test yes != "$_lt_caught_CXX_error"
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+  case @S|@2 in
+  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
+  esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $prev$p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test x-L = "$p" ||
+          test x-R = "$p"; then
+	 prev=$p
+	 continue
+       fi
+
+       # Expand the sysroot to ease extracting the directories later.
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+         esac
+       fi
+       case $p in
+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+       esac
+       if test no = "$pre_test_object_deps_done"; then
+	 case $prev in
+	 -L | -R)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
+	   else
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+	   _LT_TAGVAR(postdeps, $1)=$prev$p
+	 else
+	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
+	 fi
+       fi
+       prev=
+       ;;
+
+    *.lto.$objext) ;; # Ignore GCC LTO objects
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test no = "$pre_test_object_deps_done"; then
+	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+	   _LT_TAGVAR(predep_objects, $1)=$p
+	 else
+	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+	   _LT_TAGVAR(postdep_objects, $1)=$p
+	 else
+	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test no = "$F77"; then
+  _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_F77"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
+  CC=${F77-"f77"}
+  CFLAGS=$FFLAGS
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test no = "$can_build_shared" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test yes = "$enable_shared" && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test yes = "$enable_shared" || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)=$G77
+    _LT_TAGVAR(LD, $1)=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test no = "$FC"; then
+  _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_FC"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
+  CC=${FC-"f95"}
+  CFLAGS=$FCFLAGS
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test no = "$can_build_shared" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test yes = "$enable_shared" && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test yes = "$enable_shared" || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+    _LT_TAGVAR(LD, $1)=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_FC"
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=$lt_simple_compile_test_code
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f "$lt_ac_sed" && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test 10 -lt "$lt_ac_count" && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test "$lt_ac_count" -gt "$lt_ac_max"; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine what file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+         [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+         [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
+
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+#   Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 8 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option '$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+		      [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+		   [_LT_ENABLE_FAST_INSTALL])
+  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+		   [_LT_WITH_AIX_SONAME([aix])])
+  ])
+])# _LT_SET_OPTIONS
+
+
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+	[Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+	[Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+	 [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+  AC_MSG_CHECKING([which variant of shared library versioning to provide])
+  AC_ARG_WITH([aix-soname],
+    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+    [case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname],
+    [AC_CACHE_VAL([lt_cv_with_aix_soname],
+      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+    with_aix_soname=$lt_cv_with_aix_soname])
+  AC_MSG_RESULT([$with_aix_soname])
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
+# LT_INIT options.
+# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for lt_pkg in $withval; do
+	IFS=$lt_save_ifs
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [pic_mode=m4_default([$1], [default])])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+		 [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+		 [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+		 [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+		 [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+		 [m4_define([_LTDL_TYPE], [convenience])])
+
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59, which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+	     [m4_foreach([_Lt_suffix],
+		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+		 [lt_append([$1], [$2], [$3])$4],
+		 [$5])],
+	  [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+	[$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
+
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 4179 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.6'
+macro_revision='2.4.6'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
+
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+#   Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
+# serial 11 (pkg-config-0.29.1)
+
+dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_default([$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+fi[]dnl
+])dnl PKG_PROG_PKG_CONFIG
+
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_default([$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes ],
+		     [pkg_failed=yes])
+ else
+    pkg_failed=untried
+fi[]dnl
+])dnl _PKG_CONFIG
+
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
+
+
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl   [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+   	AC_MSG_RESULT([no])
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+        else 
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+	m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+        ])
+elif test $pkg_failed = untried; then
+     	AC_MSG_RESULT([no])
+	m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+        ])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	$3
+fi[]dnl
+])dnl PKG_CHECK_MODULES
+
+
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl   [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+    [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_INSTALLDIR
+
+
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+    [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_NOARCH_INSTALLDIR
+
+
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])dnl PKG_CHECK_VAR
+
+dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------
+dnl
+dnl Prepare a "--with-" configure option using the lowercase
+dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
+dnl PKG_CHECK_MODULES in a single macro.
+AC_DEFUN([PKG_WITH_MODULES],
+[
+m4_pushdef([with_arg], m4_tolower([$1]))
+
+m4_pushdef([description],
+           [m4_default([$5], [build with ]with_arg[ support])])
+
+m4_pushdef([def_arg], [m4_default([$6], [auto])])
+m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
+m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
+
+m4_case(def_arg,
+            [yes],[m4_pushdef([with_without], [--without-]with_arg)],
+            [m4_pushdef([with_without],[--with-]with_arg)])
+
+AC_ARG_WITH(with_arg,
+     AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
+    [AS_TR_SH([with_]with_arg)=def_arg])
+
+AS_CASE([$AS_TR_SH([with_]with_arg)],
+            [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
+            [auto],[PKG_CHECK_MODULES([$1],[$2],
+                                        [m4_n([def_action_if_found]) $3],
+                                        [m4_n([def_action_if_not_found]) $4])])
+
+m4_popdef([with_arg])
+m4_popdef([description])
+m4_popdef([def_arg])
+
+])dnl PKG_WITH_MODULES
+
+dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl -----------------------------------------------
+dnl
+dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
+dnl check._[VARIABLE-PREFIX] is exported as make variable.
+AC_DEFUN([PKG_HAVE_WITH_MODULES],
+[
+PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
+
+AM_CONDITIONAL([HAVE_][$1],
+               [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
+])dnl PKG_HAVE_WITH_MODULES
+
+dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------------------
+dnl
+dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
+dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
+dnl and preprocessor variable.
+AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
+[
+PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
+
+AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
+        [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
+])dnl PKG_HAVE_DEFINE_WITH_MODULES
+
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.15'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.15.1], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is '.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+  # Older Autoconf quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named 'Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running 'make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "$am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each '.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([AM_WITH_DMALLOC],
+[AC_MSG_CHECKING([if malloc debugging is wanted])
+AC_ARG_WITH([dmalloc],
+[AS_HELP_STRING([--with-dmalloc],
+                [use dmalloc, as in http://www.dmalloc.com])],
+[if test "$withval" = yes; then
+  AC_MSG_RESULT([yes])
+  AC_DEFINE([WITH_DMALLOC], [1],
+	    [Define if using the dmalloc debugging malloc package])
+  LIBS="$LIBS -ldmalloc"
+  LDFLAGS="$LDFLAGS -g"
+else
+  AC_MSG_RESULT([no])
+fi], [AC_MSG_RESULT([no])])
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST([install_sh])])
+
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+       [enable], [m4_define([am_maintainer_other], [disable])],
+       [disable], [m4_define([am_maintainer_other], [enable])],
+       [m4_define([am_maintainer_other], [enable])
+        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+  AC_ARG_ENABLE([maintainer-mode],
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST([MAINT])dnl
+]
+)
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
+else
+  am_missing_run=
+  AC_MSG_WARN(['missing' script is too old or missing])
+fi
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+#
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
+  rm -rf conftest.dir
+
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([acinclude.m4])

+ 348 - 0
compile

@@ -0,0 +1,348 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2016-01-11.22; # UTC
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" ""	$nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+	# lazily determine how to convert abs files
+	case `uname -s` in
+	  MINGW*)
+	    file_conv=mingw
+	    ;;
+	  CYGWIN*)
+	    file_conv=cygwin
+	    ;;
+	  *)
+	    file_conv=wine
+	    ;;
+	esac
+      fi
+      case $file_conv/,$2, in
+	*,$file_conv,*)
+	  ;;
+	mingw/*)
+	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+	  ;;
+	cygwin/*)
+	  file=`cygpath -m "$file" || echo "$file"`
+	  ;;
+	wine/*)
+	  file=`winepath -w "$file" || echo "$file"`
+	  ;;
+      esac
+      ;;
+  esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+  # Assume a capable shell
+  lib_path=
+  shared=:
+  linker_opts=
+  for arg
+  do
+    if test -n "$eat"; then
+      eat=
+    else
+      case $1 in
+	-o)
+	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
+	  eat=1
+	  case $2 in
+	    *.o | *.[oO][bB][jJ])
+	      func_file_conv "$2"
+	      set x "$@" -Fo"$file"
+	      shift
+	      ;;
+	    *)
+	      func_file_conv "$2"
+	      set x "$@" -Fe"$file"
+	      shift
+	      ;;
+	  esac
+	  ;;
+	-I)
+	  eat=1
+	  func_file_conv "$2" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-I*)
+	  func_file_conv "${1#-I}" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-l)
+	  eat=1
+	  func_cl_dashl "$2"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-l*)
+	  func_cl_dashl "${1#-l}"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-L)
+	  eat=1
+	  func_cl_dashL "$2"
+	  ;;
+	-L*)
+	  func_cl_dashL "${1#-L}"
+	  ;;
+	-static)
+	  shared=false
+	  ;;
+	-Wl,*)
+	  arg=${1#-Wl,}
+	  save_ifs="$IFS"; IFS=','
+	  for flag in $arg; do
+	    IFS="$save_ifs"
+	    linker_opts="$linker_opts $flag"
+	  done
+	  IFS="$save_ifs"
+	  ;;
+	-Xlinker)
+	  eat=1
+	  linker_opts="$linker_opts $2"
+	  ;;
+	-*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+	  func_file_conv "$1"
+	  set x "$@" -Tp"$file"
+	  shift
+	  ;;
+	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+	  func_file_conv "$1" mingw
+	  set x "$@" "$file"
+	  shift
+	  ;;
+	*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+      esac
+    fi
+    shift
+  done
+  if test -n "$linker_opts"; then
+    linker_opts="-link$linker_opts"
+  fi
+  exec "$@" $linker_opts
+  exit 1
+}
+
+eat=
+
+case $1 in
+  '')
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "compile $scriptversion"
+    exit $?
+    ;;
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
+    func_cl_wrapper "$@"      # Doesn't return...
+    ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+  if test -n "$eat"; then
+    eat=
+  else
+    case $1 in
+      -o)
+	# configure might choose to run compile as 'compile cc -o foo foo.c'.
+	# So we strip '-o arg' only if arg is an object.
+	eat=1
+	case $2 in
+	  *.o | *.obj)
+	    ofile=$2
+	    ;;
+	  *)
+	    set x "$@" -o "$2"
+	    shift
+	    ;;
+	esac
+	;;
+      *.c)
+	cfile=$1
+	set x "$@" "$1"
+	shift
+	;;
+      *)
+	set x "$@" "$1"
+	shift
+	;;
+    esac
+  fi
+  shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+  # If no '-o' option was seen then we might have been invoked from a
+  # pattern rule where we don't need one.  That is ok -- this is a
+  # normal compilation that the losing compiler can handle.  If no
+  # '.c' file was seen then we are probably linking.  That is also
+  # ok.
+  exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file.  Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+  if mkdir "$lockdir" >/dev/null 2>&1; then
+    break
+  fi
+  sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:

+ 1433 - 0
config.guess

@@ -0,0 +1,1433 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
+
+timestamp='2015-03-04'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches to <config-patches@gnu.org>.
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2015 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	LIBC=gnu
+
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#else
+	LIBC=gnu
+	#endif
+	EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+	;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+	    /sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || \
+	    echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    earmv*)
+		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+		machine=${arch}${endian}-unknown
+		;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep -q __ELF__
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+		os=netbsd
+		;;
+	esac
+	# Determine ABI tags.
+	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}${abi}"
+	exit ;;
+    *:Bitrig:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+	exitcode=$?
+	trap '' 0
+	exit $exitcode ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+	echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+	echo i386-pc-auroraux${UNAME_RELEASE}
+	exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+	echo m68k-milan-mint${UNAME_RELEASE}
+	exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+	echo m68k-hades-mint${UNAME_RELEASE}
+	exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+	echo m68k-unknown-mint${UNAME_RELEASE}
+	exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+	# DG/UX returns AViiON for all architectures
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[4567])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/lslpp ] ; then
+		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+		    case "${sc_cpu_version}" in
+		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      532)                      # CPU_PA_RISC2_0
+			case "${sc_kernel_bits}" in
+			  32) HP_ARCH="hppa2.0n" ;;
+			  64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			esac ;;
+		    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^		//' << EOF >$dummy.c
+
+		#define _HPUX_SOURCE
+		#include <stdlib.h>
+		#include <unistd.h>
+
+		int main ()
+		{
+		#if defined(_SC_KERNEL_BITS)
+		    long bits = sysconf(_SC_KERNEL_BITS);
+		#endif
+		    long cpu  = sysconf (_SC_CPU_VERSION);
+
+		    switch (cpu)
+			{
+			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+			case CPU_PA_RISC2_0:
+		#if defined(_SC_KERNEL_BITS)
+			    switch (bits)
+				{
+				case 64: puts ("hppa2.0w"); break;
+				case 32: puts ("hppa2.0n"); break;
+				default: puts ("hppa2.0"); break;
+				} break;
+		#else  /* !defined(_SC_KERNEL_BITS) */
+			    puts ("hppa2.0"); break;
+		#endif
+			default: puts ("hppa1.0"); break;
+			}
+		    exit (0);
+		}
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep -q __LP64__
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+	exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+	exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+	exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+	exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    5000:UNIX_System_V:4.*:*)
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    *:MINGW64*:*)
+	echo ${UNAME_MACHINE}-pc-mingw64
+	exit ;;
+    *:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    *:MSYS*:*)
+	echo ${UNAME_MACHINE}-pc-msys
+	exit ;;
+    i*:windows32*:*)
+	# uname -m includes "-pc" on this system.
+	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    *:Interix*:*)
+	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    authenticamd | genuineintel | EM64T)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	    IA64)
+		echo ia64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    8664:Windows_NT:*)
+	echo x86_64-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    aarch64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    aarch64_be:Linux:*:*)
+	UNAME_MACHINE=aarch64_be
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+	esac
+	objdump --private-headers /bin/sh | grep -q ld.so.1
+	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arm*:Linux:*:*)
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	else
+	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+		| grep -q __ARM_PCS_VFP
+	    then
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+	    else
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+	    fi
+	fi
+	exit ;;
+    avr32*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    cris:Linux:*:*)
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	exit ;;
+    crisv32:Linux:*:*)
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	exit ;;
+    e2k:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    frv:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    hexagon:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    i*86:Linux:*:*)
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    mips:Linux:*:* | mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef ${UNAME_MACHINE}
+	#undef ${UNAME_MACHINE}el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=${UNAME_MACHINE}el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=${UNAME_MACHINE}
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+	;;
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-${LIBC}
+	exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    padre:Linux:*:*)
+	echo sparc-unknown-linux-${LIBC}
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
+	esac
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-${LIBC}
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-${LIBC}
+	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-${LIBC}
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-${LIBC}
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+	exit ;;
+    sh64*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    tile*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    vax:Linux:*:*)
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+	exit ;;
+    x86_64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    xtensa*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+	# Unixware is an offshoot of SVR4, but it has its own version
+	# number series starting with 2...
+	# I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+	# Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+	# uname -m prints for DJGPP always 'pc', but it prints nothing about
+	# the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configury will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
+	exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+			# says <Richard.M.Bartel@ccMail.Census.GOV>
+	echo i586-unisys-sysv4
+	exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes@openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+		echo mips-nec-sysv${UNAME_RELEASE}
+	else
+		echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+	exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+	echo i586-pc-haiku
+	exit ;;
+    x86_64:Haiku:*:*)
+	echo x86_64-unknown-haiku
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	eval $set_cc_for_build
+	if test "$UNAME_PROCESSOR" = unknown ; then
+	    UNAME_PROCESSOR=powerpc
+	fi
+	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    grep IS_64BIT_ARCH >/dev/null
+		then
+		    case $UNAME_PROCESSOR in
+			i386) UNAME_PROCESSOR=x86_64 ;;
+			powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		    esac
+		fi
+	    fi
+	elif test "$UNAME_PROCESSOR" = i386 ; then
+	    # Avoid executing cc on OS X 10.9, as it ships with a stub
+	    # that puts up a graphical alert prompting to install
+	    # developer tools.  Any system running Mac OS X 10.7 or
+	    # later (Darwin 11 and later) is required to have a 64-bit
+	    # processor. This is not true of the ARM version of Darwin
+	    # that Apple uses in portable devices.
+	    UNAME_PROCESSOR=x86_64
+	fi
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NEO-?:NONSTOP_KERNEL:*:*)
+	echo neo-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSE-*:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+	echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+    i*86:rdos:*:*)
+	echo ${UNAME_MACHINE}-pc-rdos
+	exit ;;
+    i*86:AROS:*:*)
+	echo ${UNAME_MACHINE}-pc-aros
+	exit ;;
+    x86_64:VMkernel:*:*)
+	echo ${UNAME_MACHINE}-unknown-esx
+	exit ;;
+esac
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:

+ 371 - 0
config.h.in

@@ -0,0 +1,371 @@
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+
+#ifndef LAME_CONFIG_H
+#define LAME_CONFIG_H
+
+
+/* debug define */
+#undef ABORTFP
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* alot of debug output */
+#undef DEBUG
+
+/* allow to compute a more accurate replaygain value */
+#undef DECODE_ON_THE_FLY
+
+/* double is faster than float on Alpha */
+#undef FLOAT
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* we link against libefence */
+#undef HAVE_EFENCE
+
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define if you have the iconv() function and it works. */
+#undef HAVE_ICONV
+
+/* add ieee754_float32_t type */
+#undef HAVE_IEEE754_FLOAT32_T
+#ifndef HAVE_IEEE754_FLOAT32_T
+	typedef float ieee754_float32_t;
+#endif
+
+/* add ieee754_float64_t type */
+#undef HAVE_IEEE754_FLOAT64_T
+#ifndef HAVE_IEEE754_FLOAT64_T
+	typedef double ieee754_float64_t;
+#endif
+
+/* system has 80 bit floats */
+#undef HAVE_IEEE854_FLOAT80
+
+/* add ieee854_float80_t type */
+#undef HAVE_IEEE854_FLOAT80_T
+#ifndef HAVE_IEEE854_FLOAT80_T
+	typedef long double ieee854_float80_t;
+#endif
+
+/* add int16_t type */
+#undef HAVE_INT16_T
+#ifndef HAVE_INT16_T
+	typedef short int16_t;
+#endif
+
+/* add int32_t type */
+#undef HAVE_INT32_T
+#ifndef HAVE_INT32_T
+#undef A_INT32_T
+	typedef A_INT32_T int32_t;
+#endif
+
+/* add int64_t type */
+#undef HAVE_INT64_T
+#ifndef HAVE_INT64_T
+#undef A_INT64_T
+	typedef A_INT64_T int64_t;
+#endif
+
+/* add int8_t type */
+#undef HAVE_INT8_T
+#ifndef HAVE_INT8_T
+	typedef char int8_t;
+#endif
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define to 1 if you have the <linux/soundcard.h> header file. */
+#undef HAVE_LINUX_SOUNDCARD_H
+
+/* Define to 1 if the type `long double' works and has more range or precision
+   than `double'. */
+#undef HAVE_LONG_DOUBLE
+
+/* Define to 1 if the type `long double' works and has more range or precision
+   than `double'. */
+#undef HAVE_LONG_DOUBLE_WIDER
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* build with mpglib support */
+#undef HAVE_MPGLIB
+
+/* have nasm */
+#undef HAVE_NASM
+
+/* Define to 1 if you have the <ncurses/termcap.h> header file. */
+#undef HAVE_NCURSES_TERMCAP_H
+
+/* Define to 1 if you have the `socket' function. */
+#undef HAVE_SOCKET
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strtol' function. */
+#undef HAVE_STRTOL
+
+/* Define to 1 if you have the <sys/soundcard.h> header file. */
+#undef HAVE_SYS_SOUNDCARD_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* have termcap */
+#undef HAVE_TERMCAP
+
+/* Define to 1 if you have the <termcap.h> header file. */
+#undef HAVE_TERMCAP_H
+
+/* add uint16_t type */
+#undef HAVE_UINT16_T
+#ifndef HAVE_UINT16_T
+	typedef unsigned short uint16_t;
+#endif
+
+/* add uint32_t type */
+#undef HAVE_UINT32_T
+#ifndef HAVE_UINT32_T
+#undef A_UINT32_T
+	typedef A_UINT32_T uint32_t;
+#endif
+
+/* add uint64_t type */
+#undef HAVE_UINT64_T
+#ifndef HAVE_UINT64_T
+#undef A_UINT64_T
+	typedef A_UINT64_T uint64_t;
+#endif
+
+/* add uint8_t type */
+#undef HAVE_UINT8_T
+#ifndef HAVE_UINT8_T
+	typedef unsigned char uint8_t;
+#endif
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define if SSE intrinsics work. */
+#undef HAVE_XMMINTRIN_H
+
+/* Define as const if the declaration of iconv() needs const. */
+#undef ICONV_CONST
+
+/* requested by Frank, seems to be temporary needed for a smooth transition */
+#undef LAME_LIBRARY_BUILD
+
+/* set to 1 if you have libsndfile */
+#undef LIBSNDFILE
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#undef LT_OBJDIR
+
+/* use MMX version of choose_table */
+#undef MMX_choose_table
+
+/* build without hooks for analyzer */
+#undef NOANALYSIS
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* The size of `double', as computed by sizeof. */
+#undef SIZEOF_DOUBLE
+
+/* The size of `float', as computed by sizeof. */
+#undef SIZEOF_FLOAT
+
+/* The size of `int', as computed by sizeof. */
+#undef SIZEOF_INT
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `long double', as computed by sizeof. */
+#undef SIZEOF_LONG_DOUBLE
+
+/* The size of `long long', as computed by sizeof. */
+#undef SIZEOF_LONG_LONG
+
+/* The size of `short', as computed by sizeof. */
+#undef SIZEOF_SHORT
+
+/* The size of `unsigned int', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_INT
+
+/* The size of `unsigned long', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_LONG
+
+/* The size of `unsigned long long', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_LONG_LONG
+
+/* The size of `unsigned short', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_SHORT
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* IEEE754 compatible machine */
+#undef TAKEHIRO_IEEE754_HACK
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* faster log implementation with less but enough precission */
+#undef USE_FAST_LOG
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Version number of package */
+#undef VERSION
+
+/* Define if using the dmalloc debugging malloc package */
+#undef WITH_DMALLOC
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* we're on DEC Alpha */
+#undef __DECALPHA__
+
+/* work around a glibc bug */
+#undef __NO_MATH_INLINES
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+#endif /* LAME_CONFIG_H */

+ 672 - 0
config.rpath

@@ -0,0 +1,672 @@
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+#   Copyright 1996-2010 Free Software Foundation, Inc.
+#   Taken from GNU libtool, 2001
+#   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+#   This file is free software; the Free Software Foundation gives
+#   unlimited permission to copy and/or distribute it, with or without
+#   modifications, as long as this notice is preserved.
+#
+# The first argument passed to this file is the canonical host specification,
+#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+#   than 256 bytes, otherwise the compiler driver will dump core. The only
+#   known workaround is to choose shorter directory names for the build
+#   directory and/or the installation directory.
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+  wl='-Wl,'
+else
+  case "$host_os" in
+    aix*)
+      wl='-Wl,'
+      ;;
+    darwin*)
+      case $cc_basename in
+        xlc*)
+          wl='-Wl,'
+          ;;
+      esac
+      ;;
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      ;;
+    hpux9* | hpux10* | hpux11*)
+      wl='-Wl,'
+      ;;
+    irix5* | irix6* | nonstopux*)
+      wl='-Wl,'
+      ;;
+    newsos6)
+      ;;
+    linux* | k*bsd*-gnu)
+      case $cc_basename in
+        ecc*)
+          wl='-Wl,'
+          ;;
+        icc* | ifort*)
+          wl='-Wl,'
+          ;;
+        lf95*)
+          wl='-Wl,'
+          ;;
+        pgcc | pgf77 | pgf90)
+          wl='-Wl,'
+          ;;
+        ccc*)
+          wl='-Wl,'
+          ;;
+        como)
+          wl='-lopt='
+          ;;
+        *)
+          case `$CC -V 2>&1 | sed 5q` in
+            *Sun\ C*)
+              wl='-Wl,'
+              ;;
+          esac
+          ;;
+      esac
+      ;;
+    osf3* | osf4* | osf5*)
+      wl='-Wl,'
+      ;;
+    rdos*)
+      ;;
+    solaris*)
+      wl='-Wl,'
+      ;;
+    sunos4*)
+      wl='-Qoption ld '
+      ;;
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      wl='-Wl,'
+      ;;
+    sysv4*MP*)
+      ;;
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      wl='-Wl,'
+      ;;
+    unicos*)
+      wl='-Wl,'
+      ;;
+    uts4*)
+      ;;
+  esac
+fi
+
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+  # Set some defaults for GNU ld with shared library support. These
+  # are reset later if shared libraries are not supported. Putting them
+  # here allows them to be overridden if necessary.
+  # Unlike libtool, we use -rpath here, not --rpath, since the documented
+  # option of GNU ld is called -rpath, not --rpath.
+  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+  case "$host_os" in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+        ld_shlibs=no
+      fi
+      ;;
+    amigaos*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+      # that the semantics of dynamic libraries on AmigaOS, at least up
+      # to version 4, is to share data among multiple programs linked
+      # with the same dynamic library.  Since this doesn't match the
+      # behavior of shared libraries on other platforms, we cannot use
+      # them.
+      ld_shlibs=no
+      ;;
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    cygwin* | mingw* | pw32* | cegcc*)
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      ;;
+    gnu* | linux* | k*bsd*-gnu)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    netbsd*)
+      ;;
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+        ld_shlibs=no
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+          ld_shlibs=no
+          ;;
+        *)
+          if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+            hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+          else
+            ld_shlibs=no
+          fi
+          ;;
+      esac
+      ;;
+    sunos4*)
+      hardcode_direct=yes
+      ;;
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+  esac
+  if test "$ld_shlibs" = no; then
+    hardcode_libdir_flag_spec=
+  fi
+else
+  case "$host_os" in
+    aix3*)
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes; then
+        # Neither direct hardcoding nor static linking is supported with a
+        # broken collect2.
+        hardcode_direct=unsupported
+      fi
+      ;;
+    aix[4-9]*)
+      if test "$host_cpu" = ia64; then
+        # On IA64, the linker does run time linking by default, so we don't
+        # have to do anything special.
+        aix_use_runtimelinking=no
+      else
+        aix_use_runtimelinking=no
+        # Test if we are trying to use run time linking or normal
+        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+        # need to do runtime linking.
+        case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+          for ld_flag in $LDFLAGS; do
+            if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+              aix_use_runtimelinking=yes
+              break
+            fi
+          done
+          ;;
+        esac
+      fi
+      hardcode_direct=yes
+      hardcode_libdir_separator=':'
+      if test "$GCC" = yes; then
+        case $host_os in aix4.[012]|aix4.[012].*)
+          collect2name=`${CC} -print-prog-name=collect2`
+          if test -f "$collect2name" && \
+            strings "$collect2name" | grep resolve_lib_name >/dev/null
+          then
+            # We have reworked collect2
+            :
+          else
+            # We have old collect2
+            hardcode_direct=unsupported
+            hardcode_minus_L=yes
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_libdir_separator=
+          fi
+          ;;
+        esac
+      fi
+      # Begin _LT_AC_SYS_LIBPATH_AIX.
+      echo 'int main () { return 0; }' > conftest.c
+      ${CC} ${LDFLAGS} conftest.c -o conftest
+      aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+      if test -z "$aix_libpath"; then
+        aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
+}'`
+      fi
+      if test -z "$aix_libpath"; then
+        aix_libpath="/usr/lib:/lib"
+      fi
+      rm -f conftest.c conftest
+      # End _LT_AC_SYS_LIBPATH_AIX.
+      if test "$aix_use_runtimelinking" = yes; then
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+      else
+        if test "$host_cpu" = ia64; then
+          hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+        else
+          hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        fi
+      fi
+      ;;
+    amigaos*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      # see comment about different semantics on the GNU ld section
+      ld_shlibs=no
+      ;;
+    bsdi[45]*)
+      ;;
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      libext=lib
+      ;;
+    darwin* | rhapsody*)
+      hardcode_direct=no
+      if test "$GCC" = yes ; then
+        :
+      else
+        case $cc_basename in
+          xlc*)
+            ;;
+          *)
+            ld_shlibs=no
+            ;;
+        esac
+      fi
+      ;;
+    dgux*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      ;;
+    freebsd1*)
+      ld_shlibs=no
+      ;;
+    freebsd2.2*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      ;;
+    freebsd2*)
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      ;;
+    freebsd* | dragonfly*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      ;;
+    hpux9*)
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      ;;
+    hpux10*)
+      if test "$with_gnu_ld" = no; then
+        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+        hardcode_libdir_separator=:
+        hardcode_direct=yes
+        # hardcode_minus_L: Not really in the search PATH,
+        # but as the default location of the library.
+        hardcode_minus_L=yes
+      fi
+      ;;
+    hpux11*)
+      if test "$with_gnu_ld" = no; then
+        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+        hardcode_libdir_separator=:
+        case $host_cpu in
+          hppa*64*|ia64*)
+            hardcode_direct=no
+            ;;
+          *)
+            hardcode_direct=yes
+            # hardcode_minus_L: Not really in the search PATH,
+            # but as the default location of the library.
+            hardcode_minus_L=yes
+            ;;
+        esac
+      fi
+      ;;
+    irix5* | irix6* | nonstopux*)
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+    netbsd*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      ;;
+    newsos6)
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+        hardcode_direct=yes
+        if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+          hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+        else
+          case "$host_os" in
+            openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+              hardcode_libdir_flag_spec='-R$libdir'
+              ;;
+            *)
+              hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+              ;;
+          esac
+        fi
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      ;;
+    osf3*)
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+    osf4* | osf5*)
+      if test "$GCC" = yes; then
+        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+        # Both cc and cxx compiler support -rpath directly
+        hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      hardcode_libdir_separator=:
+      ;;
+    solaris*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      ;;
+    sunos4*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      ;;
+    sysv4)
+      case $host_vendor in
+        sni)
+          hardcode_direct=yes # is this really true???
+          ;;
+        siemens)
+          hardcode_direct=no
+          ;;
+        motorola)
+          hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+          ;;
+      esac
+      ;;
+    sysv4.3*)
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+        ld_shlibs=yes
+      fi
+      ;;
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      ;;
+    sysv5* | sco3.2v5* | sco5v6*)
+      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator=':'
+      ;;
+    uts4*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      ;;
+    *)
+      ld_shlibs=no
+      ;;
+  esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec=      # the last element of library_names_spec in libtool.m4
+libname_spec='lib$name'
+case "$host_os" in
+  aix3*)
+    library_names_spec='$libname.a'
+    ;;
+  aix[4-9]*)
+    library_names_spec='$libname$shrext'
+    ;;
+  amigaos*)
+    library_names_spec='$libname.a'
+    ;;
+  beos*)
+    library_names_spec='$libname$shrext'
+    ;;
+  bsdi[45]*)
+    library_names_spec='$libname$shrext'
+    ;;
+  cygwin* | mingw* | pw32* | cegcc*)
+    shrext=.dll
+    library_names_spec='$libname.dll.a $libname.lib'
+    ;;
+  darwin* | rhapsody*)
+    shrext=.dylib
+    library_names_spec='$libname$shrext'
+    ;;
+  dgux*)
+    library_names_spec='$libname$shrext'
+    ;;
+  freebsd1*)
+    ;;
+  freebsd* | dragonfly*)
+    case "$host_os" in
+      freebsd[123]*)
+        library_names_spec='$libname$shrext$versuffix' ;;
+      *)
+        library_names_spec='$libname$shrext' ;;
+    esac
+    ;;
+  gnu*)
+    library_names_spec='$libname$shrext'
+    ;;
+  hpux9* | hpux10* | hpux11*)
+    case $host_cpu in
+      ia64*)
+        shrext=.so
+        ;;
+      hppa*64*)
+        shrext=.sl
+        ;;
+      *)
+        shrext=.sl
+        ;;
+    esac
+    library_names_spec='$libname$shrext'
+    ;;
+  interix[3-9]*)
+    library_names_spec='$libname$shrext'
+    ;;
+  irix5* | irix6* | nonstopux*)
+    library_names_spec='$libname$shrext'
+    case "$host_os" in
+      irix5* | nonstopux*)
+        libsuff= shlibsuff=
+        ;;
+      *)
+        case $LD in
+          *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+          *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+          *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+          *) libsuff= shlibsuff= ;;
+        esac
+        ;;
+    esac
+    ;;
+  linux*oldld* | linux*aout* | linux*coff*)
+    ;;
+  linux* | k*bsd*-gnu)
+    library_names_spec='$libname$shrext'
+    ;;
+  knetbsd*-gnu)
+    library_names_spec='$libname$shrext'
+    ;;
+  netbsd*)
+    library_names_spec='$libname$shrext'
+    ;;
+  newsos6)
+    library_names_spec='$libname$shrext'
+    ;;
+  nto-qnx*)
+    library_names_spec='$libname$shrext'
+    ;;
+  openbsd*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
+  os2*)
+    libname_spec='$name'
+    shrext=.dll
+    library_names_spec='$libname.a'
+    ;;
+  osf3* | osf4* | osf5*)
+    library_names_spec='$libname$shrext'
+    ;;
+  rdos*)
+    ;;
+  solaris*)
+    library_names_spec='$libname$shrext'
+    ;;
+  sunos4*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
+  sysv4 | sysv4.3*)
+    library_names_spec='$libname$shrext'
+    ;;
+  sysv4*MP*)
+    library_names_spec='$libname$shrext'
+    ;;
+  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+    library_names_spec='$libname$shrext'
+    ;;
+  uts4*)
+    library_names_spec='$libname$shrext'
+    ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+
+# How to pass a linker flag through the compiler.
+wl="$escaped_wl"
+
+# Static library suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally "so").
+shlibext="$shlibext"
+
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct="$hardcode_direct"
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L="$hardcode_minus_L"
+
+EOF

+ 1804 - 0
config.sub

@@ -0,0 +1,1804 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
+
+timestamp='2015-03-08'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to <config-patches@gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2015 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+  kopensolaris*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  android-linux)
+    os=-linux-android
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray | -microblaze*)
+		os=
+		basic_machine=$1
+		;;
+	-bluegene*)
+		os=-cnk
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+	-chorusrdb)
+		os=-chorusrdb
+		basic_machine=$1
+		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco6)
+		os=-sco5v6
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5v6*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*178)
+		os=-lynxos178
+		;;
+	-lynx*5)
+		os=-lynxos5
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| aarch64 | aarch64_be \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arceb \
+	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+	| avr | avr32 \
+	| be32 | be64 \
+	| bfin \
+	| c4x | c8051 | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| e2k | epiphany \
+	| fido | fr30 | frv | ft32 \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| hexagon \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| k1om \
+	| le32 | le64 \
+	| lm32 \
+	| m32c | m32r | m32rle | m68000 | m68k | m88k \
+	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64octeon | mips64octeonel \
+	| mips64orion | mips64orionel \
+	| mips64r5900 | mips64r5900el \
+	| mips64vr | mips64vrel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa32r6 | mipsisa32r6el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64r6 | mipsisa64r6el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipsr5900 | mipsr5900el \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| moxie \
+	| mt \
+	| msp430 \
+	| nds32 | nds32le | nds32be \
+	| nios | nios2 | nios2eb | nios2el \
+	| ns16k | ns32k \
+	| open8 | or1k | or1knd | or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+	| pyramid \
+	| riscv32 | riscv64 \
+	| rl78 | rx \
+	| score \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+	| spu \
+	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+	| ubicom32 \
+	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
+	| we32k \
+	| x86 | xc16x | xstormy16 | xtensa \
+	| z8k | z80)
+		basic_machine=$basic_machine-unknown
+		;;
+	c54x)
+		basic_machine=tic54x-unknown
+		;;
+	c55x)
+		basic_machine=tic55x-unknown
+		;;
+	c6x)
+		basic_machine=tic6x-unknown
+		;;
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+	ms1)
+		basic_machine=mt-unknown
+		;;
+
+	strongarm | thumb | xscale)
+		basic_machine=arm-unknown
+		;;
+	xgate)
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	xscaleeb)
+		basic_machine=armeb-unknown
+		;;
+
+	xscaleel)
+		basic_machine=armel-unknown
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| aarch64-* | aarch64_be-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | amd64-* | arc-* | arceb-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* | avr32-* \
+	| be32-* | be64-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* \
+	| c8051-* | clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| e2k-* | elxsi-* \
+	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| hexagon-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| k1om-* \
+	| le32-* | le64-* \
+	| lm32-* \
+	| m32c-* | m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+	| microblaze-* | microblazeel-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64octeon-* | mips64octeonel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64r5900-* | mips64r5900el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa32r6-* | mipsisa32r6el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64r6-* | mipsisa64r6el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipsr5900-* | mipsr5900el-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| mt-* \
+	| msp430-* \
+	| nds32-* | nds32le-* | nds32be-* \
+	| nios-* | nios2-* | nios2eb-* | nios2el-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| open8-* \
+	| or1k*-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | powerpcspe-* \
+	| pyramid-* \
+	| rl78-* | romp-* | rs6000-* | rx-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| tahoe-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tile*-* \
+	| tron-* \
+	| ubicom32-* \
+	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+	| vax-* \
+	| visium-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* \
+	| xstormy16-* | xtensa*-* \
+	| ymp-* \
+	| z8k-* | z80-*)
+		;;
+	# Recognize the basic CPU types without company name, with glob match.
+	xtensa*)
+		basic_machine=$basic_machine-unknown
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aros)
+		basic_machine=i386-pc
+		os=-aros
+		;;
+        asmjs)
+		basic_machine=asmjs-unknown
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	blackfin)
+		basic_machine=bfin-unknown
+		os=-linux
+		;;
+	blackfin-*)
+		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	bluegene*)
+		basic_machine=powerpc-ibm
+		os=-cnk
+		;;
+	c54x-*)
+		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c55x-*)
+		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c6x-*)
+		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	cegcc)
+		basic_machine=arm-unknown
+		os=-cegcc
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16 | cr16-*)
+		basic_machine=cr16-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	dicos)
+		basic_machine=i686-pc
+		os=-dicos
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	leon-*|leon[3-9]-*)
+		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+		;;
+	m68knommu)
+		basic_machine=m68k-unknown
+		os=-linux
+		;;
+	m68knommu-*)
+		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	microblaze*)
+		basic_machine=microblaze-xilinx
+		;;
+	mingw64)
+		basic_machine=x86_64-pc
+		os=-mingw64
+		;;
+	mingw32)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	mingw32ce)
+		basic_machine=arm-unknown
+		os=-mingw32ce
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	ms1-*)
+		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+		;;
+	msys)
+		basic_machine=i686-pc
+		os=-msys
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	nacl)
+		basic_machine=le32-unknown
+		os=-nacl
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	neo-tandem)
+		basic_machine=neo-tandem
+		;;
+	nse-tandem)
+		basic_machine=nse-tandem
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	parisc)
+		basic_machine=hppa-unknown
+		os=-linux
+		;;
+	parisc-*)
+		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pc98)
+		basic_machine=i386-pc
+		;;
+	pc98-*)
+		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc | ppcbe)	basic_machine=powerpc-unknown
+		;;
+	ppc-* | ppcbe-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rdos | rdos64)
+		basic_machine=x86_64-pc
+		os=-rdos
+		;;
+	rdos32)
+		basic_machine=i386-pc
+		os=-rdos
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sde)
+		basic_machine=mipsisa32-sde
+		os=-elf
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh5el)
+		basic_machine=sh5le-unknown
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	strongarm-* | thumb-*)
+		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tile*)
+		basic_machine=$basic_machine-unknown
+		os=-linux-gnu
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	xscale-* | xscalee[bl]-*)
+		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	z80-*-coff)
+		basic_machine=z80-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+	# First match some system type aliases
+	# that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-auroraux)
+		os=-auroraux
+		;;
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+	      | -sym* | -kopensolaris* | -plan9* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* | -aros* | -cloudabi* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+	-os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+	-tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-dicos*)
+		os=-dicos
+		;;
+	-nacl*)
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	score-*)
+		os=-elf
+		;;
+	spu-*)
+		os=-elf
+		;;
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+	c4x-* | tic4x-*)
+		os=-coff
+		;;
+	c8051-*)
+		os=-elf
+		;;
+	hexagon-*)
+		os=-elf
+		;;
+	tic54x-*)
+		os=-coff
+		;;
+	tic55x-*)
+		os=-coff
+		;;
+	tic6x-*)
+		os=-coff
+		;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mep-*)
+		os=-elf
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-cnk*|-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:

+ 120 - 0
configMS.h

@@ -0,0 +1,120 @@
+#ifndef CONFIGMS_H_INCLUDED
+#define CONFIGMS_H_INCLUDED
+
+/* The number of bytes in a double.  */
+#define SIZEOF_DOUBLE 8
+
+/* The number of bytes in a float.  */
+#define SIZEOF_FLOAT 4
+
+/* The number of bytes in a int.  */
+#define SIZEOF_INT 4
+
+/* The number of bytes in a long.  */
+#define SIZEOF_LONG 4
+
+/* The number of bytes in a long double.  */
+#define SIZEOF_LONG_DOUBLE 12
+
+/* The number of bytes in a short.  */
+#define SIZEOF_SHORT 2
+
+/* The number of bytes in a unsigned int.  */
+#define SIZEOF_UNSIGNED_INT 4
+
+/* The number of bytes in a unsigned long.  */
+#define SIZEOF_UNSIGNED_LONG 4
+
+/* The number of bytes in a unsigned short.  */
+#define SIZEOF_UNSIGNED_SHORT 2
+
+/* Define if you have the ANSI C header files.  */
+#define STDC_HEADERS
+
+/* Define if you have the <errno.h> header file.  */
+#define HAVE_ERRNO_H
+
+/* Define if you have the <fcntl.h> header file.  */
+#define HAVE_FCNTL_H
+
+/* Define if you have the <limits.h> header file.  */
+#define HAVE_LIMITS_H
+
+/* Name of package */
+#define PACKAGE "lame"
+
+/* Define if compiler has function prototypes */
+#define PROTOTYPES 1
+
+/* faster log implementation with less but enough precission */
+#define USE_FAST_LOG 1
+
+#define HAVE_STRCHR
+#define HAVE_MEMCPY
+
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+#pragma warning( disable : 4305 )
+	typedef __int8  int8_t;
+	typedef __int16 int16_t;
+	typedef __int32 int32_t;
+	typedef __int64 int64_t;
+
+	typedef unsigned __int8  uint8_t;
+	typedef unsigned __int16 uint16_t;
+	typedef unsigned __int32 uint32_t;
+	typedef unsigned __int64 uint64_t;
+
+	typedef float  float32_t;
+	typedef double float64_t;
+#elif defined (__GNUC__)
+#define __int8_t_defined
+#define uint8_t unsigned char
+#define uint16_t unsigned short
+#define uint32_t unsigned int
+#define uint64_t unsigned long long
+
+#define int8_t signed char
+#define int16_t signed short
+#define int32_t signed int
+#define int64_t signed long long
+#endif
+
+typedef long double ieee854_float80_t;
+typedef double      ieee754_float64_t;
+typedef float       ieee754_float32_t;
+
+#ifdef HAVE_MPGLIB
+# define DECODE_ON_THE_FLY 1
+#endif
+
+#ifdef LAME_ACM
+/* memory hacking for driver purposes */
+#define calloc(x,y) acm_Calloc(x,y)
+#define free(x)     acm_Free(x)
+#define malloc(x)   acm_Malloc(x)
+
+#include <stddef.h>
+void *acm_Calloc( size_t num, size_t size );
+void *acm_Malloc( size_t size );
+void acm_Free( void * mem);
+#endif /* LAME_ACM */
+
+#define LAME_LIBRARY_BUILD
+
+
+#ifdef HAVE_NASM
+    #if (defined(__ICL) && (__ICL >= 450))
+        #define HAVE_XMMINTRIN_H
+    #elif defined(_MSC_VER)
+        #include <malloc.h>
+        #ifdef _mm_malloc
+            #define HAVE_XMMINTRIN_H
+        #endif
+    #endif
+#endif
+
+#if defined(_M_X64) && !defined(HAVE_XMMINTRIN_H)
+        #define HAVE_XMMINTRIN_H
+#endif
+
+#endif

+ 20185 - 0
configure

@@ -0,0 +1,20185 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for lame 3.100.
+#
+# Report bugs to <lame-dev@lists.sf.net>.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
+
+  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org and
+$0: lame-dev@lists.sf.net about your system, including any
+$0: error possibly output before this message. Then install
+$0: a modern shell, or manually run the script under such a
+$0: shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='lame'
+PACKAGE_TARNAME='lame'
+PACKAGE_VERSION='3.100'
+PACKAGE_STRING='lame 3.100'
+PACKAGE_BUGREPORT='lame-dev@lists.sf.net'
+PACKAGE_URL=''
+
+ac_unique_file="libmp3lame/lame.c"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+CONFIG_DEFS
+CPUCCODE
+CPUTYPE
+WITH_MP3RTP
+WITH_MP3X
+WITH_FRONTEND
+RM_F
+MAKEDEP
+NASM_FORMAT
+LIB_MINOR_VERSION
+LIB_MAJOR_VERSION
+LDADD
+CONFIG_MATH_LIB
+FRONTEND_LDADD
+FRONTEND_CFLAGS
+FRONTEND_LDFLAGS
+INCLUDES
+HAVE_NASM_FALSE
+HAVE_NASM_TRUE
+NASM
+WITH_VECTOR_FALSE
+WITH_VECTOR_TRUE
+WITH_XMM_FALSE
+WITH_XMM_TRUE
+LIB_WITH_DECODER_FALSE
+LIB_WITH_DECODER_TRUE
+SNDFILE_LIBS
+SNDFILE_CFLAGS
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+GTK_LIBS
+GTK_CFLAGS
+GTK_CONFIG
+LTLIBICONV
+LIBICONV
+ALLOCA
+LIBTOOL_DEPS
+LT_SYS_LIBRARY_PATH
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+ac_ct_AR
+AR
+DLLTOOL
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
+LIBTOOL
+EGREP
+GREP
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+am__quote
+am__include
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_maintainer_mode
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_aix_soname
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+with_dmalloc
+enable_largefile
+enable_nasm
+enable_rpath
+with_libiconv_prefix
+enable_cpml
+with_gtk_prefix
+with_gtk_exec_prefix
+enable_gtktest
+enable_efence
+with_fileio
+enable_analyzer_hooks
+enable_decoder
+enable_frontend
+enable_mp3x
+enable_mp3rtp
+enable_dynamic_frontends
+enable_expopt
+enable_debug
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+LT_SYS_LIBRARY_PATH
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+SNDFILE_CFLAGS
+SNDFILE_LIBS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures lame 3.100 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking ...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/lame]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of lame 3.100:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
+  --enable-shared[=PKGS]  build shared libraries [default=yes]
+  --enable-static[=PKGS]  build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --disable-libtool-lock  avoid locking (might break parallel builds)
+  --disable-largefile     omit support for large files
+  --enable-nasm              Allow the use of nasm if available
+  --disable-rpath         do not hardcode runtime library paths
+  --disable-cpml              Do not use Compaq's fast Math Library
+  --disable-gtktest       Do not try to compile and run a test GTK program
+  --enable-efence            Use ElectricFence for malloc debugging
+  --disable-analyzer-hooks   Exclude analyzer hooks
+  --disable-decoder          Exclude mpg123 decoder
+  --disable-frontend         Do not build the lame executable default=build
+  --enable-mp3x              Build GTK frame analyzer default=no
+  --enable-mp3rtp            Build mp3rtp default=no
+  --enable-dynamic-frontends Link frontends against shared libraries default=no
+  --enable-expopt=full,norm  Whether to enable experimental optimizations
+                             default=no
+  --enable-debug=alot,norm   Enable debugging (disables optimizations)
+                             default=no
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-aix-soname=aix|svr4|both
+                          shared library versioning (aka "SONAME") variant to
+                          provide on AIX, [default=aix].
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
+                          compiler's sysroot if not specified).
+  --with-dmalloc          use dmalloc, as in http://www.dmalloc.com
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
+  --without-libiconv-prefix     don't search for libiconv in includedir and libdir
+  --with-gtk-prefix=PFX   Prefix where GTK is installed (optional)
+  --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)
+  --with-fileio=lame         Use lame's internal file io routines default
+               =sndfile      Use Erik de Castro Lopo's libsndfile
+                             (no stdin possible currently)
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+  LT_SYS_LIBRARY_PATH
+              User-defined run-time library search path.
+  PKG_CONFIG  path to pkg-config utility
+  PKG_CONFIG_PATH
+              directories to add to pkg-config's search path
+  PKG_CONFIG_LIBDIR
+              path overriding pkg-config's built-in search path
+  SNDFILE_CFLAGS
+              C compiler flags for SNDFILE, overriding pkg-config
+  SNDFILE_LIBS
+              linker flags for SNDFILE, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <lame-dev@lists.sf.net>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+lame configure 3.100
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval \${$3+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ------------------------------------ ##
+## Report this to lame-dev@lists.sf.net ##
+## ------------------------------------ ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 test -x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if test "$cross_compiling" = yes; then
+    # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_lo=0 ac_mid=0
+  while :; do
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_hi=$ac_mid; break
+else
+  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_hi=-1 ac_mid=-1
+  while :; do
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_lo=$ac_mid; break
+else
+  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  ac_lo= ac_hi=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_hi=$ac_mid
+else
+  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+  else
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+static long int longval () { return $2; }
+static unsigned long int ulongval () { return $2; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+  FILE *f = fopen ("conftest.val", "w");
+  if (! f)
+    return 1;
+  if (($2) < 0)
+    {
+      long int i = longval ();
+      if (i != ($2))
+	return 1;
+      fprintf (f, "%ld", i);
+    }
+  else
+    {
+      unsigned long int i = ulongval ();
+      if (i != ($2))
+	return 1;
+      fprintf (f, "%lu", i);
+    }
+  /* Do not output a trailing newline, as this causes \r\n confusion
+     on some platforms.  */
+  return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
+else
+  ac_retval=1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f conftest.val
+
+  fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_compute_int
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+	 return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+	    return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by lame $as_me 3.100, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+am__api_version='1.15'
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if ${ac_cv_path_mkdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='lame'
+ VERSION='3.100'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+
+
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if ${ac_cv_prog_CPP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
+  MINIX=yes
+else
+  MINIX=
+fi
+
+
+  if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+  fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_safe_to_define___extensions__=yes
+else
+  ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+  test $ac_cv_safe_to_define___extensions__ = yes &&
+    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+$as_echo_n "checking for library containing strerror... " >&6; }
+if ${ac_cv_search_strerror+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char strerror ();
+int
+main ()
+{
+return strerror ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' cposix; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_strerror=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_strerror+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_strerror+:} false; then :
+
+else
+  ac_cv_search_strerror=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
+$as_echo "$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
+case $host_os in
+  *cygwin* ) CYGWIN=yes;;
+         * ) CYGWIN=no;;
+esac
+
+# AC_DISABLE_SHARED
+case `pwd` in
+  *\ * | *\	*)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4.6'
+macro_revision='2.4.6'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain=$ac_aux_dir/ltmain.sh
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO ""
+}
+
+case $ECHO in
+  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in fgrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_FGREP=$FGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test yes = "$GCC"; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return, which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD=$ac_prog
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test yes = "$with_gnu_ld"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD=$ac_dir/$ac_prog
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test no != "$with_gnu_ld" && break
+	;;
+      *)
+	test yes != "$with_gnu_ld" && break
+	;;
+      esac
+    fi
+  done
+  IFS=$lt_save_ifs
+else
+  lt_cv_path_LD=$LD # Let the user override the test with a path.
+fi
+fi
+
+LD=$lt_cv_path_LD
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM=$NM
+else
+  lt_nm_to_check=${ac_tool_prefix}nm
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS=$lt_save_ifs
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+	case $build_os in
+	mingw*) lt_bad_file=conftest.nm/nofile ;;
+	*) lt_bad_file=/dev/null ;;
+	esac
+	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+	*$lt_bad_file* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break 2
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break 2
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS=$lt_save_ifs
+  done
+  : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in dumpbin "link -dump"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$DUMPBIN" && break
+  done
+fi
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in dumpbin "link -dump"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_DUMPBIN" && break
+done
+
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DUMPBIN=$ac_ct_DUMPBIN
+  fi
+fi
+
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols -headers"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
+
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
+  fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+    i=0
+  teststring=ABCD
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test 17 != "$i" # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+
+fi
+
+if test -n "$lt_cv_sys_max_cmd_len"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test yes != "$GCC"; then
+      reload_cmds=false
+    fi
+    ;;
+  darwin*)
+    if test yes = "$GCC"; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DLLTOOL=$ac_ct_DLLTOOL
+  fi
+else
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$AR" && break
+  done
+fi
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+fi
+
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ar_at_file=no
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test 0 -eq "$ac_status"; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	if test 0 -ne "$ac_status"; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
+
+if test no = "$lt_cv_ar_at_file"; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  bitrig* | openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test ia64 = "$host_cpu"; then
+    symcode='[ABCDEGRST]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+LT_DLSYM_CONST struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
+	  LIBS=conftstm.$ac_objext
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
+	    pipe_works=yes
+	  fi
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test yes = "$pipe_works"; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+  withval=$with_sysroot;
+else
+  with_sysroot=no
+fi
+
+
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+   if test yes = "$GCC"; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+$as_echo "$with_sysroot" >&6; }
+   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+   ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+$as_echo_n "checking for a working dd... " >&6; }
+if ${ac_cv_path_lt_DD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+  ac_path_lt_DD_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in dd; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+      $ac_path_lt_DD_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_lt_DD"; then
+    :
+  fi
+else
+  ac_cv_path_lt_DD=$lt_DD
+fi
+
+rm -f conftest.i conftest2.i conftest.out
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+$as_echo "$ac_cv_path_lt_DD" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+$as_echo_n "checking how to truncate binary pipes... " >&6; }
+if ${lt_cv_truncate_bin+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+$as_echo "$lt_cv_truncate_bin" >&6; }
+
+
+
+
+
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+  enableval=$enable_libtool_lock;
+fi
+
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE=32
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE=64
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+	emul="${emul}32"
+	;;
+      *64-bit*)
+	emul="${emul}64"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+	emul="${emul}btsmip"
+	;;
+      *LSB*)
+	emul="${emul}ltsmip"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+	emul="${emul}n32"
+	;;
+    esac
+    LD="${LD-ld} -m $emul"
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    case `/usr/bin/file conftest.o` in
+	      *x86-64*)
+		LD="${LD-ld} -m elf32_x86_64"
+		;;
+	      *)
+		LD="${LD-ld} -m elf_i386"
+		;;
+	    esac
+	    ;;
+	  powerpc64le-*linux*)
+	    LD="${LD-ld} -m elf32lppclinux"
+	    ;;
+	  powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  powerpcle-*linux*)
+	    LD="${LD-ld} -m elf64lppc"
+	    ;;
+	  powerpc-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS=$CFLAGS
+  CFLAGS="$CFLAGS -belf"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_cc_needs_belf=yes
+else
+  lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+  if test yes != "$lt_cv_cc_needs_belf"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS=$SAVE_CFLAGS
+  fi
+  ;;
+*-*solaris*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*)
+        case $host in
+        i?86-*-solaris*|x86_64-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD=${LD-ld}_sol2
+        fi
+        ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks=$enable_libtool_lock
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$MANIFEST_TOOL"; then
+  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+  # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_MANIFEST_TOOL"; then
+  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_MANIFEST_TOOL" = x; then
+    MANIFEST_TOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+  fi
+else
+  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&5
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test yes != "$lt_cv_path_mainfest_tool"; then
+  MANIFEST_TOOL=:
+fi
+
+
+
+
+
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    NMEDIT=$ac_ct_NMEDIT
+  fi
+else
+  NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_LIPO="lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    LIPO=$ac_ct_LIPO
+  fi
+else
+  LIPO="$ac_cv_prog_LIPO"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL64=$ac_ct_OTOOL64
+  fi
+else
+  OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "$LT_MULTI_MODULE"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&5
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&5
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_ld_exported_symbols_list=yes
+else
+  lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+	LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+      echo "$AR cru libconftest.a conftest.o" >&5
+      $AR cru libconftest.a conftest.o 2>&5
+      echo "$RANLIB libconftest.a" >&5
+      $RANLIB libconftest.a 2>&5
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&5
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&5
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+	10.[012][,.]*)
+	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+    fi
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+# Set options
+
+
+
+        enable_dlopen=no
+
+
+  enable_win32_dll=no
+
+
+            # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else
+  enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+  # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+  enableval=$enable_static; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else
+  enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+  withval=$with_pic; lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for lt_pkg in $withval; do
+	IFS=$lt_save_ifs
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else
+  pic_mode=default
+fi
+
+
+
+
+
+
+
+
+  # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+  enableval=$enable_fast_install; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac
+else
+  enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+  shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+  withval=$with_aix_soname; case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname
+else
+  if ${lt_cv_with_aix_soname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_with_aix_soname=aix
+fi
+
+    with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test set != "${COLLECT_NAMES+set}"; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/${ac_tool_prefix}file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
+  ;;
+esac
+fi
+
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
+  ;;
+esac
+fi
+
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC=$CC
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test yes = "$GCC"; then
+  case $cc_basename in
+  nvcc*)
+    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+  *)
+    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+  esac
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+
+
+
+
+
+  lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+
+  if test yes = "$GCC"; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
+
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      lt_prog_compiler_wl='-Xlinker '
+      if test -n "$lt_prog_compiler_pic"; then
+        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+      fi
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      else
+	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        lt_prog_compiler_wl='-Wl,-Wl,,'
+        lt_prog_compiler_pic='-PIC'
+        lt_prog_compiler_static='-Bstatic'
+        ;;
+      esac
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='$wl-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+      case $cc_basename in
+      # old Intel for x86_64, which still supported -KPIC.
+      ecc*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-KPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='--shared'
+	lt_prog_compiler_static='--static'
+	;;
+      nagfor*)
+	# NAG Fortran compiler
+	lt_prog_compiler_wl='-Wl,-Wl,,'
+	lt_prog_compiler_pic='-PIC'
+	lt_prog_compiler_static='-Bstatic'
+	;;
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fPIC'
+	lt_prog_compiler_static='-static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fpic'
+	lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-qpic'
+	lt_prog_compiler_static='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl=''
+	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Qoption ld '
+	  ;;
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Wl,'
+	  ;;
+        *Intel*\ [CF]*Compiler*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fPIC'
+	  lt_prog_compiler_static='-static'
+	  ;;
+	*Portland\ Group*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fpic'
+	  lt_prog_compiler_static='-Bstatic'
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+	lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic='-Kconform_pic'
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
+
+case $host_os in
+  # For platforms that do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_static_works"; then
+    :
+else
+    lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test no = "$hard_links"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+  runpath_var=
+  allow_undefined_flag=
+  always_export_symbols=no
+  archive_cmds=
+  archive_expsym_cmds=
+  compiler_needs_object=no
+  enable_shared_with_static_runtimes=no
+  export_dynamic_flag_spec=
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  hardcode_automatic=no
+  hardcode_direct=no
+  hardcode_direct_absolute=no
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_separator=
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  inherit_rpath=no
+  link_all_deplibs=unknown
+  module_cmds=
+  module_expsym_cmds=
+  old_archive_from_new_cmds=
+  old_archive_from_expsyms_cmds=
+  thread_safe_flag_spec=
+  whole_archive_flag_spec=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
+  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test yes != "$GCC"; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd* | bitrig*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test yes = "$with_gnu_ld"; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test yes = "$lt_use_gnu_ld_interface"; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='$wl'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+    export_dynamic_flag_spec='$wl--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+    else
+      whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test ia64 != "$host_cpu"; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      export_dynamic_flag_spec='$wl--export-all-symbols'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file, use it as
+	# is; otherwise, prepend EXPORTS...
+	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    haiku*)
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      link_all_deplibs=yes
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+      export_dynamic_flag_spec='$wl-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test linux-dietlibc = "$host_os"; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test no = "$tmp_diet"
+      then
+	tmp_addflag=' $pic_flag'
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  whole_archive_flag_spec=
+	  tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
+	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  compiler_needs_object=yes
+	  ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  compiler_needs_object=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+        if test yes = "$supports_anon_versioning"; then
+          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	tcc*)
+	  export_dynamic_flag_spec='-rdynamic'
+	  ;;
+	xlf* | bgf* | bgxlf* | mpixlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+	  hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+	  if test yes = "$supports_anon_versioning"; then
+	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        ld_shlibs=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    ld_shlibs=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test no = "$ld_shlibs"; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix[4-9]*)
+      if test ia64 = "$host_cpu"; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
+	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_direct_absolute=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      file_list_spec='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	hardcode_direct=no
+	hardcode_direct_absolute=no
+	;;
+      esac
+
+      if test yes = "$GCC"; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`$CC -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  hardcode_direct=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L=yes
+	  hardcode_libdir_flag_spec='-L$libdir'
+	  hardcode_libdir_separator=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test yes = "$aix_use_runtimelinking"; then
+	  shared_flag="$shared_flag "'$wl-G'
+	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
+      else
+	# not using gcc
+	if test ia64 = "$host_cpu"; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag='$wl-G'
+	  else
+	    shared_flag='$wl-bM:SRE'
+	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
+	fi
+      fi
+
+      export_dynamic_flag_spec='$wl-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=/usr/lib:/lib
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
+
+        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+      else
+	if test ia64 = "$host_cpu"; then
+	  hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag="-z nodefs"
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=/usr/lib:/lib
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
+
+	 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag=' $wl-bernotok'
+	  allow_undefined_flag=' $wl-berok'
+	  if test yes = "$with_gnu_ld"; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    whole_archive_flag_spec='$convenience'
+	  fi
+	  archive_cmds_need_lc=yes
+	  archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	  else
+	    # used by -dlpreopen to get the symbols
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	always_export_symbols=yes
+	file_list_spec='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+	enable_shared_with_static_runtimes=yes
+	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	old_postinstall_cmds='chmod 644 $oldlib'
+	postlink_cmds='lt_outputfile="@OUTPUT@"~
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	old_archive_from_new_cmds='true'
+	# FIXME: Should let the user specify the lib program.
+	old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	enable_shared_with_static_runtimes=yes
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  if test yes = "$lt_cv_ld_force_load"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+  else
+    whole_archive_flag_spec=''
+  fi
+  link_all_deplibs=yes
+  allow_undefined_flag=$_lt_dar_allow_undefined
+  case $cc_basename in
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test yes = "$_lt_dar_can_shared"; then
+    output_verbose_link_cmd=func_echo_all
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+
+  else
+  ld_shlibs=no
+  fi
+
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2.*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    hpux9*)
+      if test yes = "$GCC"; then
+	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='$wl-E'
+      ;;
+
+    hpux10*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test no = "$with_gnu_ld"; then
+	hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+	hardcode_libdir_separator=:
+	hardcode_direct=yes
+	hardcode_direct_absolute=yes
+	export_dynamic_flag_spec='$wl-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler__b=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS -b"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler__b=yes
+       fi
+     else
+       lt_cv_prog_compiler__b=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test yes = "$lt_cv_prog_compiler__b"; then
+    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
+	  ;;
+	esac
+      fi
+      if test no = "$with_gnu_ld"; then
+	hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+	hardcode_libdir_separator=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_direct=no
+	  hardcode_shlibpath_var=no
+	  ;;
+	*)
+	  hardcode_direct=yes
+	  hardcode_direct_absolute=yes
+	  export_dynamic_flag_spec='$wl-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test yes = "$GCC"; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+	# This should be the same for all languages, so no per-tag cache variable.
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  save_LDFLAGS=$LDFLAGS
+	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_irix_exported_symbol=yes
+else
+  lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+           LDFLAGS=$save_LDFLAGS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+	if test yes = "$lt_cv_irix_exported_symbol"; then
+          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+	fi
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      hardcode_libdir_separator=:
+      inherit_rpath=yes
+      link_all_deplibs=yes
+      ;;
+
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	ld_shlibs=yes
+	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd* | bitrig*)
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct=yes
+	hardcode_shlibpath_var=no
+	hardcode_direct_absolute=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+	  export_dynamic_flag_spec='$wl-E'
+	else
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+	fi
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    osf3*)
+      if test yes = "$GCC"; then
+	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test yes = "$GCC"; then
+	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+	archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z defs'
+      if test yes = "$GCC"; then
+	wlarc='$wl'
+	archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='$wl'
+	  archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands '-z linker_flag'.  GCC discards it without '$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test yes = "$GCC"; then
+	  whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test sequent = "$host_vendor"; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds='$CC -r -o $output$reload_objs'
+	  hardcode_direct=no
+        ;;
+	motorola)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag='$wl-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We CANNOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='$wl-z,text'
+      allow_undefined_flag='$wl-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='$wl-R,$libdir'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='$wl-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+
+    if test sni = "$host_vendor"; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	export_dynamic_flag_spec='$wl-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test no = "$ld_shlibs" && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test yes,yes = "$GCC,$enable_shared"; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl
+	  pic_flag=$lt_prog_compiler_pic
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag
+	  allow_undefined_flag=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	  then
+	    lt_cv_archive_cmds_need_lc=no
+	  else
+	    lt_cv_archive_cmds_need_lc=yes
+	  fi
+	  allow_undefined_flag=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test yes = "$GCC"; then
+  case $host_os in
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary...
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo = "/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+
+
+case $host_os in
+aix3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='$libname$release$shared_ext$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test ia64 = "$host_cpu"; then
+    # AIX 5 supports IA64
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a(lib.so.V)'
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='$libname$shared_ext'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+      ;;
+    esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec=$LIB
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
+    ;;
+
+  *)
+    # Assume MSVC wrapper
+    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
+    dynamic_linker='Win32 ld.exe'
+    ;;
+  esac
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[23].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+    fi
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[3-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test yes = "$lt_cv_prog_gnu_ld"; then
+		version_type=linux # correct to gnu/linux during the next big refactor
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  hardcode_libdir_flag_spec='-L$libdir'
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+
+fi
+
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd* | bitrig*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec=/usr/lib
+  need_lib_prefix=no
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
+  else
+    need_version=yes
+  fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+os2*)
+  libname_spec='$name'
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test yes = "$with_gnu_ld"; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec; then
+    version_type=linux # correct to gnu/linux during the next big refactor
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=sco
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test yes = "$with_gnu_ld"; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+   test -n "$runpath_var" ||
+   test yes = "$hardcode_automatic"; then
+
+  # We can hardcode non-existent directories.
+  if test no != "$hardcode_direct" &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+     test no != "$hardcode_minus_L"; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test relink = "$hardcode_action" ||
+   test yes = "$inherit_rpath"; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+
+
+
+
+  if test yes != "$enable_dlopen"; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen=load_add_on
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen=LoadLibrary
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+    # if libdl is installed we need to link against it
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else
+
+    lt_cv_dlopen=dyld
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+    ;;
+
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
+  *)
+    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+  lt_cv_dlopen=shl_load
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_shl_load=yes
+else
+  ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
+else
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_svld_dlopen=yes
+else
+  ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_dld_link=yes
+else
+  ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test no = "$lt_cv_dlopen"; then
+    enable_dlopen=no
+  else
+    enable_dlopen=yes
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS=$LDFLAGS
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS=$LIBS
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  	  if test yes = "$cross_compiling"; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+    if test yes = "$lt_cv_dlopen_self"; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  	  if test yes = "$cross_compiling"; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+    fi
+
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP"; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+  # Report what library types will actually be built
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+  test no = "$can_build_shared" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test yes = "$enable_shared" && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[4-9]*)
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
+    fi
+    ;;
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+  # Make sure either enable_shared or enable_static is yes.
+  test yes = "$enable_shared" || enable_static=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC=$lt_save_CC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+        ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+CFLAGS="${ac_save_CFLAGS}"
+
+# increase this when the shared lib becomes totally incompatible
+LIB_MAJOR_VERSION=0
+
+# increase this when changes are made, but they are upward compatible
+# to previous versions
+LIB_MINOR_VERSION=0
+
+if test "${ac_cv_cygwin}" = "yes"; then
+	if test "${CC}" != "gcc"; then
+		as_fn_error $? "Please use
+			   CC=gcc ./configure
+			Abort this configure run and add \"CC=gcc\" or you will
+			see errors and no lame.exe will be build." "$LINENO" 5
+	fi
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+if test "x${GCC}" = "xyes"; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler" >&5
+$as_echo_n "checking compiler... " >&6; }
+	COMPILER_TYPE="`${CC} --version | head -1 | sed -e '1,$s/version.*//g'`"
+	case "${COMPILER_TYPE}" in
+	*gcc*)
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: gcc" >&5
+$as_echo "gcc" >&6; }
+		HAVE_GCC=yes
+		HAVE_CLANG=no
+		;;
+	*clang*)
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: clang" >&5
+$as_echo "clang" >&6; }
+		HAVE_CLANG=yes
+		HAVE_GCC=no
+		;;
+	*)
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown" >&5
+$as_echo "unknown" >&6; }
+		HAVE_GCC=no
+		HAVE_CLANG=no
+		;;
+	esac
+
+	if test "${HAVE_GCC}" = "yes"; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking version of GCC" >&5
+$as_echo_n "checking version of GCC... " >&6; }
+		GCC_version="`${CC} --version | sed -n '1s/^[^ ]* (.*) //;s/ .*$//;1p'`"
+		case "${GCC_version}" in
+		0-9*0-9*)
+			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${GCC_version}" >&5
+$as_echo "${GCC_version}" >&6; }
+			;;
+		*)
+			# probably not gcc...
+			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown compiler version pattern" >&5
+$as_echo "unknown compiler version pattern" >&6; }
+			HAVE_GCC=no
+			;;
+		esac
+	fi
+
+	if test "${HAVE_CLANG}" = "yes"; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking version of clang" >&5
+$as_echo_n "checking version of clang... " >&6; }
+		CLANG_version="`${CC} --version | sed -n 's/.*clang version //;s/ .*$//;1p'`"
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${CLANG_version}" >&5
+$as_echo "${CLANG_version}" >&6; }
+	fi
+fi
+
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "dmalloc.h" "ac_cv_header_dmalloc_h" "$ac_includes_default"
+if test "x$ac_cv_header_dmalloc_h" = xyes; then :
+
+fi
+
+
+if test "${ac_cv_header_dmalloc_h}" = "yes"; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if malloc debugging is wanted" >&5
+$as_echo_n "checking if malloc debugging is wanted... " >&6; }
+
+# Check whether --with-dmalloc was given.
+if test "${with_dmalloc+set}" = set; then :
+  withval=$with_dmalloc; if test "$withval" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define WITH_DMALLOC 1" >>confdefs.h
+
+  LIBS="$LIBS -ldmalloc"
+  LDFLAGS="$LDFLAGS -g"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+for ac_header in \
+		 errno.h \
+		 fcntl.h \
+		 limits.h \
+		 stdint.h \
+		 string.h \
+		 sys/soundcard.h \
+		 sys/time.h \
+		 unistd.h \
+		 linux/soundcard.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking working SSE intrinsics" >&5
+$as_echo_n "checking working SSE intrinsics... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <xmmintrin.h>
+int
+main ()
+{
+_mm_sfence();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_XMMINTRIN_H 1" >>confdefs.h
+
+	 ac_cv_header_xmmintrin_h=yes
+else
+  ac_cv_header_xmmintrin_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_cv_header_xmmintrin_h}" >&5
+$as_echo "${ac_cv_header_xmmintrin_h}" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if ${ac_cv_c_const+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this sort of thing.  */
+  typedef int charset[2];
+  const charset cs = { 0, 0 };
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *pcpcc;
+  char **ppc;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  pcpcc = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+    if (s) return 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+    if (!foo) return 0;
+  }
+  return !cs[0] && !zero.x;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_const=yes
+else
+  ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if ${ac_cv_c_inline+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  test "$ac_cv_c_inline" != no && break
+done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
+
+case $ac_cv_c_inline in
+  inline | yes) ;;
+  *)
+    case $ac_cv_c_inline in
+      no) ac_val=;;
+      *) ac_val=$ac_cv_c_inline;;
+    esac
+    cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+    ;;
+esac
+
+if test ${cross_compiling} = "no"; then
+	 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_bigendian=unknown
+    # See if we're dealing with a universal compiler.
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __APPLE_CC__
+	       not a universal capable compiler
+	     #endif
+	     typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+	# Check for potential -arch flags.  It is not universal unless
+	# there are at least two -arch flags with different values.
+	ac_arch=
+	ac_prev=
+	for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+	 if test -n "$ac_prev"; then
+	   case $ac_word in
+	     i?86 | x86_64 | ppc | ppc64)
+	       if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+		 ac_arch=$ac_word
+	       else
+		 ac_cv_c_bigendian=universal
+		 break
+	       fi
+	       ;;
+	   esac
+	   ac_prev=
+	 elif test "x$ac_word" = "x-arch"; then
+	   ac_prev=arch
+	 fi
+       done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if sys/param.h defines the BYTE_ORDER macro.
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+	     #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+		     && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+		     && LITTLE_ENDIAN)
+	      bogus endian macros
+	     #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+		#include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+		 not big endian
+		#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+	      bogus endian macros
+	     #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to _BIG_ENDIAN or not.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+		 not big endian
+		#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # Compile a test program.
+      if test "$cross_compiling" = yes; then :
+  # Try to guess by grepping values from an object file.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+short int ascii_mm[] =
+		  { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+		short int ascii_ii[] =
+		  { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+		int use_ascii (int i) {
+		  return ascii_mm[i] + ascii_ii[i];
+		}
+		short int ebcdic_ii[] =
+		  { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+		short int ebcdic_mm[] =
+		  { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+		int use_ebcdic (int i) {
+		  return ebcdic_mm[i] + ebcdic_ii[i];
+		}
+		extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+	      ac_cv_c_bigendian=yes
+	    fi
+	    if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+	      if test "$ac_cv_c_bigendian" = unknown; then
+		ac_cv_c_bigendian=no
+	      else
+		# finding both strings is unlikely to happen, but who knows?
+		ac_cv_c_bigendian=unknown
+	      fi
+	    fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+	     /* Are we little or big endian?  From Harbison&Steele.  */
+	     union
+	     {
+	       long int l;
+	       char c[sizeof (long int)];
+	     } u;
+	     u.l = 1;
+	     return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_bigendian=no
+else
+  ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+   yes)
+     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+   no)
+      ;; #(
+   universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+     ;; #(
+   *)
+     as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+fi
+
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+  enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+	 # IRIX 6.2 and later do not support large files by default,
+	 # so use the C compiler's -n32 option if that helps.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+	 if ac_fn_c_try_compile "$LINENO"; then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext
+	 CC="$CC -n32"
+	 if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+	 break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if ${ac_cv_sys_file_offset_bits+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_file_offset_bits=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  if test $ac_cv_sys_file_offset_bits = unknown; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if ${ac_cv_sys_large_files+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_large_files=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  fi
+
+
+fi
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
+$as_echo_n "checking size of short... " >&6; }
+if ${ac_cv_sizeof_short+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_short" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (short)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_short=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
+$as_echo "$ac_cv_sizeof_short" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_SHORT $ac_cv_sizeof_short
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned short" >&5
+$as_echo_n "checking size of unsigned short... " >&6; }
+if ${ac_cv_sizeof_unsigned_short+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned short))" "ac_cv_sizeof_unsigned_short"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_unsigned_short" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (unsigned short)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_unsigned_short=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_short" >&5
+$as_echo "$ac_cv_sizeof_unsigned_short" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_SHORT $ac_cv_sizeof_unsigned_short
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
+$as_echo_n "checking size of int... " >&6; }
+if ${ac_cv_sizeof_int+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_int" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_int=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
+$as_echo "$ac_cv_sizeof_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INT $ac_cv_sizeof_int
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5
+$as_echo_n "checking size of unsigned int... " >&6; }
+if ${ac_cv_sizeof_unsigned_int+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_unsigned_int" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (unsigned int)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_unsigned_int=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5
+$as_echo "$ac_cv_sizeof_unsigned_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+$as_echo_n "checking size of long... " >&6; }
+if ${ac_cv_sizeof_long+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_long" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_long=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
+$as_echo "$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long" >&5
+$as_echo_n "checking size of unsigned long... " >&6; }
+if ${ac_cv_sizeof_unsigned_long+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_unsigned_long" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (unsigned long)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_unsigned_long=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long" >&5
+$as_echo "$ac_cv_sizeof_unsigned_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
+$as_echo_n "checking size of long long... " >&6; }
+if ${ac_cv_sizeof_long_long+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_long_long" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_long_long=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
+$as_echo "$ac_cv_sizeof_long_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long long" >&5
+$as_echo_n "checking size of unsigned long long... " >&6; }
+if ${ac_cv_sizeof_unsigned_long_long+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long long))" "ac_cv_sizeof_unsigned_long_long"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_unsigned_long_long" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (unsigned long long)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_unsigned_long_long=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long_long" >&5
+$as_echo "$ac_cv_sizeof_unsigned_long_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_LONG_LONG $ac_cv_sizeof_unsigned_long_long
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of float" >&5
+$as_echo_n "checking size of float... " >&6; }
+if ${ac_cv_sizeof_float+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_float" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (float)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_float=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5
+$as_echo "$ac_cv_sizeof_float" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_FLOAT $ac_cv_sizeof_float
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
+$as_echo_n "checking size of double... " >&6; }
+if ${ac_cv_sizeof_double+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_double" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (double)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_double=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
+$as_echo "$ac_cv_sizeof_double" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_DOUBLE $ac_cv_sizeof_double
+_ACEOF
+
+
+
+if test $ac_cv_sizeof_short -eq 0 \
+    -o $ac_cv_sizeof_unsigned_short -eq 0 \
+    -o $ac_cv_sizeof_int -eq 0 \
+    -o $ac_cv_sizeof_unsigned_int -eq 0 \
+    -o $ac_cv_sizeof_long -eq 0 \
+    -o $ac_cv_sizeof_unsigned_long -eq 0 \
+    -o $ac_cv_sizeof_long_long -eq 0 \
+    -o $ac_cv_sizeof_unsigned_long_long -eq 0 \
+    -o $ac_cv_sizeof_float -eq 0 \
+    -o $ac_cv_sizeof_double -eq 0; then
+	echo '*** I have a problem determining the size of some variable types. Either'
+	echo '*** you compiler is broken, or your system+compiler combination is not'
+	echo '*** supportet by the "autoconf" framework we use to generate this'
+	echo '*** configure script.'
+	exit 1
+fi
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5
+$as_echo_n "checking for long double with more range or precision than double... " >&6; }
+if ${ac_cv_type_long_double_wider+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <float.h>
+	    long double const a[] =
+	      {
+		 0.0L, DBL_MIN, DBL_MAX, DBL_EPSILON,
+		 LDBL_MIN, LDBL_MAX, LDBL_EPSILON
+	      };
+	    long double
+	    f (long double x)
+	    {
+	       return ((x + (unsigned long int) 10) * (-1 / x) + a[0]
+			+ (x ? f (x) : 'c'));
+	    }
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP)
+		   + (DBL_MANT_DIG < LDBL_MANT_DIG)
+		   - (LDBL_MAX_EXP < DBL_MAX_EXP)
+		   - (LDBL_MANT_DIG < DBL_MANT_DIG)))
+	    && (int) LDBL_EPSILON == 0
+	  )];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_type_long_double_wider=yes
+else
+  ac_cv_type_long_double_wider=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5
+$as_echo "$ac_cv_type_long_double_wider" >&6; }
+  if test $ac_cv_type_long_double_wider = yes; then
+
+$as_echo "#define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h
+
+  fi
+
+    ac_cv_c_long_double=$ac_cv_type_long_double_wider
+    if test $ac_cv_c_long_double = yes; then
+
+$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
+
+    fi
+
+if test "${ac_cv_c_have_long_double}" = "yes" ; then
+	# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
+$as_echo_n "checking size of long double... " >&6; }
+if ${ac_cv_sizeof_long_double+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
+
+else
+  if test "$ac_cv_type_long_double" = yes; then
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long double)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_long_double=0
+   fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
+$as_echo "$ac_cv_sizeof_long_double" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
+_ACEOF
+
+
+fi
+
+ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint8_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT8_T 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default"
+if test "x$ac_cv_type_int8_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INT8_T 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint16_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT16_T 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default"
+if test "x$ac_cv_type_int16_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INT16_T 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint32_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT32_T 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default"
+if test "x$ac_cv_type_int32_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INT32_T 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint64_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT64_T 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default"
+if test "x$ac_cv_type_int64_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INT64_T 1
+_ACEOF
+
+
+fi
+
+
+
+
+
+
+
+
+
+
+if test "${HAVE_INT32_T}" = yes; then
+	$as_echo "#define A_UINT32_T unsigned int32_t" >>confdefs.h
+
+else
+	if test "${ac_cv_sizeof_unsigned_short}" = "4"; then
+		$as_echo "#define A_UINT32_T unsigned short" >>confdefs.h
+
+	else
+		if test "${ac_cv_sizeof_unsigned_int}" = "4"; then
+			$as_echo "#define A_UINT32_T unsigned int" >>confdefs.h
+
+		else
+			if test "${ac_cv_sizeof_unsigned_long}" = "4"; then
+				$as_echo "#define A_UINT32_T unsigned long" >>confdefs.h
+
+			else
+				as_fn_error $? "CHECK_TYPE_uint32_t - please report to lame-dev@lists.sourceforge.net" "$LINENO" 5
+			fi
+		fi
+	fi
+fi
+
+
+
+if test "${ac_cv_sizeof_short}" = "4"; then
+	$as_echo "#define A_INT32_T short" >>confdefs.h
+
+else
+	if test "${ac_cv_sizeof_int}" = "4"; then
+		$as_echo "#define A_INT32_T int" >>confdefs.h
+
+	else
+		if test "${ac_cv_sizeof_long}" = "4"; then
+			$as_echo "#define A_INT32_T long" >>confdefs.h
+
+		else
+			as_fn_error $? "CHECK_TYPE_int32_t - please report to lame-dev@lists.sourceforge.net" "$LINENO" 5
+		fi
+	fi
+fi
+
+
+
+if test "${HAVE_INT64_T}" = yes; then
+        $as_echo "#define A_UINT64_T unsigned int64_t" >>confdefs.h
+
+else
+	if test "${ac_cv_sizeof_unsigned_int}" = "8"; then
+		$as_echo "#define A_UINT64_T unsigned int" >>confdefs.h
+
+	else
+		if test "${ac_cv_sizeof_unsigned_long}" = "8"; then
+			$as_echo "#define A_UINT64_T unsigned long" >>confdefs.h
+
+		else
+			if test "${ac_cv_sizeof_unsigned_long_long}" = "8"; then
+				$as_echo "#define A_UINT64_T unsigned long long" >>confdefs.h
+
+			else
+				as_fn_error $? "CHECK_TYPE_uint64_t - please report to lame-dev@lists.sourceforge.net" "$LINENO" 5
+			fi
+		fi
+	fi
+fi
+
+
+
+if test "${ac_cv_sizeof_int}" = "8"; then
+	$as_echo "#define A_INT64_T int" >>confdefs.h
+
+else
+	if test "${ac_cv_sizeof_long}" = "8"; then
+		$as_echo "#define A_INT64_T long" >>confdefs.h
+
+	else
+		if test "${ac_cv_sizeof_long_long}" = "8"; then
+			$as_echo "#define A_INT64_T long long" >>confdefs.h
+
+		else
+			as_fn_error $? "CHECK_TYPE_int64_t - please report to lame-dev@lists.sourceforge.net" "$LINENO" 5
+		fi
+	fi
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for IEEE854 compliant 80 bit floats" >&5
+$as_echo_n "checking for IEEE854 compliant 80 bit floats... " >&6; }
+if ${alex_cv_ieee854_float80+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: can't check for IEEE854 compliant 80 bit floats" >&5
+$as_echo "$as_me: WARNING: can't check for IEEE854 compliant 80 bit floats" >&2;}
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int   float2long_IEEE_compliance ( void )
+{
+    struct {
+        long padding; /* to prevent unaligned access */
+        float  f;
+    } s;
+    s.f = 12582912.; if ( *(long*)(&s.f) != 1262485504l ) return 0;
+    s.f = 12615679.; if ( *(long*)(&s.f) != 1262518271l ) return 0;
+    s.f = 13582912.; if ( *(long*)(&s.f) != 1263485504l ) return 0;
+    s.f = 12550145.; if ( *(long*)(&s.f) != 1262452737l ) return 0;
+    s.f = 11582912.; if ( *(long*)(&s.f) != 1261485504l ) return 0;
+    return 1;
+}
+
+int main(void)
+{
+    int retval;
+
+    retval = float2long_IEEE_compliance();
+
+    /* no error return -> success */
+    return !retval;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  alex_cv_ieee854_float80=yes
+else
+  alex_cv_ieee854_float80=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $alex_cv_ieee854_float80" >&5
+$as_echo "$alex_cv_ieee854_float80" >&6; }
+if test "${alex_cv_ieee854_float80}" = "yes" ; then
+	if test "${ac_cv_c_long_double}" = "yes" ; then
+		ac_fn_c_check_type "$LINENO" "ieee854_float80_t" "ac_cv_type_ieee854_float80_t" "$ac_includes_default"
+if test "x$ac_cv_type_ieee854_float80_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_IEEE854_FLOAT80_T 1
+_ACEOF
+
+long double
+fi
+
+
+
+
+$as_echo "#define HAVE_IEEE854_FLOAT80 1" >>confdefs.h
+
+	fi
+fi
+ac_fn_c_check_type "$LINENO" "ieee754_float64_t" "ac_cv_type_ieee754_float64_t" "$ac_includes_default"
+if test "x$ac_cv_type_ieee754_float64_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_IEEE754_FLOAT64_T 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_type "$LINENO" "ieee754_float32_t" "ac_cv_type_ieee754_float32_t" "$ac_includes_default"
+if test "x$ac_cv_type_ieee754_float32_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_IEEE754_FLOAT32_T 1
+_ACEOF
+
+
+fi
+
+
+
+
+
+
+
+$as_echo "#define LAME_LIBRARY_BUILD 1" >>confdefs.h
+
+
+
+if test ${cross_compiling} = "yes"; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+  **************************************************************************
+  *                                                                        *
+  * You are cross compiling:                                               *
+  *   - I did not have a change to determine                               *
+  *     + the size of:                                                     *
+  *       - short                                                          *
+  *       - unsigned short                                                 *
+  *       - int                                                            *
+  *       - unsigned int                                                   *
+  *       - long                                                           *
+  *       - unsigned long                                                  *
+  *       - float                                                          *
+  *       - double                                                         *
+  *       - long double                                                    *
+  *     + the endianess of the system                                      *
+  *   - You have to provide appropriate defines for them in config.h, e.g. *
+  *     + define SIZEOF_SHORT to 2 if the size of a short is 2             *
+  *     + define WORDS_BIGENDIAN if your system is a big endian system     *
+  *                                                                        *
+  **************************************************************************" >&5
+$as_echo "$as_me: WARNING:
+  **************************************************************************
+  *                                                                        *
+  * You are cross compiling:                                               *
+  *   - I did not have a change to determine                               *
+  *     + the size of:                                                     *
+  *       - short                                                          *
+  *       - unsigned short                                                 *
+  *       - int                                                            *
+  *       - unsigned int                                                   *
+  *       - long                                                           *
+  *       - unsigned long                                                  *
+  *       - float                                                          *
+  *       - double                                                         *
+  *       - long double                                                    *
+  *     + the endianess of the system                                      *
+  *   - You have to provide appropriate defines for them in config.h, e.g. *
+  *     + define SIZEOF_SHORT to 2 if the size of a short is 2             *
+  *     + define WORDS_BIGENDIAN if your system is a big endian system     *
+  *                                                                        *
+  **************************************************************************" >&2;}
+fi
+
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
+$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
+if ${ac_cv_header_time+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+int
+main ()
+{
+if ((struct tm *) 0)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_time=yes
+else
+  ac_cv_header_time=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
+$as_echo "$ac_cv_header_time" >&6; }
+if test $ac_cv_header_time = yes; then
+
+$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
+
+fi
+
+
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments.  Useless!
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+$as_echo_n "checking for working alloca.h... " >&6; }
+if ${ac_cv_working_alloca_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+			  if (p) return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_working_alloca_h=yes
+else
+  ac_cv_working_alloca_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
+$as_echo "$ac_cv_working_alloca_h" >&6; }
+if test $ac_cv_working_alloca_h = yes; then
+
+$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+$as_echo_n "checking for alloca... " >&6; }
+if ${ac_cv_func_alloca_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# else
+#  ifdef HAVE_ALLOCA_H
+#   include <alloca.h>
+#  else
+#   ifdef _AIX
+ #pragma alloca
+#   else
+#    ifndef alloca /* predefined by HP cc +Olibcalls */
+void *alloca (size_t);
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+				    if (p) return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_func_alloca_works=yes
+else
+  ac_cv_func_alloca_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
+$as_echo "$ac_cv_func_alloca_works" >&6; }
+
+if test $ac_cv_func_alloca_works = yes; then
+
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+
+else
+  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble.  Some versions do not even contain alloca or
+# contain a buggy version.  If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+
+$as_echo "#define C_ALLOCA 1" >>confdefs.h
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+if ${ac_cv_os_cray+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "webecray" >/dev/null 2>&1; then :
+  ac_cv_os_cray=yes
+else
+  ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
+$as_echo "$ac_cv_os_cray" >&6; }
+if test $ac_cv_os_cray = yes; then
+  for ac_func in _getb67 GETB67 getb67; do
+    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+
+cat >>confdefs.h <<_ACEOF
+#define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+    break
+fi
+
+  done
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+$as_echo_n "checking stack direction for C alloca... " >&6; }
+if ${ac_cv_c_stack_direction+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ac_cv_c_stack_direction=0
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+find_stack_direction (int *addr, int depth)
+{
+  int dir, dummy = 0;
+  if (! addr)
+    addr = &dummy;
+  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+  return dir + dummy;
+}
+
+int
+main (int argc, char **argv)
+{
+  return find_stack_direction (0, argc + !argv + 20) < 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_stack_direction=1
+else
+  ac_cv_c_stack_direction=-1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
+$as_echo "$ac_cv_c_stack_direction" >&6; }
+cat >>confdefs.h <<_ACEOF
+#define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
+
+
+fi
+
+for ac_func in gettimeofday strtol
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+if test "X${ac_cv_func_strtol}" != "Xyes"; then
+	as_fn_error $? "function strtol is mandatory" "$LINENO" 5
+fi
+
+SOCKETFUNCTION=unknown
+for ac_func in socket
+do :
+  ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket"
+if test "x$ac_cv_func_socket" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SOCKET 1
+_ACEOF
+
+fi
+done
+
+if test $ac_cv_func_socket = no; then
+	# maybe it is in libsocket
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
+$as_echo_n "checking for socket in -lsocket... " >&6; }
+if ${ac_cv_lib_socket_socket+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char socket ();
+int
+main ()
+{
+return socket ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_socket_socket=yes
+else
+  ac_cv_lib_socket_socket=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
+$as_echo "$ac_cv_lib_socket_socket" >&6; }
+if test "x$ac_cv_lib_socket_socket" = xyes; then :
+  $as_echo "#define HAVE_SOCKET 1" >>confdefs.h
+
+	LIBS="$LIBS -lsocket"
+fi
+
+	if test "X${ac_cv_lib_socket_socket}" != "Xyes"; then
+		SOCKETFUNCTION=NO
+	else
+		case ${host_os} in
+		*solaris*)
+			LIBS="$LIBS -lnsl"
+			;;
+		esac
+	fi
+fi
+
+CFLAGS=${CFLAGS}
+CONFIG_DEFS=${CONFIG_DEFS}
+NASM=
+INCLUDES="-I\$(top_srcdir)/include -I\$(srcdir)"
+FRONTEND_LDFLAGS=
+FRONTEND_CFLAGS=
+LIB_SOURCES=
+MAKEDEP="-M"
+RM_F="rm -f"
+
+# Check whether --enable-nasm was given.
+if test "${enable_nasm+set}" = set; then :
+  enableval=$enable_nasm; ASM_FOR_ARCH="i386"
+else
+  ASM_FOR_ARCH=""
+fi
+
+
+
+for ac_header in termcap.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "termcap.h" "ac_cv_header_termcap_h" "$ac_includes_default"
+if test "x$ac_cv_header_termcap_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_TERMCAP_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in ncurses/termcap.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "ncurses/termcap.h" "ac_cv_header_ncurses_termcap_h" "$ac_includes_default"
+if test "x$ac_cv_header_ncurses_termcap_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_NCURSES_TERMCAP_H 1
+_ACEOF
+
+fi
+
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -ltermcap" >&5
+$as_echo_n "checking for initscr in -ltermcap... " >&6; }
+if ${ac_cv_lib_termcap_initscr+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltermcap  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char initscr ();
+int
+main ()
+{
+return initscr ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_termcap_initscr=yes
+else
+  ac_cv_lib_termcap_initscr=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_initscr" >&5
+$as_echo "$ac_cv_lib_termcap_initscr" >&6; }
+if test "x$ac_cv_lib_termcap_initscr" = xyes; then :
+  HAVE_TERMCAP="termcap"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lcurses" >&5
+$as_echo_n "checking for initscr in -lcurses... " >&6; }
+if ${ac_cv_lib_curses_initscr+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcurses  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char initscr ();
+int
+main ()
+{
+return initscr ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_curses_initscr=yes
+else
+  ac_cv_lib_curses_initscr=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_initscr" >&5
+$as_echo "$ac_cv_lib_curses_initscr" >&6; }
+if test "x$ac_cv_lib_curses_initscr" = xyes; then :
+  HAVE_TERMCAP="curses"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncurses" >&5
+$as_echo_n "checking for initscr in -lncurses... " >&6; }
+if ${ac_cv_lib_ncurses_initscr+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncurses  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char initscr ();
+int
+main ()
+{
+return initscr ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ncurses_initscr=yes
+else
+  ac_cv_lib_ncurses_initscr=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_initscr" >&5
+$as_echo "$ac_cv_lib_ncurses_initscr" >&6; }
+if test "x$ac_cv_lib_ncurses_initscr" = xyes; then :
+  HAVE_TERMCAP="ncurses"
+fi
+
+
+
+      if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${acl_cv_path_LD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$acl_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+        test "$with_gnu_ld" != no && break
+        ;;
+      *)
+        test "$with_gnu_ld" != yes && break
+        ;;
+      esac
+    fi
+  done
+  IFS="$acl_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${acl_cv_prog_gnu_ld+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  acl_cv_prog_gnu_ld=yes
+  ;;
+*)
+  acl_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
+
+
+
+
+                                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if ${acl_cv_rpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+  wl="$acl_cv_wl"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+    # Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+  enableval=$enable_rpath; :
+else
+  enable_rpath=yes
+fi
+
+
+
+
+  acl_libdirstem=lib
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+                                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if ${gl_cv_solaris_64bit+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+  gl_cv_solaris_64bit=yes
+else
+  gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+        esac
+      fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS= 	}"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              */../ | */.. )
+                # Better ignore directories of this form. They are misleading.
+                ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
+
+
+
+
+
+
+
+
+
+    use_additional=yes
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+
+# Check whether --with-libiconv-prefix was given.
+if test "${with_libiconv_prefix+set}" = set; then :
+  withval=$with_libiconv_prefix;
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
+      fi
+    fi
+
+fi
+
+      LIBICONV=
+  LTLIBICONV=
+  INCICONV=
+  LIBICONV_PREFIX=
+      HAVE_LIBICONV=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='iconv '
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
+          else
+                                    :
+          fi
+        else
+                              found_dir=
+          found_la=
+          found_so=
+          found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
+          if test $use_additional = yes; then
+            dir="$additional_libdir"
+                                    if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
+                fi
+              fi
+            fi
+                        if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                                    if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                                    if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+              else
+                                                                                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                                if test "$acl_hardcode_direct" = yes; then
+                                                      LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                                                            haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                                                                                haveit=
+                    for x in $LDFLAGS $LIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                                                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
+              else
+                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
+              fi
+            fi
+                        additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = 'iconv'; then
+                  LIBICONV_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = 'iconv'; then
+                  LIBICONV_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INCICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                                            INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+                        if test -n "$found_la"; then
+                                                        save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+                            for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBICONV; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                                                                  haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                                                                  haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
+                    LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+            LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
+                        alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+      done
+            acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+    else
+            for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+    done
+  fi
+
+
+
+
+
+
+
+
+
+
+
+
+          am_save_CPPFLAGS="$CPPFLAGS"
+
+  for element in $INCICONV; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if ${am_cv_func_iconv+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+      LIBS="$am_save_LIBS"
+    fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+  if test "$am_cv_func_iconv" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+$as_echo_n "checking for working iconv... " >&6; }
+if ${am_cv_func_iconv_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+                  am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+
+int
+main ()
+{
+int result = 0;
+  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+     returns.  */
+  {
+    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+    if (cd_utf8_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_utf8_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\263";
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#if 0 /* This bug could be worked around by the caller.  */
+  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        char buf[50];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if ((int)res > 0)
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#endif
+  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+     provided.  */
+  if (/* Try standardized names.  */
+      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+      /* Try IRIX, OSF/1 names.  */
+      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+      /* Try AIX names.  */
+      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+      /* Try HP-UX names.  */
+      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+    result |= 16;
+  return result;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  am_cv_func_iconv_works=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+        test "$am_cv_func_iconv_works" = no || break
+      done
+      LIBS="$am_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+$as_echo "$am_cv_func_iconv_works" >&6; }
+    case "$am_cv_func_iconv_works" in
+      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+      *)   am_func_iconv=yes ;;
+    esac
+  else
+    am_func_iconv=no am_cv_lib_iconv=no
+  fi
+  if test "$am_func_iconv" = yes; then
+
+$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
+  else
+            CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+
+
+
+  if test "$am_cv_func_iconv" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
+$as_echo_n "checking for iconv declaration... " >&6; }
+    if ${am_cv_proto_iconv+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  am_cv_proto_iconv_arg1=""
+else
+  am_cv_proto_iconv_arg1="const"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
+fi
+
+    am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result:
+         $am_cv_proto_iconv" >&5
+$as_echo "
+         $am_cv_proto_iconv" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define ICONV_CONST $am_cv_proto_iconv_arg1
+_ACEOF
+
+
+  fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
+$as_echo_n "checking for cos in -lm... " >&6; }
+if ${ac_cv_lib_m_cos+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cos ();
+int
+main ()
+{
+return cos ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_m_cos=yes
+else
+  ac_cv_lib_m_cos=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
+$as_echo "$ac_cv_lib_m_cos" >&6; }
+if test "x$ac_cv_lib_m_cos" = xyes; then :
+  USE_LIBM="-lm"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lffm" >&5
+$as_echo_n "checking for cos in -lffm... " >&6; }
+if ${ac_cv_lib_ffm_cos+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lffm  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cos ();
+int
+main ()
+{
+return cos ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ffm_cos=yes
+else
+  ac_cv_lib_ffm_cos=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffm_cos" >&5
+$as_echo "$ac_cv_lib_ffm_cos" >&6; }
+if test "x$ac_cv_lib_ffm_cos" = xyes; then :
+  USE_LIBM="-lffm -lm"
+fi
+
+# Check whether --enable-cpml was given.
+if test "${enable_cpml+set}" = set; then :
+  enableval=$enable_cpml; CONFIG_CPML="no"
+else
+  CONFIG_CPML="yes"
+fi
+
+if test "${CONFIG_CPML}" = yes; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lcpml" >&5
+$as_echo_n "checking for cos in -lcpml... " >&6; }
+if ${ac_cv_lib_cpml_cos+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcpml  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cos ();
+int
+main ()
+{
+return cos ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_cpml_cos=yes
+else
+  ac_cv_lib_cpml_cos=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cpml_cos" >&5
+$as_echo "$ac_cv_lib_cpml_cos" >&6; }
+if test "x$ac_cv_lib_cpml_cos" = xyes; then :
+  USE_LIBM="-lcpml"
+fi
+
+fi
+CONFIG_MATH_LIB="${USE_LIBM}"
+
+
+
+# Check whether --with-gtk-prefix was given.
+if test "${with_gtk_prefix+set}" = set; then :
+  withval=$with_gtk_prefix; gtk_config_prefix="$withval"
+else
+  gtk_config_prefix=""
+fi
+
+
+# Check whether --with-gtk-exec-prefix was given.
+if test "${with_gtk_exec_prefix+set}" = set; then :
+  withval=$with_gtk_exec_prefix; gtk_config_exec_prefix="$withval"
+else
+  gtk_config_exec_prefix=""
+fi
+
+# Check whether --enable-gtktest was given.
+if test "${enable_gtktest+set}" = set; then :
+  enableval=$enable_gtktest;
+else
+  enable_gtktest=yes
+fi
+
+
+  for module in .
+  do
+      case "$module" in
+         gthread)
+             gtk_config_args="$gtk_config_args gthread"
+         ;;
+      esac
+  done
+
+  if test x$gtk_config_exec_prefix != x ; then
+     gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
+     if test x${GTK_CONFIG+set} != xset ; then
+        GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
+     fi
+  fi
+  if test x$gtk_config_prefix != x ; then
+     gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
+     if test x${GTK_CONFIG+set} != xset ; then
+        GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
+     fi
+  fi
+
+  # Extract the first word of "gtk-config", so it can be a program name with args.
+set dummy gtk-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GTK_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GTK_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GTK_CONFIG="$GTK_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_GTK_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_GTK_CONFIG" && ac_cv_path_GTK_CONFIG="no"
+  ;;
+esac
+fi
+GTK_CONFIG=$ac_cv_path_GTK_CONFIG
+if test -n "$GTK_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTK_CONFIG" >&5
+$as_echo "$GTK_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  min_gtk_version=1.2.0
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK - version >= $min_gtk_version" >&5
+$as_echo_n "checking for GTK - version >= $min_gtk_version... " >&6; }
+  no_gtk=""
+  if test "$GTK_CONFIG" = "no" ; then
+    no_gtk=yes
+  else
+    GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
+    GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
+    gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
+           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
+    gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
+           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
+    gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
+           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
+    if test "x$enable_gtktest" = "xyes" ; then
+      ac_save_CFLAGS="$CFLAGS"
+      ac_save_LIBS="$LIBS"
+      CFLAGS="$CFLAGS $GTK_CFLAGS"
+      LIBS="$GTK_LIBS $LIBS"
+      rm -f conf.gtktest
+      if test "$cross_compiling" = yes; then :
+  echo $ac_n "cross compiling; assumed OK... $ac_c"
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <gtk/gtk.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+  int major, minor, micro;
+  char *tmp_version;
+
+  system ("touch conf.gtktest");
+
+  /* HP/UX 9 (%@#!) writes to sscanf strings */
+  tmp_version = g_strdup("$min_gtk_version");
+  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+     printf("%s, bad version string\n", "$min_gtk_version");
+     exit(1);
+   }
+
+  if ((gtk_major_version != $gtk_config_major_version) ||
+      (gtk_minor_version != $gtk_config_minor_version) ||
+      (gtk_micro_version != $gtk_config_micro_version))
+    {
+      printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
+             $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
+             gtk_major_version, gtk_minor_version, gtk_micro_version);
+      printf ("*** was found! If gtk-config was correct, then it is best\n");
+      printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
+      printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
+      printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
+      printf("*** required on your system.\n");
+      printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
+      printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
+      printf("*** before re-running configure\n");
+    }
+#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
+  else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
+     (gtk_minor_version != GTK_MINOR_VERSION) ||
+           (gtk_micro_version != GTK_MICRO_VERSION))
+    {
+      printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
+       GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
+      printf("*** library (version %d.%d.%d)\n",
+       gtk_major_version, gtk_minor_version, gtk_micro_version);
+    }
+#endif /* defined (GTK_MAJOR_VERSION) ... */
+  else
+    {
+      if ((gtk_major_version > major) ||
+        ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
+        ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
+      {
+        return 0;
+       }
+     else
+      {
+        printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
+               gtk_major_version, gtk_minor_version, gtk_micro_version);
+        printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
+         major, minor, micro);
+        printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
+        printf("***\n");
+        printf("*** If you have already installed a sufficiently new version, this error\n");
+        printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
+        printf("*** being found. The easiest way to fix this is to remove the old version\n");
+        printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
+        printf("*** correct copy of gtk-config. (In this case, you will have to\n");
+        printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
+        printf("*** so that the correct libraries are found at run-time))\n");
+      }
+    }
+  return 1;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  no_gtk=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+       CFLAGS="$ac_save_CFLAGS"
+       LIBS="$ac_save_LIBS"
+     fi
+  fi
+  if test "x$no_gtk" = x ; then
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+     HAVE_GTK="yes"
+  else
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+     if test "$GTK_CONFIG" = "no" ; then
+       echo "*** The gtk-config script installed by GTK could not be found"
+       echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
+       echo "*** your path, or set the GTK_CONFIG environment variable to the"
+       echo "*** full path to gtk-config."
+     else
+       if test -f conf.gtktest ; then
+        :
+       else
+          echo "*** Could not run GTK test program, checking why..."
+          CFLAGS="$CFLAGS $GTK_CFLAGS"
+          LIBS="$LIBS $GTK_LIBS"
+          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <gtk/gtk.h>
+#include <stdio.h>
+
+int
+main ()
+{
+ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version));
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+   echo "*** The test program compiled, but did not run. This usually means"
+          echo "*** that the run-time linker is not finding GTK or finding the wrong"
+          echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
+          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
+          echo "*** is required on your system"
+    echo "***"
+          echo "*** If you have an old version installed, it is best to remove it, although"
+          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
+          echo "***"
+          echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
+          echo "*** came with the system with the command"
+          echo "***"
+          echo "***    rpm --erase --nodeps gtk gtk-devel"
+else
+   echo "*** The test program failed to compile or link. See the file config.log for the"
+          echo "*** exact error that occured. This usually means GTK was incorrectly installed"
+          echo "*** or that you have moved GTK since it was installed. In the latter case, you"
+          echo "*** may want to edit the gtk-config script: $GTK_CONFIG"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+          CFLAGS="$ac_save_CFLAGS"
+          LIBS="$ac_save_LIBS"
+       fi
+     fi
+     GTK_CFLAGS=""
+     GTK_LIBS=""
+     HAVE_GTK="no"
+  fi
+
+
+  rm -f conf.gtktest
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking use of ElectricFence malloc debugging" >&5
+$as_echo_n "checking use of ElectricFence malloc debugging... " >&6; }
+# Check whether --enable-efence was given.
+if test "${enable_efence+set}" = set; then :
+  enableval=$enable_efence; CONFIG_EFENCE="${enableval}"
+else
+  CONFIG_EFENCE="no"
+fi
+
+
+case "${CONFIG_EFENCE}" in
+yes)
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EF_Print in -lefence" >&5
+$as_echo_n "checking for EF_Print in -lefence... " >&6; }
+if ${ac_cv_lib_efence_EF_Print+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lefence  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char EF_Print ();
+int
+main ()
+{
+return EF_Print ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_efence_EF_Print=yes
+else
+  ac_cv_lib_efence_EF_Print=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_efence_EF_Print" >&5
+$as_echo "$ac_cv_lib_efence_EF_Print" >&6; }
+if test "x$ac_cv_lib_efence_EF_Print" = xyes; then :
+  HAVE_EFENCE="-lefence"
+fi
+
+	if test "x${HAVE_EFENCE}" != "x-lefence"; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	else
+		LDADD="${LDADD} ${HAVE_EFENCE}"
+
+$as_echo "#define HAVE_EFENCE 1" >>confdefs.h
+
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${CONFIG_EFENCE}" >&5
+$as_echo "${CONFIG_EFENCE}" >&6; }
+	fi
+	;;
+no)
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${CONFIG_EFENCE}" >&5
+$as_echo "${CONFIG_EFENCE}" >&6; }
+	;;
+*)
+	as_fn_error $? "bad value �${CONFIG_EFENCE}� for efence option" "$LINENO" 5
+	;;
+esac
+
+
+WARNING=
+
+# Check whether --with-fileio was given.
+if test "${with_fileio+set}" = set; then :
+  withval=$with_fileio; CONFIG_FILEIO="${withval}"
+else
+  CONFIG_FILEIO="lame"
+fi
+
+
+if test "${CONFIG_FILEIO}" = "sndfile" ; then
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.9.0
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	else
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+		PKG_CONFIG=""
+	fi
+fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SNDFILE" >&5
+$as_echo_n "checking for SNDFILE... " >&6; }
+
+if test -n "$SNDFILE_CFLAGS"; then
+    pkg_cv_SNDFILE_CFLAGS="$SNDFILE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sndfile >= 1.0.2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "sndfile >= 1.0.2") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_SNDFILE_CFLAGS=`$PKG_CONFIG --cflags "sndfile >= 1.0.2" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$SNDFILE_LIBS"; then
+    pkg_cv_SNDFILE_LIBS="$SNDFILE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sndfile >= 1.0.2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "sndfile >= 1.0.2") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_SNDFILE_LIBS=`$PKG_CONFIG --libs "sndfile >= 1.0.2" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        SNDFILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sndfile >= 1.0.2" 2>&1`
+        else
+	        SNDFILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sndfile >= 1.0.2" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$SNDFILE_PKG_ERRORS" >&5
+
+	HAVE_SNDFILE="no"
+elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	HAVE_SNDFILE="no"
+else
+	SNDFILE_CFLAGS=$pkg_cv_SNDFILE_CFLAGS
+	SNDFILE_LIBS=$pkg_cv_SNDFILE_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	HAVE_SNDFILE="yes"
+fi
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking use of file io" >&5
+$as_echo_n "checking use of file io... " >&6; }
+
+if test "${CONFIG_FILEIO}" = "sndfile" ; then
+  if test "${HAVE_SNDFILE}" = "yes" -o "x${SNDFILE_LIBS}" != "x" \
+    -o "x${SNDFILE_CFLAGS}" != "x"; then
+    SNDFILE_LIBS=`echo ${SNDFILE_LIBS}`
+    SNDFILE_CFLAGS=`echo ${SNDFILE_CFLAGS}`
+
+    if test -n "${SNDFILE_LIBS}" ; then
+      FRONTEND_LDFLAGS="${SNDFILE_LIBS} ${FRONTEND_LDFLAGS}"
+    fi
+    FRONTEND_LDADD="-lsndfile ${FRONTEND_LDADD}"
+
+    if test -n "${SNDFILE_CFLAGS}" ; then
+      INCLUDES="${SNDFILE_CFLAGS} ${INCLUDES}"
+    fi
+
+
+$as_echo "#define LIBSNDFILE 1" >>confdefs.h
+
+  else
+    # default
+    CONFIG_FILEIO="lame"
+    WARNING="${WARNING} Could not find any sndfile lib on system."
+  fi
+else
+  CONFIG_FILEIO="lame"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${CONFIG_FILEIO}" >&5
+$as_echo "${CONFIG_FILEIO}" >&6; }
+if test "x${WARNING}" != "x" ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $WARNING" >&5
+$as_echo "$as_me: WARNING: $WARNING" >&2;}
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking use of analyzer hooks" >&5
+$as_echo_n "checking use of analyzer hooks... " >&6; }
+# Check whether --enable-analyzer-hooks was given.
+if test "${enable_analyzer_hooks+set}" = set; then :
+  enableval=$enable_analyzer_hooks; CONFIG_ANALYZER="${enableval}"
+else
+  CONFIG_ANALYZER="yes"
+fi
+
+
+case "${CONFIG_ANALYZER}" in
+yes)
+	;;
+no)
+
+$as_echo "#define NOANALYSIS 1" >>confdefs.h
+
+	;;
+*)
+	as_fn_error $? "bad value �${CONFIG_ANALYZER}� for analyzer-hooks option" "$LINENO" 5
+	;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_ANALYZER" >&5
+$as_echo "$CONFIG_ANALYZER" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking use of mpg123 decoder" >&5
+$as_echo_n "checking use of mpg123 decoder... " >&6; }
+# Check whether --enable-decoder was given.
+if test "${enable_decoder+set}" = set; then :
+  enableval=$enable_decoder; CONFIG_DECODER="${enableval}"
+else
+  CONFIG_DECODER="yes"
+fi
+
+
+ if test "x${CONFIG_DECODER}" = "xyes"; then
+  LIB_WITH_DECODER_TRUE=
+  LIB_WITH_DECODER_FALSE='#'
+else
+  LIB_WITH_DECODER_TRUE='#'
+  LIB_WITH_DECODER_FALSE=
+fi
+
+
+if test "${CONFIG_DECODER}" != "no" ; then
+	CONFIG_DECODER="yes (Layer 1, 2, 3)"
+
+$as_echo "#define HAVE_MPGLIB 1" >>confdefs.h
+
+
+$as_echo "#define DECODE_ON_THE_FLY 1" >>confdefs.h
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_DECODER" >&5
+$as_echo "$CONFIG_DECODER" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the lame frontend should be build" >&5
+$as_echo_n "checking if the lame frontend should be build... " >&6; }
+# Check whether --enable-frontend was given.
+if test "${enable_frontend+set}" = set; then :
+  enableval=$enable_frontend; WITH_FRONTEND="${enableval}"
+else
+  WITH_FRONTEND=yes
+fi
+
+if test "x${WITH_FRONTEND}" = "xyes"; then
+	WITH_FRONTEND=lame${ac_exeext}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+	WITH_FRONTEND=
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if mp3x is requested" >&5
+$as_echo_n "checking if mp3x is requested... " >&6; }
+# Check whether --enable-mp3x was given.
+if test "${enable_mp3x+set}" = set; then :
+  enableval=$enable_mp3x; WITH_MP3X="${enableval}"
+else
+  WITH_MP3X=no
+fi
+
+if test "x${WITH_MP3X}" = "xyes"; then
+	WITH_MP3X=mp3x${ac_exeext}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+	WITH_MP3X=
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+if test "${HAVE_GTK}" = "no"; then
+	if test "x${WITH_MP3X}" = "xmp3x"; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: can't build mp3x" >&5
+$as_echo "$as_me: WARNING: can't build mp3x" >&2;}
+		WITH_MP3X=
+	fi
+	if test "x${CONFIG_ANALYZER}" != "xyes"; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: can't build mp3x because of disabled analyzer hooks" >&5
+$as_echo "$as_me: WARNING: can't build mp3x because of disabled analyzer hooks" >&2;}
+		WITH_MP3X=
+	fi
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if mp3rtp is requested" >&5
+$as_echo_n "checking if mp3rtp is requested... " >&6; }
+# Check whether --enable-mp3rtp was given.
+if test "${enable_mp3rtp+set}" = set; then :
+  enableval=$enable_mp3rtp; WITH_MP3RTP="${enableval}"
+else
+  WITH_MP3RTP=no
+fi
+
+if test "x${WITH_MP3RTP}" = "xyes"; then
+	if test ${SOCKETFUNCTION} = NO; then
+		as_fn_error $? "function socket is mandatory for mp3rtp" "$LINENO" 5
+	fi
+	WITH_MP3RTP=mp3rtp${ac_exeext}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+	WITH_MP3RTP=
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if dynamic linking of the frontends is requested" >&5
+$as_echo_n "checking if dynamic linking of the frontends is requested... " >&6; }
+# Check whether --enable-dynamic-frontends was given.
+if test "${enable_dynamic_frontends+set}" = set; then :
+  enableval=$enable_dynamic_frontends; FRONTEND_LDFLAGS="${FRONTEND_LDFLAGS}"
+else
+  FRONTEND_LDFLAGS="${FRONTEND_LDFLAGS} -static"
+fi
+
+case "x${FRONTEND_LDFLAGS}" in
+*-static*)
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	;;
+*)
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	;;
+esac
+
+
+#
+# this is from vorbis
+#
+case $host in
+*86-*-linux*)
+	# glibc < 2.1.3 has a serious FP bug in the math inline header
+	# that will cripple Vorbis.  Look to see if the magic FP stack
+	# clobber is missing in the mathinline header, thus indicating
+	# the buggy version
+
+	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+		#define __LIBC_INTERNAL_MATH_INLINES 1
+	     	#define __OPTIMIZE__
+		#include <math.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "log10.*fldlg2.*fxch" >/dev/null 2>&1; then :
+  bad=maybe
+else
+  bad=no
+fi
+rm -f conftest*
+
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking glibc mathinline bug" >&5
+$as_echo_n "checking glibc mathinline bug... " >&6; }
+	if test ${bad} = "maybe" ;then
+	      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+				#define __LIBC_INTERNAL_MATH_INLINES 1
+			     	#define __OPTIMIZE__
+				#include <math.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "log10.*fldlg2.*fxch.*st\([0123456789]*\)" >/dev/null 2>&1; then :
+  bad=no
+else
+  bad=yes
+fi
+rm -f conftest*
+
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${bad}" >&5
+$as_echo "${bad}" >&6; }
+	if test ${bad} = "yes" ;then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:                                                         " >&5
+$as_echo "$as_me: WARNING:                                                         " >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ********************************************************" >&5
+$as_echo "$as_me: WARNING: ********************************************************" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * The glibc headers on this machine have a serious bug *" >&5
+$as_echo "$as_me: WARNING: * The glibc headers on this machine have a serious bug *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * in /usr/include/bits/mathinline.h  This bug affects  *" >&5
+$as_echo "$as_me: WARNING: * in /usr/include/bits/mathinline.h  This bug affects  *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * all floating point code, not only LAME, but all code *" >&5
+$as_echo "$as_me: WARNING: * all floating point code, not only LAME, but all code *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * built on this machine. Upgrading to glibc 2.1.3 is   *" >&5
+$as_echo "$as_me: WARNING: * built on this machine. Upgrading to glibc 2.1.3 is   *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * strongly urged to correct the problem.               *" >&5
+$as_echo "$as_me: WARNING: * strongly urged to correct the problem.               *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *Note: that upgrading glibc will not fix any previously*" >&5
+$as_echo "$as_me: WARNING: *Note: that upgrading glibc will not fix any previously*" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * built programs; this is a compile-time bug.          *" >&5
+$as_echo "$as_me: WARNING: * built programs; this is a compile-time bug.          *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * To work around the problem for this build of LAME,   *" >&5
+$as_echo "$as_me: WARNING: * To work around the problem for this build of LAME,   *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * autoconf is disabling all math inlining.  This will  *" >&5
+$as_echo "$as_me: WARNING: * autoconf is disabling all math inlining.  This will  *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * hurt LAME performace but is necessary for LAME to    *" >&5
+$as_echo "$as_me: WARNING: * hurt LAME performace but is necessary for LAME to    *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * work correctly.  Once glibc is upgraded, rerun       *" >&5
+$as_echo "$as_me: WARNING: * work correctly.  Once glibc is upgraded, rerun       *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * configure and make to build with inlining.           *" >&5
+$as_echo "$as_me: WARNING: * configure and make to build with inlining.           *" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ********************************************************" >&5
+$as_echo "$as_me: WARNING: ********************************************************" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:                                                         " >&5
+$as_echo "$as_me: WARNING:                                                         " >&2;}
+
+
+$as_echo "#define __NO_MATH_INLINES 1" >>confdefs.h
+
+	fi;;
+esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for termcap" >&5
+$as_echo_n "checking for termcap... " >&6; }
+if test "x${HAVE_TERMCAP}" != "x"; then
+  FRONTEND_LDADD="-l${HAVE_TERMCAP} ${FRONTEND_LDADD}"
+
+$as_echo "#define HAVE_TERMCAP 1" >>confdefs.h
+
+  TERMCAP_DEFAULT="yes"
+else
+  TERMCAP_DEFAULT="no"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${TERMCAP_DEFAULT}" >&5
+$as_echo "${TERMCAP_DEFAULT}" >&6; }
+
+
+WITH_VECTOR=no
+case $host_cpu in
+x86_64|amd64)
+	CPUTYPE="no"
+	if test $ac_cv_header_xmmintrin_h = yes ; then
+		WITH_XMM=yes
+		WITH_VECTOR=yes
+	fi
+
+
+$as_echo "#define TAKEHIRO_IEEE754_HACK 1" >>confdefs.h
+
+
+$as_echo "#define USE_FAST_LOG 1" >>confdefs.h
+
+	;;
+*86)
+	CPUTYPE="i386"
+	if test $ac_cv_header_xmmintrin_h = yes ; then
+		WITH_XMM=yes
+		WITH_VECTOR=yes
+	fi
+
+	# use internal knowledge of the IEEE 754 layout
+
+$as_echo "#define TAKEHIRO_IEEE754_HACK 1" >>confdefs.h
+
+
+$as_echo "#define USE_FAST_LOG 1" >>confdefs.h
+
+	;;
+powerpc)
+	CPUTYPE="no"
+
+	# use internal knowledge of the IEEE 754 layout
+
+$as_echo "#define TAKEHIRO_IEEE754_HACK 1" >>confdefs.h
+
+
+	# The following should not get enabled on a G5. HOWTO check for a G5?
+
+$as_echo "#define USE_FAST_LOG 1" >>confdefs.h
+
+	;;
+*)
+	CPUTYPE="no"
+	;;
+esac
+
+# which vector code do we support to build on this machine?
+ if test "x${WITH_XMM}" = "xyes"; then
+  WITH_XMM_TRUE=
+  WITH_XMM_FALSE='#'
+else
+  WITH_XMM_TRUE='#'
+  WITH_XMM_FALSE=
+fi
+
+
+# needs to be defined to link in the internal vector lib
+ if test "x${WITH_VECTOR}" = "xyes"; then
+  WITH_VECTOR_TRUE=
+  WITH_VECTOR_FALSE='#'
+else
+  WITH_VECTOR_TRUE='#'
+  WITH_VECTOR_FALSE=
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if I have to build the internal vector lib" >&5
+$as_echo_n "checking if I have to build the internal vector lib... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${WITH_VECTOR}" >&5
+$as_echo "${WITH_VECTOR}" >&6; }
+
+
+# Extract the first word of "nasm", so it can be a program name with args.
+set dummy nasm; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_NASM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $NASM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_NASM="$NASM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_NASM="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_NASM" && ac_cv_path_NASM="no"
+  ;;
+esac
+fi
+NASM=$ac_cv_path_NASM
+if test -n "$NASM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NASM" >&5
+$as_echo "$NASM" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+case "${NASM}" in
+no)
+	;;
+*)
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler routines for this processor type" >&5
+$as_echo_n "checking for assembler routines for this processor type... " >&6; }
+	for recurse_over in ${ASM_FOR_ARCH}
+	do
+		if test "${CPUTYPE}" = "${recurse_over}"; then
+			include_asm_routines="yes"
+		fi
+
+		case $host_os in
+		*darwin*)
+			# currently we have problems because of a wrong
+			# libtool hack in the darwin case (for nasm code)
+			include_asm_routines="no"
+			;;
+		esac
+	done
+	if test "x${include_asm_routines}" = "xyes"; then
+
+$as_echo "#define HAVE_NASM 1" >>confdefs.h
+
+
+$as_echo "#define MMX_choose_table 1" >>confdefs.h
+
+	else
+		include_asm_routines="no"
+		NASM="no"
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${include_asm_routines}" >&5
+$as_echo "${include_asm_routines}" >&6; }
+	;;
+esac
+ if test "${NASM}" != "no"; then
+  HAVE_NASM_TRUE=
+  HAVE_NASM_FALSE='#'
+else
+  HAVE_NASM_TRUE='#'
+  HAVE_NASM_FALSE=
+fi
+
+
+case $host_os in
+	*cygwin*|*mingw32*)
+		CYGWIN=yes
+		NASM_FORMAT="-f win32 -DWIN32"
+		;;
+	*darwin*)
+		NASM_FORMAT="-f macho"
+		;;
+	*)
+		CYGWIN=no
+		NASM_FORMAT="-f elf"
+		;;
+esac
+
+#
+# 'expopt' is used for "additional optimizations", not for optimizations which
+# are marked as "experimental" in the guide for the compiler.
+# They are "experimental" here in the LAME project (at least
+# "--enable-expopt=full").
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional optimizations" >&5
+$as_echo_n "checking for additional optimizations... " >&6; }
+# Check whether --enable-expopt was given.
+if test "${enable_expopt+set}" = set; then :
+  enableval=$enable_expopt; CONFIG_EXPOPT="${enableval}"
+else
+  CONFIG_EXPOPT="no"
+fi
+
+
+if test "x$HAVE_GCC" = "xyes" -o "x$HAVE_CLANG" = "xyes"; then
+	# gcc defaults. OS specific options go in versious sections below
+	# from the gcc man pages:  "there is no reason to use -pedantic"
+	if test "x${with_gnu_ld}" = "xyes"; then
+		CFLAGS="-Wall -pipe ${CFLAGS}"
+	else
+		# some vendor ld's don't like '-pipe'
+		CFLAGS="-Wall ${CFLAGS}"
+	fi
+
+	# GCC version specific generic options
+	if test "x${HAVE_GCC}" = "xyes"; then
+		case "${GCC_version}" in
+		2.96*)
+        		# for buggy version of gcc shipped with RH7.1, back of on some
+        		# optimizations
+        		OPTIMIZATION="-O -fomit-frame-pointer -ffast-math \
+				-funroll-loops"
+			OPTIMIZATION_FULL="-fmove-all-movables -freduce-all-givs \
+				-fsched-interblock -fbranch-count-reg -fforce-addr \
+				-fforce-mem"
+        		;;
+		3.0*)
+			# -funroll-loops seems to produce buggy code with gcc 3.0.3
+			OPTIMIZATION="-O -fomit-frame-pointer -ffast-math"
+			OPTIMIZATION_FULL="-fmove-all-movables -freduce-all-givs \
+				-fbranch-count-reg -fforce-addr -fforce-mem"
+			;;
+		3.*|4.0.*|4.1.*)
+			# -fomit-frame-pointer seems to be buggy on cygwin
+			case ${host_os} in
+			*cygwin*)
+				OMIT_FRAME_POINTER=
+				;;
+			*)
+				OMIT_FRAME_POINTER=-fomit-frame-pointer
+				;;
+			esac
+
+			OPTIMIZATION="-O3 ${OMIT_FRAME_POINTER} -ffast-math"
+			OPTIMIZATION_FULL="-fmove-all-movables -freduce-all-givs \
+				-fbranch-count-reg -fforce-addr -fforce-mem"
+			;;
+		456789.*)
+			OPTIMIZATION="-O3 -fomit-frame-pointer -ffast-math"
+			OPTIMIZATION_FULL="-fbranch-count-reg -fforce-addr"
+			;;
+		*)
+			# default
+			OPTIMIZATION="-O3 ${OMIT_FRAME_POINTER} -ffast-math \
+				-funroll-loops"
+			OPTIMIZATION_FULL="-fbranch-count-reg -fforce-addr"
+			;;
+		esac
+
+		# GCC version independend generic options
+		OPTIMIZATION_NORM="-fschedule-insns2"
+	fi
+
+
+	# generic CPU specific options
+	case ${host_cpu} in
+	sparc)
+		case "${GCC_version}" in
+		3.0*)
+			;;
+		3456789.*)
+			# doesn't work on 3.0.x, but on 3.[12] and
+			# hopefully on every other release after that too
+			if test -x /usr/bin/isalist; then
+				/usr/bin/isalist | grep sparcv8plus \
+					>/dev/null 2>&1 && \
+					OPTIMIZATION="${OPTIMIZATION} \
+						-mcpu=ultrasparc \
+						-mtune=ultrasparc"
+			fi
+			;;
+		esac
+		;;
+	*86)
+		case "${GCC_version}" in
+		3456789.*)
+			OPTIMIZATION="${OPTIMIZATION} \
+				-maccumulate-outgoing-args"
+			;;
+		esac
+		;;
+	esac
+
+	expopt_msg_result_printed=no
+	case "${CONFIG_EXPOPT}" in
+	no)
+		# if someone supplies own CFLAGS, we don't add our own
+		if test "x${ac_save_CFLAGS}" != "x"; then
+			OPTIMIZATION=""
+		fi
+		;;
+	norm|yes)
+		OPTIMIZATION="${OPTIMIZATION} ${OPTIMIZATION_NORM}"
+		;;
+	full)
+		OPTIMIZATION="${OPTIMIZATION} ${OPTIMIZATION_NORM} \
+			${OPTIMIZATION_FULL}"
+
+		if test "${HAVE_GCC}" = "yes"; then
+			# some hardware dependend options
+			case "${GCC_version}" in
+			2.9*|3.*|4.0.*|4.1.*)
+				# "new" GCC, use some "new" CPU specific optimizations
+				# use -mtune instead of -m486 or -mcpu= etc, since they are
+				# deprecated by GCC <rbrito>
+				case ${host_cpu} in
+				*486)
+					OPTIMIZATION="${OPTIMIZATION} -mcpu=i486 \
+						-mfancy-math-387"
+					;;
+				*586)
+					OPTIMIZATION="${OPTIMIZATION} -mcpu=pentium \
+						-march=pentium -mfancy-math-387"
+					;;
+				*686)
+					OPTIMIZATION="${OPTIMIZATION} -mcpu=pentiumpro \
+						-march=pentiumpro -mfancy-math-387 \
+						-malign-double"
+					;;
+				*86)
+					OPTIMIZATION="${OPTIMIZATION} -mfancy-math-387"
+					;;
+				alpha*)
+					OPTIMIZATION="${OPTIMIZATION} -mfp-regs"
+
+$as_echo "#define FLOAT double" >>confdefs.h
+
+					# add "-mcpu=21164a -Wa,-m21164a" to optimize
+					# for 21164a (ev56) CPU
+					;;
+				*)
+					OPTIMIZATION="${OPTIMIZATION} -fdelayed-branch"
+					;;
+				esac
+				;;
+			456789.*)
+				case ${host_cpu} in
+				*486)
+					OPTIMIZATION="${OPTIMIZATION} -march=i486"
+					;;
+				*586)
+					OPTIMIZATION="${OPTIMIZATION} -march=i586 \
+						-mtune=native"
+					;;
+				*686)
+					OPTIMIZATION="${OPTIMIZATION} -march=i686 \
+						-mtune=native"
+					;;
+				*86)
+					OPTIMIZATION="${OPTIMIZATION} -march=native \
+						-mtune=native"
+					;;
+				arm*-gnueabi)
+					if  -z "$(echo ${GCC_version} | awk '/4\.0/')" ; then
+						# Work round buggy softfloat optimization in ARM EABI compilers
+						# -gnueabi in only gcc-4.1 onwards
+						OPTIMIZATION="${OPTIMIZATION} -fno-finite-math-only"
+					fi
+					;;
+				esac
+				;;
+			*)
+				# no special optimization for other versions
+				{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+				expopt_msg_result_printed=yes
+				{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: LAME doesn't know about your version (${GCC_version}) of gcc" >&5
+$as_echo "$as_me: WARNING: LAME doesn't know about your version (${GCC_version}) of gcc" >&2;}
+				;;
+			esac
+		fi
+		;;
+	*)
+		as_fn_error $? "bad value �${CONFIG_EXPOPT}� for expopt option" "$LINENO" 5
+		;;
+	esac
+
+
+	if test "x${HAVE_CLANG}" = "xyes"; then
+		case "${CLANG_VERSION}" in
+		3.89*|45.*)
+			OPTIMIZATION="-Ofast"
+			;;
+		*)
+			OPTIMIZATION="-O3"
+			;;
+		esac
+
+		# generic CPU specific options
+		case ${host_cpu} in
+		*486)
+			OPTIMIZATION="${OPTIMIZATION} -march=i486"
+			;;
+		*586)
+			OPTIMIZATION="${OPTIMIZATION} -march=i586 \
+				-mtune=native"
+			;;
+		*686)
+			OPTIMIZATION="${OPTIMIZATION} -march=i686 \
+				-mtune=native"
+			;;
+		*86)
+			OPTIMIZATION="${OPTIMIZATION} -march=native \
+				-mtune=native"
+			;;
+		esac
+
+	fi
+
+
+	if test "${expopt_msg_result_printed}" = "no" ; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${CONFIG_EXPOPT}" >&5
+$as_echo "${CONFIG_EXPOPT}" >&6; }
+	fi
+else
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for debug options" >&5
+$as_echo_n "checking for debug options... " >&6; }
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then :
+  enableval=$enable_debug; CONFIG_DEBUG="${enableval}"
+else
+  CONFIG_DEBUG="no"
+fi
+
+
+if test "x$GCC" = "xyes"; then
+	DEBUG_NORM_OPT="-O -g -Wall"
+	DEBUG_ANOYING="-Wbad-function-cast -Wcast-align \
+		-Wcast-qual -Wchar-subscripts -Wconversion \
+		-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
+		-Wredundant-decls -Wshadow -Wstrict-prototypes \
+		-Wwrite-strings -Winline \
+		-Wformat -Wswitch -Waggregate-return -Wmissing-noreturn \
+		-Wimplicit-int -fno-builtin"
+
+	case "${CONFIG_DEBUG}" in
+	no)
+		;;
+	norm|yes)
+
+$as_echo "#define ABORTFP 1" >>confdefs.h
+
+		OPTIMIZATION="${DEBUG_NORM_OPT}"
+		;;
+	anoying)
+
+$as_echo "#define ABORTFP 1" >>confdefs.h
+
+		OPTIMIZATION="${DEBUG_NORM_OPT} ${DEBUG_ANOYING}"
+		;;
+	alot)
+
+$as_echo "#define ABORTFP 1" >>confdefs.h
+
+
+$as_echo "#define DEBUG 1" >>confdefs.h
+
+		OPTIMIZATION="${DEBUG_NORM_OPT}"
+		;;
+	*)
+		as_fn_error $? "bad value �${CONFIG_DEBUG}� for debug option" "$LINENO" 5
+	esac
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${CONFIG_DEBUG}" >&5
+$as_echo "${CONFIG_DEBUG}" >&6; }
+else
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+##########################################################################
+# LINUX on Digital/Compaq Alpha CPUs
+##########################################################################
+case $host in
+alpha*-*-linux*)
+
+################################################################
+#### Check if 'ccc' is in our path
+################################################################
+if test "`which ccc 2>/dev/null | grep -c ccc`" != "0" ; then
+	# Compaq's C Compiler
+	CC=ccc
+
+################################################################
+#### set 'OPTIMIZATION = -arch host -tune host'
+####              to generate/tune instructions for this machine
+####     'OPTIMIZATION += -migrate -fast -inline speed -unroll 0'
+####              tweak to run as fast as possible :)
+####     'OPTIMIZATION += -w0'
+####              set warning and linking flags
+################################################################
+	OPTIMIZATION="-arch host -tune host"
+	OPTIMIZATION="-migrate -fast -inline speed -unroll 0 $OPTIMIZATION"
+	OPTIMIZATION="-w0 $OPTIMIZATION"
+
+
+################################################################
+#### to debug, uncomment
+################################################################
+	# For Debugging
+	#OPTIMIZATION="-g3 $OPTIMIZATION"
+
+################################################################
+#### define __DECALPHA__ (i was getting re-declaration warnings
+####   in machine.h
+################################################################
+	# Define DEC Alpha
+
+$as_echo "#define __DECALPHA__ 1" >>confdefs.h
+
+fi  #  gcc or ccc?
+;; # alpha
+
+
+##########################################################################
+# SunOS
+##########################################################################
+sparc-*-sunos4*)
+	if test CC = "cc"; then
+		OPTIMIZATION="-O -xCC"
+		MAKEDEP="-xM"
+		# for gcc, use instead:
+		#   CC="gcc"
+		#   OPTIMIZATION="-O"
+		#   MAKEDEP="-M"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Please contact lame@lists.sourceforge.net with the output of the configure run and the file config.cache. Thank you for your cooperation." >&5
+$as_echo "$as_me: WARNING: Please contact lame@lists.sourceforge.net with the output of the configure run and the file config.cache. Thank you for your cooperation." >&2;}
+	fi
+;; #SunOS
+
+##########################################################################
+# SGI
+##########################################################################
+*-sgi-irix*)
+	if test CC = "cc"; then
+		OPTIMIZATION="-O3 -woff all"
+	fi
+;; # SGI
+
+##########################################################################
+# Compaq Alpha running Dec Unix (OSF)
+##########################################################################
+alpha*-dec-osf*)
+	if test CC = "cc"; then
+		OPTIMIZATION="-fast -O3 -std -g3 -non_shared"
+	fi
+;; #OSF
+esac
+
+# todo: include the following tests in the case-list
+UNAME=`uname`
+ARCH=`uname -m`
+
+###########################################################################
+# MOSXS (Rhapsody PPC)
+###########################################################################
+if test "$UNAME" = "Rhapsody"; then
+#   CC="cc"   # should be handled already by autoconf
+   MAKEDEP="-make"
+fi
+
+###########################################################################
+# MAC OSX  Darwin PPC
+###########################################################################
+if test "$UNAME" = "Darwin"; then
+   MAKEDEP="-make"
+   CFLAGS="$CFLAGS -fno-common"
+fi
+
+
+##########################################################################
+# OS/2
+##########################################################################
+# Properly installed EMX runtime & development package is a prerequisite.
+# tools I used: make 3.76.1, uname 1.12, sed 2.05, PD-ksh 5.2.13
+#
+##########################################################################
+if test "$UNAME" = "OS/2"; then
+   SHELL=sh
+   #CC=gcc # should already be handled by configure
+
+   # file extension should already be handled by automake (I don't know,
+   # please  give feedback!
+   #FILE_EXTENSION=".exe"
+
+# Uncomment & inspect the GTK lines to use MP3x GTK frame analyzer.
+# Properly installed XFree86/devlibs & GTK+ is a prerequisite.
+# The following works for me using Xfree86/OS2 3.3.5 and GTK+ 1.2.3:
+#   AC_DEFINE(HAVE_GTK, 1, have GTK)
+#   AC_DEFINE(__ST_MT_ERRNO__, 1)
+#   INCLUDES="-IC:/XFree86/include/gtk12 -IC:/XFree86/include/glib12 \
+#             -IC:/XFree86/include $INCLUDES"
+#   FRONTEND_LDFLAGS="-LC:/XFree86/lib -lgtk12 -lgdk12 -lgmodule -lglib12 \
+#             -lXext -lX11 -lshm -lbsd -lsocket -lm $FRONTEND_LDFLAGS"
+#   FRONTEND_CFLAGS="-Zmtd -Zsysv-signals -Zbin-files $FRONTEND_CFLAGS"
+fi
+
+###########################################################################
+# AmigaOS
+###########################################################################
+# Type 'Make ARCH=PPC' for PowerUP and 'Make ARCH=WOS' for WarpOS
+#
+###########################################################################
+if test "$UNAME" = "AmigaOS" ; then
+	CC="gcc -noixemul"
+	OPTIMIZATION="$OPTIMIZATION -m68020-60 -m68881"
+	MAKEDEP="-MM"
+	if test "$ARCH" = "WOS"; then
+		CC="ppc-amigaos-gcc -warpup"
+		OPTIMIZATION="$OPTIMIZATION -mmultiple -mcpu=603e"
+		AR="ppc-amigaos-ar"
+		RANLIB="ppc-amigaos-ranlib"
+	fi
+	if test "$ARCH",PPC; then
+		CC="ppc-amigaos-gcc"
+		OPTIMIZATION="$OPTIMIZATION -mmultiple -mcpu=603e"
+		AR="ppc-amigaos-ar"
+		RANLIB="ppc-amigaos-ranlib"
+	fi
+fi
+
+
+CFLAGS="${OPTIMIZATION} ${CFLAGS}"
+LDADD="${LDADD}"
+FRONTEND_CFLAGS="${INCICONV} ${FRONTEND_CFLAGS}"
+FRONTEND_LDADD="${FRONTEND_LDADD} ${LTLIBICONV} ${CONFIG_MATH_LIB}"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_config_files="$ac_config_files Makefile libmp3lame/Makefile libmp3lame/i386/Makefile libmp3lame/vector/Makefile frontend/Makefile mpglib/Makefile doc/Makefile doc/html/Makefile doc/man/Makefile include/Makefile Dll/Makefile misc/Makefile dshow/Makefile ACM/Makefile ACM/ADbg/Makefile ACM/ddk/Makefile ACM/tinyxml/Makefile lame.spec mac/Makefile macosx/Makefile macosx/English.lproj/Makefile macosx/LAME.xcodeproj/Makefile vc_solution/Makefile"
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    if test "x$cache_file" != "x/dev/null"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+ if test -n "$EXEEXT"; then
+  am__EXEEXT_TRUE=
+  am__EXEEXT_FALSE='#'
+else
+  am__EXEEXT_TRUE='#'
+  am__EXEEXT_FALSE=
+fi
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+if test -z "${LIB_WITH_DECODER_TRUE}" && test -z "${LIB_WITH_DECODER_FALSE}"; then
+  as_fn_error $? "conditional \"LIB_WITH_DECODER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_XMM_TRUE}" && test -z "${WITH_XMM_FALSE}"; then
+  as_fn_error $? "conditional \"WITH_XMM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_VECTOR_TRUE}" && test -z "${WITH_VECTOR_FALSE}"; then
+  as_fn_error $? "conditional \"WITH_VECTOR\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_NASM_TRUE}" && test -z "${HAVE_NASM_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_NASM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by lame $as_me 3.100, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <lame-dev@lists.sf.net>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+lame config.status 3.100
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=?*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
+AR \
+AR_FLAGS \
+archiver_list_spec \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
+nm_file_list_spec \
+lt_cv_truncate_bin \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_pic \
+lt_prog_compiler_wl \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+MANIFEST_TOOL \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_separator \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib; do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postlink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+ac_aux_dir='$ac_aux_dir'
+
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+
+
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    RM='$RM'
+    ofile='$ofile'
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "libmp3lame/Makefile") CONFIG_FILES="$CONFIG_FILES libmp3lame/Makefile" ;;
+    "libmp3lame/i386/Makefile") CONFIG_FILES="$CONFIG_FILES libmp3lame/i386/Makefile" ;;
+    "libmp3lame/vector/Makefile") CONFIG_FILES="$CONFIG_FILES libmp3lame/vector/Makefile" ;;
+    "frontend/Makefile") CONFIG_FILES="$CONFIG_FILES frontend/Makefile" ;;
+    "mpglib/Makefile") CONFIG_FILES="$CONFIG_FILES mpglib/Makefile" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+    "doc/html/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;;
+    "doc/man/Makefile") CONFIG_FILES="$CONFIG_FILES doc/man/Makefile" ;;
+    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
+    "Dll/Makefile") CONFIG_FILES="$CONFIG_FILES Dll/Makefile" ;;
+    "misc/Makefile") CONFIG_FILES="$CONFIG_FILES misc/Makefile" ;;
+    "dshow/Makefile") CONFIG_FILES="$CONFIG_FILES dshow/Makefile" ;;
+    "ACM/Makefile") CONFIG_FILES="$CONFIG_FILES ACM/Makefile" ;;
+    "ACM/ADbg/Makefile") CONFIG_FILES="$CONFIG_FILES ACM/ADbg/Makefile" ;;
+    "ACM/ddk/Makefile") CONFIG_FILES="$CONFIG_FILES ACM/ddk/Makefile" ;;
+    "ACM/tinyxml/Makefile") CONFIG_FILES="$CONFIG_FILES ACM/tinyxml/Makefile" ;;
+    "lame.spec") CONFIG_FILES="$CONFIG_FILES lame.spec" ;;
+    "mac/Makefile") CONFIG_FILES="$CONFIG_FILES mac/Makefile" ;;
+    "macosx/Makefile") CONFIG_FILES="$CONFIG_FILES macosx/Makefile" ;;
+    "macosx/English.lproj/Makefile") CONFIG_FILES="$CONFIG_FILES macosx/English.lproj/Makefile" ;;
+    "macosx/LAME.xcodeproj/Makefile") CONFIG_FILES="$CONFIG_FILES macosx/LAME.xcodeproj/Makefile" ;;
+    "vc_solution/Makefile") CONFIG_FILES="$CONFIG_FILES vc_solution/Makefile" ;;
+
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp= ac_tmp=
+  trap 'exit_status=$?
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = ""
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$ac_tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	`' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&2;}
+
+  rm -f "$ac_tmp/stdin"
+  case $ac_file in
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+  if test x"$ac_file" != x-; then
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f "$ac_file"
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    fi
+  else
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
+  fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$_am_arg" : 'X\(//\)[^/]' \| \
+	 X"$_am_arg" : 'X\(//\)$' \| \
+	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Older Autoconf quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named 'Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running 'make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "$am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+ ;;
+    "libtool":C)
+
+    # See if we are running on zsh, and set the options that allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}"; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile=${ofile}T
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags=''
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method = "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
+# The archiver.
+AR=$lt_AR
+
+# Flags to create an archive.
+AR_FLAGS=$lt_AR_FLAGS
+
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+
+# The root where to search for dependent libraries,and where our libraries should be installed.
+lt_sysroot=$lt_sysroot
+
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test set != "${COLLECT_NAMES+set}"; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+
+ltmain=$ac_aux_dir/ltmain.sh
+
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+
+   mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+ ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+

+ 1265 - 0
configure.in

@@ -0,0 +1,1265 @@
+dnl $Id$
+dnl
+dnl
+dnl don't forget to set ASM_FOR_ARCH to a space delimited list of
+dnl processor architectures, for which assembler routines exist
+dnl
+dnl
+dnl Exported and configured variables:
+dnl CC
+dnl CFLAGS
+dnl LDFLAGS
+dnl LDADD
+dnl NASM
+
+dnl extra vars for frontend:
+dnl FRONTEND_LDFLAGS
+dnl FRONTEND_CFLAGS
+dnl FRONTEND_LDADD
+
+AC_PREREQ(2.69)
+AC_INIT([lame],[3.100],[lame-dev@lists.sf.net])
+AC_CONFIG_SRCDIR([libmp3lame/lame.c])
+AC_LANG([C])
+
+dnl check system
+AC_CANONICAL_HOST
+
+dnl automake
+AM_INIT_AUTOMAKE
+AC_CONFIG_HEADERS([config.h])
+AH_TOP([
+#ifndef LAME_CONFIG_H
+#define LAME_CONFIG_H
+])
+AH_BOTTOM([#endif /* LAME_CONFIG_H */])
+AM_MAINTAINER_MODE
+AM_MAKE_INCLUDE
+
+dnl check environment
+AC_AIX
+AC_ISC_POSIX
+AC_MINIX
+case $host_os in
+  *cygwin* ) CYGWIN=yes;;
+         * ) CYGWIN=no;;
+esac
+
+dnl libtool
+# AC_DISABLE_SHARED
+AC_PROG_LIBTOOL
+AC_SUBST(LIBTOOL_DEPS)
+CFLAGS="${ac_save_CFLAGS}"
+
+# increase this when the shared lib becomes totally incompatible
+LIB_MAJOR_VERSION=0
+
+# increase this when changes are made, but they are upward compatible
+# to previous versions
+LIB_MINOR_VERSION=0
+
+dnl # work around for a bug, don't know where it is exactly
+if test "${ac_cv_cygwin}" = "yes"; then
+	if test "${CC}" != "gcc"; then
+		AC_MSG_ERROR([Please use]
+			[   CC=gcc ./configure]
+			[Abort this configure run and add "CC=gcc" or you will]
+			[see errors and no lame.exe will be build.])
+	fi
+fi
+
+dnl check programs
+AC_PROG_CC()
+
+if test "x${GCC}" = "xyes"; then
+	AC_MSG_CHECKING(compiler)
+	COMPILER_TYPE="`${CC} --version | head -1 | sed -e '1,$s/version.*//g'`"
+	case "${COMPILER_TYPE}" in
+	*gcc*)
+		AC_MSG_RESULT(gcc)
+		HAVE_GCC=yes
+		HAVE_CLANG=no
+		;;
+	*clang*)
+		AC_MSG_RESULT(clang)
+		HAVE_CLANG=yes
+		HAVE_GCC=no
+		;;
+	*)
+		AC_MSG_RESULT(unknown)
+		HAVE_GCC=no
+		HAVE_CLANG=no
+		;;
+	esac
+
+	if test "${HAVE_GCC}" = "yes"; then
+		AC_MSG_CHECKING(version of GCC)
+		GCC_version="`${CC} --version | sed -n '1s/^[[^ ]]* (.*) //;s/ .*$//;1p'`"
+		case "${GCC_version}" in 
+		[0-9]*[0-9]*)
+			AC_MSG_RESULT(${GCC_version})
+			;;
+		*)
+			# probably not gcc...
+			AC_MSG_RESULT(unknown compiler version pattern, playing safe and disabling gcc optimisations... ${GCC_version})
+			HAVE_GCC=no
+			;;
+		esac
+	fi
+
+	if test "${HAVE_CLANG}" = "yes"; then
+		AC_MSG_CHECKING(version of clang)
+		CLANG_version="`${CC} --version | sed -n 's/.*clang version //;s/ .*$//;1p'`"
+		AC_MSG_RESULT(${CLANG_version})
+	fi
+fi
+
+
+
+AC_CHECK_HEADER(dmalloc.h)
+if test "${ac_cv_header_dmalloc_h}" = "yes"; then
+	AM_WITH_DMALLOC
+fi
+
+dnl Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS( \
+		 errno.h \
+		 fcntl.h \
+		 limits.h \
+		 stdint.h \
+		 string.h \
+		 sys/soundcard.h \
+		 sys/time.h \
+		 unistd.h \
+		 linux/soundcard.h)
+
+dnl Checks for actually working SSE intrinsics
+AC_MSG_CHECKING(working SSE intrinsics)
+AC_COMPILE_IFELSE(
+	[AC_LANG_PROGRAM(
+		[[#include <xmmintrin.h>]],
+		[[_mm_sfence();]])],
+	[AC_DEFINE([HAVE_XMMINTRIN_H], [1], [Define if SSE intrinsics work.])
+	 ac_cv_header_xmmintrin_h=yes],
+	[ac_cv_header_xmmintrin_h=no])
+AC_MSG_RESULT(${ac_cv_header_xmmintrin_h})
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_C_INLINE
+if test ${cross_compiling} = "no"; then
+	AC_C_BIGENDIAN
+fi
+
+AC_SYS_LARGEFILE
+
+AC_CHECK_SIZEOF(short)
+AC_CHECK_SIZEOF(unsigned short)
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(unsigned int)
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(unsigned long)
+AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(unsigned long long)
+AC_CHECK_SIZEOF(float)
+AC_CHECK_SIZEOF(double)
+
+if test $ac_cv_sizeof_short -eq 0 \
+    -o $ac_cv_sizeof_unsigned_short -eq 0 \
+    -o $ac_cv_sizeof_int -eq 0 \
+    -o $ac_cv_sizeof_unsigned_int -eq 0 \
+    -o $ac_cv_sizeof_long -eq 0 \
+    -o $ac_cv_sizeof_unsigned_long -eq 0 \
+    -o $ac_cv_sizeof_long_long -eq 0 \
+    -o $ac_cv_sizeof_unsigned_long_long -eq 0 \
+    -o $ac_cv_sizeof_float -eq 0 \
+    -o $ac_cv_sizeof_double -eq 0; then
+	echo '*** I have a problem determining the size of some variable types. Either'
+	echo '*** you compiler is broken, or your system+compiler combination is not'
+	echo '*** supportet by the "autoconf" framework we use to generate this'
+	echo '*** configure script.'
+	exit 1
+fi
+
+AC_C_LONG_DOUBLE
+if test "${ac_cv_c_have_long_double}" = "yes" ; then
+	AC_CHECK_SIZEOF(long double)
+fi
+
+AC_CHECK_TYPES([uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t])
+
+AH_VERBATIM([HAVE_UINT8_T],
+[/* add uint8_t type */
+#undef HAVE_UINT8_T
+#ifndef HAVE_UINT8_T
+	typedef unsigned char uint8_t;
+#endif])
+
+AH_VERBATIM([HAVE_INT8_T],
+[/* add int8_t type */
+#undef HAVE_INT8_T
+#ifndef HAVE_INT8_T
+	typedef char int8_t;
+#endif])
+
+AH_VERBATIM([HAVE_UINT16_T],
+[/* add uint16_t type */
+#undef HAVE_UINT16_T
+#ifndef HAVE_UINT16_T
+	typedef unsigned short uint16_t;
+#endif])
+
+AH_VERBATIM([HAVE_INT16_T],
+[/* add int16_t type */
+#undef HAVE_INT16_T
+#ifndef HAVE_INT16_T
+	typedef short int16_t;
+#endif])
+
+if test "${HAVE_INT32_T}" = yes; then
+	AC_DEFINE(A_UINT32_T,unsigned int32_t)
+else
+	if test "${ac_cv_sizeof_unsigned_short}" = "4"; then
+		AC_DEFINE(A_UINT32_T,unsigned short)
+	else
+		if test "${ac_cv_sizeof_unsigned_int}" = "4"; then
+			AC_DEFINE(A_UINT32_T,unsigned int)
+		else
+			if test "${ac_cv_sizeof_unsigned_long}" = "4"; then
+				AC_DEFINE(A_UINT32_T,unsigned long)
+			else
+				AC_MSG_ERROR([CHECK_TYPE_uint32_t - please report to lame-dev@lists.sourceforge.net])
+			fi
+		fi
+	fi
+fi
+
+AH_VERBATIM([HAVE_UINT32_T],
+[/* add uint32_t type */
+#undef HAVE_UINT32_T
+#ifndef HAVE_UINT32_T
+#undef A_UINT32_T
+	typedef A_UINT32_T uint32_t;
+#endif])
+
+if test "${ac_cv_sizeof_short}" = "4"; then
+	AC_DEFINE(A_INT32_T,short)
+else
+	if test "${ac_cv_sizeof_int}" = "4"; then
+		AC_DEFINE(A_INT32_T,int)
+	else
+		if test "${ac_cv_sizeof_long}" = "4"; then
+			AC_DEFINE(A_INT32_T,long)
+		else
+			AC_MSG_ERROR([CHECK_TYPE_int32_t - please report to lame-dev@lists.sourceforge.net])
+		fi
+	fi
+fi
+
+AH_VERBATIM([HAVE_INT32_T],
+[/* add int32_t type */
+#undef HAVE_INT32_T
+#ifndef HAVE_INT32_T
+#undef A_INT32_T
+	typedef A_INT32_T int32_t;
+#endif])
+
+if test "${HAVE_INT64_T}" = yes; then
+        AC_DEFINE(A_UINT64_T,unsigned int64_t)
+else
+	if test "${ac_cv_sizeof_unsigned_int}" = "8"; then
+		AC_DEFINE(A_UINT64_T,unsigned int)
+	else
+		if test "${ac_cv_sizeof_unsigned_long}" = "8"; then
+			AC_DEFINE(A_UINT64_T,unsigned long)
+		else
+			if test "${ac_cv_sizeof_unsigned_long_long}" = "8"; then
+				AC_DEFINE(A_UINT64_T,unsigned long long)
+			else
+				AC_MSG_ERROR([CHECK_TYPE_uint64_t - please report to lame-dev@lists.sourceforge.net])
+			fi
+		fi
+	fi
+fi
+
+AH_VERBATIM([HAVE_UINT64_T],
+[/* add uint64_t type */
+#undef HAVE_UINT64_T
+#ifndef HAVE_UINT64_T
+#undef A_UINT64_T
+	typedef A_UINT64_T uint64_t;
+#endif])
+
+if test "${ac_cv_sizeof_int}" = "8"; then
+	AC_DEFINE(A_INT64_T,int)
+else
+	if test "${ac_cv_sizeof_long}" = "8"; then
+		AC_DEFINE(A_INT64_T,long)
+	else
+		if test "${ac_cv_sizeof_long_long}" = "8"; then
+			AC_DEFINE(A_INT64_T,long long)
+		else
+			AC_MSG_ERROR([CHECK_TYPE_int64_t - please report to lame-dev@lists.sourceforge.net])
+		fi
+	fi
+fi
+
+AH_VERBATIM([HAVE_INT64_T],
+[/* add int64_t type */
+#undef HAVE_INT64_T
+#ifndef HAVE_INT64_T
+#undef A_INT64_T
+	typedef A_INT64_T int64_t;
+#endif])
+
+alex_IEEE854_FLOAT80
+if test "${alex_cv_ieee854_float80}" = "yes" ; then
+	if test "${ac_cv_c_long_double}" = "yes" ; then
+		AC_CHECK_TYPES(ieee854_float80_t, long double)
+		AH_VERBATIM([HAVE_IEEE854_FLOAT80_T],
+[/* add ieee854_float80_t type */
+#undef HAVE_IEEE854_FLOAT80_T
+#ifndef HAVE_IEEE854_FLOAT80_T
+	typedef long double ieee854_float80_t;
+#endif])
+
+		AC_DEFINE(HAVE_IEEE854_FLOAT80, 1, [system has 80 bit floats])
+	fi
+fi
+AC_CHECK_TYPES([ieee754_float64_t, ieee754_float32_t])
+
+AH_VERBATIM([HAVE_IEEE754_FLOAT64_T],
+[/* add ieee754_float64_t type */
+#undef HAVE_IEEE754_FLOAT64_T
+#ifndef HAVE_IEEE754_FLOAT64_T
+	typedef double ieee754_float64_t;
+#endif])
+
+AH_VERBATIM([HAVE_IEEE754_FLOAT32_T],
+[/* add ieee754_float32_t type */
+#undef HAVE_IEEE754_FLOAT32_T
+#ifndef HAVE_IEEE754_FLOAT32_T
+	typedef float ieee754_float32_t;
+#endif])
+
+AC_DEFINE(LAME_LIBRARY_BUILD, 1, [requested by Frank, seems to be temporary needed for a smooth transition])
+
+
+if test ${cross_compiling} = "yes"; then
+	AC_MSG_WARN([]
+  [**************************************************************************]
+  [*                                                                        *]
+  [* You are cross compiling:                                               *]
+  [*   - I did not have a change to determine                               *]
+  [*     + the size of:                                                     *]
+  [*       - short                                                          *]
+  [*       - unsigned short                                                 *]
+  [*       - int                                                            *]
+  [*       - unsigned int                                                   *]
+  [*       - long                                                           *]
+  [*       - unsigned long                                                  *]
+  [*       - float                                                          *]
+  [*       - double                                                         *]
+  [*       - long double                                                    *]
+  [*     + the endianess of the system                                      *]
+  [*   - You have to provide appropriate defines for them in config.h, e.g. *]
+  [*     + define SIZEOF_SHORT to 2 if the size of a short is 2             *]
+  [*     + define WORDS_BIGENDIAN if your system is a big endian system     *]
+  [*                                                                        *]
+  [**************************************************************************])
+fi
+
+AC_TYPE_SIZE_T
+AC_HEADER_TIME
+
+dnl Checks for library functions.
+AC_FUNC_ALLOCA
+AC_CHECK_FUNCS(gettimeofday strtol)
+
+if test "X${ac_cv_func_strtol}" != "Xyes"; then
+	AC_MSG_ERROR([function strtol is mandatory])
+fi
+
+dnl Check if we are on a mingw system, which needs libwsock32
+SOCKETFUNCTION=unknown
+AC_CHECK_FUNCS(socket)
+if test $ac_cv_func_socket = no; then
+	# maybe it is in libsocket
+	AC_CHECK_LIB(socket, socket, [AC_DEFINE(HAVE_SOCKET)
+	LIBS="$LIBS -lsocket"])
+	if test "X${ac_cv_lib_socket_socket}" != "Xyes"; then
+		SOCKETFUNCTION=NO
+	else
+		case ${host_os} in
+		*solaris*)
+			LIBS="$LIBS -lnsl"
+			;;
+		esac
+	fi
+fi
+
+dnl Initialize configuration variables for the Makefile
+CFLAGS=${CFLAGS}
+CONFIG_DEFS=${CONFIG_DEFS}
+NASM=
+INCLUDES="-I\$(top_srcdir)/include -I\$(srcdir)"
+FRONTEND_LDFLAGS=
+FRONTEND_CFLAGS=
+LIB_SOURCES=
+MAKEDEP="-M"
+RM_F="rm -f"
+
+AC_ARG_ENABLE(nasm,
+  [  --enable-nasm              Allow the use of nasm if available],
+  ASM_FOR_ARCH="i386", ASM_FOR_ARCH="")
+
+dnl Checks for libraries.
+
+AC_CHECK_HEADERS(termcap.h)
+AC_CHECK_HEADERS(ncurses/termcap.h)
+AC_CHECK_LIB(termcap, initscr, HAVE_TERMCAP="termcap")
+AC_CHECK_LIB(curses, initscr, HAVE_TERMCAP="curses")
+AC_CHECK_LIB(ncurses, initscr, HAVE_TERMCAP="ncurses")
+
+AM_ICONV
+
+dnl math lib
+AC_CHECK_LIB(m, cos, USE_LIBM="-lm")
+dnl free fast math library
+AC_CHECK_LIB(ffm, cos, USE_LIBM="-lffm -lm")
+dnl Compaq fast math library.
+AC_ARG_ENABLE(cpml,
+  [  --disable-cpml              Do not use Compaq's fast Math Library],
+  CONFIG_CPML="no", CONFIG_CPML="yes")
+if test "${CONFIG_CPML}" = yes; then
+      AC_CHECK_LIB(cpml, cos, USE_LIBM="-lcpml")
+fi
+CONFIG_MATH_LIB="${USE_LIBM}"
+
+dnl configure use of features
+
+AM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no")
+
+dnl ElectricFence malloc debugging
+AC_MSG_CHECKING(use of ElectricFence malloc debugging)
+AC_ARG_ENABLE(efence,
+  [  --enable-efence            Use ElectricFence for malloc debugging],
+  CONFIG_EFENCE="${enableval}", CONFIG_EFENCE="no")
+
+case "${CONFIG_EFENCE}" in
+yes)
+	AC_CHECK_LIB(efence, EF_Print, HAVE_EFENCE="-lefence")
+	if test "x${HAVE_EFENCE}" != "x-lefence"; then
+		AC_MSG_RESULT(yes, but libefence not found)
+	else
+		LDADD="${LDADD} ${HAVE_EFENCE}"
+		AC_DEFINE(HAVE_EFENCE, 1, we link against libefence)
+		AC_MSG_RESULT(${CONFIG_EFENCE})
+	fi
+	;;
+no)
+	AC_MSG_RESULT(${CONFIG_EFENCE})
+	;;
+*)
+	AC_MSG_ERROR(bad value �${CONFIG_EFENCE}� for efence option)
+	;;
+esac
+
+
+dnl libsndfile
+WARNING=
+AC_ARG_WITH(fileio,
+  [  --with-fileio=lame         Use lame's internal file io routines [default]]
+  [             =sndfile      Use Erik de Castro Lopo's libsndfile]
+  [                           (no stdin possible currently)],
+  CONFIG_FILEIO="${withval}", CONFIG_FILEIO="lame")
+
+if test "${CONFIG_FILEIO}" = "sndfile" ; then
+  PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.2, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
+fi
+
+AC_MSG_CHECKING(use of file io)
+
+if test "${CONFIG_FILEIO}" = "sndfile" ; then
+  if test "${HAVE_SNDFILE}" = "yes" -o "x${SNDFILE_LIBS}" != "x" \
+    -o "x${SNDFILE_CFLAGS}" != "x"; then
+    SNDFILE_LIBS=`echo ${SNDFILE_LIBS}`
+    SNDFILE_CFLAGS=`echo ${SNDFILE_CFLAGS}`
+
+    if test -n "${SNDFILE_LIBS}" ; then
+      FRONTEND_LDFLAGS="${SNDFILE_LIBS} ${FRONTEND_LDFLAGS}"
+    fi
+    FRONTEND_LDADD="-lsndfile ${FRONTEND_LDADD}"
+
+    if test -n "${SNDFILE_CFLAGS}" ; then
+      INCLUDES="${SNDFILE_CFLAGS} ${INCLUDES}"
+    fi
+
+    AC_DEFINE(LIBSNDFILE, 1, set to 1 if you have libsndfile)
+  else
+    # default
+    CONFIG_FILEIO="lame"
+    WARNING="${WARNING} Could not find any sndfile lib on system."
+  fi
+else
+  CONFIG_FILEIO="lame"
+fi
+AC_MSG_RESULT(${CONFIG_FILEIO})
+if test "x${WARNING}" != "x" ; then
+  AC_MSG_WARN($WARNING)
+fi
+
+
+dnl check if we should remove hooks for analyzer code in library
+dnl default library must include these hooks
+AC_MSG_CHECKING(use of analyzer hooks)
+AC_ARG_ENABLE(analyzer-hooks,
+  [  --disable-analyzer-hooks   Exclude analyzer hooks],
+  CONFIG_ANALYZER="${enableval}", CONFIG_ANALYZER="yes")
+
+case "${CONFIG_ANALYZER}" in
+yes)
+	;;
+no)
+	AC_DEFINE(NOANALYSIS, 1, build without hooks for analyzer)
+	;;
+*)
+	AC_MSG_ERROR(bad value �${CONFIG_ANALYZER}� for analyzer-hooks option)
+	;;
+esac
+AC_MSG_RESULT($CONFIG_ANALYZER)
+
+
+dnl mpg123 decoder
+AC_MSG_CHECKING(use of mpg123 decoder)
+AC_ARG_ENABLE(decoder,
+  [  --disable-decoder          Exclude mpg123 decoder],
+  CONFIG_DECODER="${enableval}", CONFIG_DECODER="yes")
+
+AM_CONDITIONAL(LIB_WITH_DECODER, test "x${CONFIG_DECODER}" = "xyes")
+
+if test "${CONFIG_DECODER}" != "no" ; then
+	CONFIG_DECODER="yes (Layer 1, 2, 3)"
+	AC_DEFINE(HAVE_MPGLIB, 1, build with mpglib support)
+	AC_DEFINE(DECODE_ON_THE_FLY, 1, allow to compute a more accurate replaygain value)
+fi
+AC_MSG_RESULT($CONFIG_DECODER)
+
+
+AC_MSG_CHECKING(if the lame frontend should be build)
+AC_ARG_ENABLE(frontend,
+  [  --disable-frontend         Do not build the lame executable [default=build]],
+    WITH_FRONTEND="${enableval}", WITH_FRONTEND=yes)
+if test "x${WITH_FRONTEND}" = "xyes"; then
+	WITH_FRONTEND=lame${ac_exeext}
+	AC_MSG_RESULT(yes)
+else
+	WITH_FRONTEND=
+	AC_MSG_RESULT(no)
+fi
+
+
+
+AC_MSG_CHECKING(if mp3x is requested)
+AC_ARG_ENABLE(mp3x,
+  [  --enable-mp3x              Build GTK frame analyzer [default=no]],
+    WITH_MP3X="${enableval}", WITH_MP3X=no)
+if test "x${WITH_MP3X}" = "xyes"; then
+	WITH_MP3X=mp3x${ac_exeext}
+	AC_MSG_RESULT(yes)
+else
+	WITH_MP3X=
+	AC_MSG_RESULT(no)
+fi
+
+if test "${HAVE_GTK}" = "no"; then
+	if test "x${WITH_MP3X}" = "xmp3x"; then
+		AC_MSG_WARN(can't build mp3x, no GTK installed)
+		WITH_MP3X=
+	fi
+	if test "x${CONFIG_ANALYZER}" != "xyes"; then
+		AC_MSG_WARN(can't build mp3x because of disabled analyzer hooks)
+		WITH_MP3X=
+	fi
+fi
+
+AC_MSG_CHECKING(if mp3rtp is requested)
+AC_ARG_ENABLE(mp3rtp,
+  [  --enable-mp3rtp            Build mp3rtp [default=no]],
+    WITH_MP3RTP="${enableval}", WITH_MP3RTP=no)
+if test "x${WITH_MP3RTP}" = "xyes"; then
+	if test ${SOCKETFUNCTION} = NO; then
+		AC_MSG_ERROR([function socket is mandatory for mp3rtp])
+	fi
+	WITH_MP3RTP=mp3rtp${ac_exeext}
+	AC_MSG_RESULT(yes)
+else
+	WITH_MP3RTP=
+	AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING(if dynamic linking of the frontends is requested)
+AC_ARG_ENABLE(dynamic-frontends,
+  [  --enable-dynamic-frontends Link frontends against shared libraries [default=no]],
+    FRONTEND_LDFLAGS="${FRONTEND_LDFLAGS}", FRONTEND_LDFLAGS="${FRONTEND_LDFLAGS} -static")
+case "x${FRONTEND_LDFLAGS}" in
+*-static*)
+	AC_MSG_RESULT(no)
+	;;
+*)
+	AC_MSG_RESULT(yes)
+	;;
+esac
+
+
+#
+# this is from vorbis
+#
+dnl check GLIBC
+case $host in
+*86-*-linux*)
+	# glibc < 2.1.3 has a serious FP bug in the math inline header
+	# that will cripple Vorbis.  Look to see if the magic FP stack
+	# clobber is missing in the mathinline header, thus indicating
+	# the buggy version
+
+	AC_EGREP_CPP(log10.*fldlg2.*fxch,[
+		#define __LIBC_INTERNAL_MATH_INLINES 1
+	     	#define __OPTIMIZE__
+		#include <math.h>
+		],bad=maybe,bad=no)
+
+	AC_MSG_CHECKING(glibc mathinline bug)
+	if test ${bad} = "maybe" ;then
+	      AC_EGREP_CPP(log10.*fldlg2.*fxch.*st\([[0123456789]]*\),
+				[
+				#define __LIBC_INTERNAL_MATH_INLINES 1
+			     	#define __OPTIMIZE__
+				#include <math.h>
+				],bad=no,bad=yes)
+	fi
+	AC_MSG_RESULT(${bad})
+	if test ${bad} = "yes" ;then
+ AC_MSG_WARN([                                                        ])
+ AC_MSG_WARN([********************************************************])
+ AC_MSG_WARN([* The glibc headers on this machine have a serious bug *])
+ AC_MSG_WARN([* in /usr/include/bits/mathinline.h  This bug affects  *])
+ AC_MSG_WARN([* all floating point code, not only LAME, but all code *])
+ AC_MSG_WARN([* built on this machine. Upgrading to glibc 2.1.3 is   *])
+ AC_MSG_WARN([* strongly urged to correct the problem.               *])
+ AC_MSG_WARN([*Note: that upgrading glibc will not fix any previously*])
+ AC_MSG_WARN([* built programs; this is a compile-time bug.          *])
+ AC_MSG_WARN([* To work around the problem for this build of LAME,   *])
+ AC_MSG_WARN([* autoconf is disabling all math inlining.  This will  *])
+ AC_MSG_WARN([* hurt LAME performace but is necessary for LAME to    *])
+ AC_MSG_WARN([* work correctly.  Once glibc is upgraded, rerun       *])
+ AC_MSG_WARN([* configure and make to build with inlining.           *])
+ AC_MSG_WARN([********************************************************])
+ AC_MSG_WARN([                                                        ])
+
+	AC_DEFINE(__NO_MATH_INLINES, 1, work around a glibc bug)
+	fi;;
+esac
+
+
+dnl configure use of VBR bitrate histogram
+dnl todo: always use yes as default, use simulation instead ?
+AC_MSG_CHECKING(for termcap)
+if test "x${HAVE_TERMCAP}" != "x"; then
+  FRONTEND_LDADD="-l${HAVE_TERMCAP} ${FRONTEND_LDADD}"
+  AC_DEFINE(HAVE_TERMCAP, 1, have termcap)
+  TERMCAP_DEFAULT="yes"
+else
+  TERMCAP_DEFAULT="no"
+fi
+AC_MSG_RESULT(${TERMCAP_DEFAULT})
+
+
+dnl ### processor specific options ###
+WITH_VECTOR=no
+case $host_cpu in
+x86_64|amd64)
+	CPUTYPE="no"
+	if test $ac_cv_header_xmmintrin_h = yes ; then
+		WITH_XMM=yes
+		WITH_VECTOR=yes
+	fi
+
+	AC_DEFINE(TAKEHIRO_IEEE754_HACK, 1, IEEE754 compatible machine)
+	AC_DEFINE(USE_FAST_LOG, 1, faster log implementation with less but enoug
+h precission)
+	;;
+*86)
+	CPUTYPE="i386"
+	if test $ac_cv_header_xmmintrin_h = yes ; then
+		WITH_XMM=yes
+		WITH_VECTOR=yes
+	fi
+
+	# use internal knowledge of the IEEE 754 layout
+	AC_DEFINE(TAKEHIRO_IEEE754_HACK, 1, IEEE754 compatible machine)
+	AC_DEFINE(USE_FAST_LOG, 1, faster log implementation with less but enough precission)
+	;;
+powerpc)
+	CPUTYPE="no"
+
+	# use internal knowledge of the IEEE 754 layout
+	AC_DEFINE(TAKEHIRO_IEEE754_HACK, 1, IEEE754 compatible machine)
+
+	# The following should not get enabled on a G5. HOWTO check for a G5?
+	AC_DEFINE(USE_FAST_LOG, 1, faster log implementation with less but enough precission)
+	;;
+*)
+	CPUTYPE="no"
+	;;
+esac
+
+# which vector code do we support to build on this machine?
+AM_CONDITIONAL(WITH_XMM, test "x${WITH_XMM}" = "xyes")
+
+# needs to be defined to link in the internal vector lib
+AM_CONDITIONAL(WITH_VECTOR, test "x${WITH_VECTOR}" = "xyes")
+AC_MSG_CHECKING(if I have to build the internal vector lib)
+AC_MSG_RESULT(${WITH_VECTOR})
+
+
+AC_PATH_PROG(NASM, nasm, no)
+case "${NASM}" in
+no)
+	;;
+*)
+	AC_MSG_CHECKING(for assembler routines for this processor type)
+	for recurse_over in ${ASM_FOR_ARCH}
+	do
+		if test "${CPUTYPE}" = "${recurse_over}"; then
+			include_asm_routines="yes"
+		fi
+
+		case $host_os in
+		*darwin*)
+			# currently we have problems because of a wrong
+			# libtool hack in the darwin case (for nasm code)
+			include_asm_routines="no"
+			;;
+		esac
+	done
+	if test "x${include_asm_routines}" = "xyes"; then
+		AC_DEFINE(HAVE_NASM, 1, have nasm)
+		AC_DEFINE(MMX_choose_table, 1, use MMX version of choose_table)
+	else
+		include_asm_routines="no"
+		NASM="no"
+	fi
+	AC_MSG_RESULT(${include_asm_routines})
+	;;
+esac
+AM_CONDITIONAL(HAVE_NASM, test "${NASM}" != "no")
+
+case $host_os in
+	*cygwin*|*mingw32*)
+		CYGWIN=yes
+		NASM_FORMAT="-f win32 -DWIN32"
+		;;
+	*darwin*)
+		NASM_FORMAT="-f macho"
+		;;
+	*)
+		CYGWIN=no
+		NASM_FORMAT="-f elf"
+		;;
+esac
+
+#
+# 'expopt' is used for "additional optimizations", not for optimizations which
+# are marked as "experimental" in the guide for the compiler.
+# They are "experimental" here in the LAME project (at least
+# "--enable-expopt=full").
+#
+AC_MSG_CHECKING(for additional optimizations)
+AC_ARG_ENABLE(expopt,
+  [  --enable-expopt=full,norm  Whether to enable experimental optimizations]
+  [                           [default=no]],
+    CONFIG_EXPOPT="${enableval}", CONFIG_EXPOPT="no")
+
+if test "x$HAVE_GCC" = "xyes" -o "x$HAVE_CLANG" = "xyes"; then
+	# gcc defaults. OS specific options go in versious sections below
+	# from the gcc man pages:  "there is no reason to use -pedantic"
+	if test "x${with_gnu_ld}" = "xyes"; then
+		CFLAGS="-Wall -pipe ${CFLAGS}"
+	else
+		# some vendor ld's don't like '-pipe'
+		CFLAGS="-Wall ${CFLAGS}"
+	fi
+
+	# GCC version specific generic options
+	if test "x${HAVE_GCC}" = "xyes"; then
+		case "${GCC_version}" in
+		2.96*)
+        		# for buggy version of gcc shipped with RH7.1, back of on some
+        		# optimizations
+        		OPTIMIZATION="-O -fomit-frame-pointer -ffast-math \
+				-funroll-loops"
+			OPTIMIZATION_FULL="-fmove-all-movables -freduce-all-givs \
+				-fsched-interblock -fbranch-count-reg -fforce-addr \
+				-fforce-mem"
+        		;;
+		3.0*)
+			# -funroll-loops seems to produce buggy code with gcc 3.0.3
+			OPTIMIZATION="-O -fomit-frame-pointer -ffast-math"
+			OPTIMIZATION_FULL="-fmove-all-movables -freduce-all-givs \
+				-fbranch-count-reg -fforce-addr -fforce-mem"
+			;;
+		3.*|4.0.*|4.1.*)
+			# -fomit-frame-pointer seems to be buggy on cygwin
+			case ${host_os} in
+			*cygwin*)
+				OMIT_FRAME_POINTER=
+				;;
+			*)
+				OMIT_FRAME_POINTER=-fomit-frame-pointer
+				;;
+			esac
+	
+			OPTIMIZATION="-O3 ${OMIT_FRAME_POINTER} -ffast-math"
+			OPTIMIZATION_FULL="-fmove-all-movables -freduce-all-givs \
+				-fbranch-count-reg -fforce-addr -fforce-mem"
+			;;
+		[456789].*)
+			OPTIMIZATION="-O3 -fomit-frame-pointer -ffast-math"
+			OPTIMIZATION_FULL="-fbranch-count-reg -fforce-addr"
+			;;
+		*)
+			# default
+			OPTIMIZATION="-O3 ${OMIT_FRAME_POINTER} -ffast-math \
+				-funroll-loops"
+			OPTIMIZATION_FULL="-fbranch-count-reg -fforce-addr"
+			;;
+		esac
+
+		# GCC version independend generic options
+		OPTIMIZATION_NORM="-fschedule-insns2"
+	fi
+
+
+	# generic CPU specific options
+	case ${host_cpu} in
+	sparc)
+		case "${GCC_version}" in
+		3.0*)
+			;;
+		[3456789].*)
+			# doesn't work on 3.0.x, but on 3.[12] and
+			# hopefully on every other release after that too
+			if test -x /usr/bin/isalist; then
+				/usr/bin/isalist | grep sparcv8plus \
+					>/dev/null 2>&1 && \
+					OPTIMIZATION="${OPTIMIZATION} \
+						-mcpu=ultrasparc \
+						-mtune=ultrasparc"
+			fi
+			;;
+		esac
+		;;
+	*86)
+		case "${GCC_version}" in
+		[3456789].*)
+			OPTIMIZATION="${OPTIMIZATION} \
+				-maccumulate-outgoing-args"
+			;;
+		esac
+		;;
+	esac
+
+	expopt_msg_result_printed=no
+	case "${CONFIG_EXPOPT}" in
+	no)
+		# if someone supplies own CFLAGS, we don't add our own
+		if test "x${ac_save_CFLAGS}" != "x"; then
+			OPTIMIZATION=""
+		fi
+		;;
+	norm|yes)
+		OPTIMIZATION="${OPTIMIZATION} ${OPTIMIZATION_NORM}"
+		;;
+	full)
+		OPTIMIZATION="${OPTIMIZATION} ${OPTIMIZATION_NORM} \
+			${OPTIMIZATION_FULL}"
+
+		if test "${HAVE_GCC}" = "yes"; then
+			# some hardware dependend options
+			case "${GCC_version}" in
+			2.9*|3.*|4.0.*|4.1.*)
+				# "new" GCC, use some "new" CPU specific optimizations
+				# use -mtune instead of -m486 or -mcpu= etc, since they are
+				# deprecated by GCC <rbrito>
+				case ${host_cpu} in
+				*486)
+					OPTIMIZATION="${OPTIMIZATION} -mcpu=i486 \
+						-mfancy-math-387"
+					;;
+				*586)
+					OPTIMIZATION="${OPTIMIZATION} -mcpu=pentium \
+						-march=pentium -mfancy-math-387"
+					;;
+				*686)
+					OPTIMIZATION="${OPTIMIZATION} -mcpu=pentiumpro \
+						-march=pentiumpro -mfancy-math-387 \
+						-malign-double"
+					;;
+				*86)
+					OPTIMIZATION="${OPTIMIZATION} -mfancy-math-387"
+					;;
+				alpha*)
+					OPTIMIZATION="${OPTIMIZATION} -mfp-regs"
+					AC_DEFINE(FLOAT, double, double is faster than float on Alpha)
+					# add "-mcpu=21164a -Wa,-m21164a" to optimize
+					# for 21164a (ev56) CPU
+					;;
+				*)
+					OPTIMIZATION="${OPTIMIZATION} -fdelayed-branch"
+					;;
+				esac
+				;;
+			[456789].*)
+				case ${host_cpu} in
+				*486)
+					OPTIMIZATION="${OPTIMIZATION} -march=i486"
+					;;
+				*586)
+					OPTIMIZATION="${OPTIMIZATION} -march=i586 \
+						-mtune=native"
+					;;
+				*686)
+					OPTIMIZATION="${OPTIMIZATION} -march=i686 \
+						-mtune=native"
+					;;
+				*86)
+					OPTIMIZATION="${OPTIMIZATION} -march=native \
+						-mtune=native"
+					;;
+				arm*-gnueabi)
+					if [ -z "$(echo ${GCC_version} | awk '/4\.0/')" ]; then
+						# Work round buggy softfloat optimization in ARM EABI compilers
+						# -gnueabi in only gcc-4.1 onwards
+						OPTIMIZATION="${OPTIMIZATION} -fno-finite-math-only"
+					fi
+					;;
+				esac
+				;;
+			*)
+				# no special optimization for other versions
+				AC_MSG_RESULT(no)
+				expopt_msg_result_printed=yes
+				AC_MSG_WARN(LAME doesn't know about your version (${GCC_version}) of gcc, please report it to lame-dev@lists.sourceforge.net. Please make sure you try the latest LAME version first!)
+				;;
+			esac
+		fi
+		;;
+	*)
+		AC_MSG_ERROR(bad value �${CONFIG_EXPOPT}� for expopt option)
+		;;
+	esac
+
+
+	if test "x${HAVE_CLANG}" = "xyes"; then
+		case "${CLANG_VERSION}" in
+		3.[89]*|[45].*)
+			OPTIMIZATION="-Ofast"
+			;;
+		*)
+			OPTIMIZATION="-O3"
+			;;
+		esac
+
+		# generic CPU specific options
+		case ${host_cpu} in
+		*486)
+			OPTIMIZATION="${OPTIMIZATION} -march=i486"
+			;;
+		*586)
+			OPTIMIZATION="${OPTIMIZATION} -march=i586 \
+				-mtune=native"
+			;;
+		*686)
+			OPTIMIZATION="${OPTIMIZATION} -march=i686 \
+				-mtune=native"
+			;;
+		*86)
+			OPTIMIZATION="${OPTIMIZATION} -march=native \
+				-mtune=native"
+			;;
+		esac
+
+	fi
+
+
+	if test "${expopt_msg_result_printed}" = "no" ; then
+		AC_MSG_RESULT(${CONFIG_EXPOPT})
+	fi
+else
+	AC_MSG_RESULT(no)
+fi
+
+
+
+
+
+AC_MSG_CHECKING(for debug options)
+AC_ARG_ENABLE(debug,
+  [  --enable-debug=alot,norm   Enable debugging (disables optimizations)]
+  [                           [default=no]],
+    CONFIG_DEBUG="${enableval}", CONFIG_DEBUG="no")
+
+if test "x$GCC" = "xyes"; then
+	DEBUG_NORM_OPT="-O -g -Wall"
+	DEBUG_ANOYING="-Wbad-function-cast -Wcast-align \
+		-Wcast-qual -Wchar-subscripts -Wconversion \
+		-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
+		-Wredundant-decls -Wshadow -Wstrict-prototypes \
+		-Wwrite-strings -Winline \
+		-Wformat -Wswitch -Waggregate-return -Wmissing-noreturn \
+		-Wimplicit-int -fno-builtin"
+
+	case "${CONFIG_DEBUG}" in
+	no)
+dnl	Comment out the NDEBUG on release build, they check for issues
+dnl	which should also be rejected in a release build.
+dnl	The real solution would be to do user friendly error messages
+dnl	instead of a core dump. This is a quick and user-unfriendly fix.
+dnl		AC_DEFINE(NDEBUG, 1, no debug build)
+		;;
+	norm|yes)
+		AC_DEFINE(ABORTFP, 1, debug define)
+		OPTIMIZATION="${DEBUG_NORM_OPT}"
+		;;
+	anoying)
+		AC_DEFINE(ABORTFP, 1, debug define)
+		OPTIMIZATION="${DEBUG_NORM_OPT} ${DEBUG_ANOYING}"
+		;;
+	alot)
+		AC_DEFINE(ABORTFP, 1, debug define)
+		AC_DEFINE(DEBUG, 1, alot of debug output)
+		OPTIMIZATION="${DEBUG_NORM_OPT}"
+		;;
+	*)
+		AC_MSG_ERROR(bad value �${CONFIG_DEBUG}� for debug option)
+	esac
+
+	AC_MSG_RESULT(${CONFIG_DEBUG})
+else
+	AC_MSG_RESULT(no)
+fi
+
+
+
+dnl ###  system specific options  ###
+
+##########################################################################
+# LINUX on Digital/Compaq Alpha CPUs
+##########################################################################
+case $host in
+alpha*-*-linux*)
+
+################################################################
+#### Check if 'ccc' is in our path
+################################################################
+if test "`which ccc 2>/dev/null | grep -c ccc`" != "0" ; then
+	# Compaq's C Compiler
+	CC=ccc
+
+################################################################
+#### set 'OPTIMIZATION = -arch host -tune host'
+####              to generate/tune instructions for this machine
+####     'OPTIMIZATION += -migrate -fast -inline speed -unroll 0'
+####              tweak to run as fast as possible :)
+####     'OPTIMIZATION += -w0'
+####              set warning and linking flags
+################################################################
+	OPTIMIZATION="-arch host -tune host"
+	OPTIMIZATION="-migrate -fast -inline speed -unroll 0 $OPTIMIZATION"
+	OPTIMIZATION="-w0 $OPTIMIZATION"
+
+
+################################################################
+#### to debug, uncomment
+################################################################
+	# For Debugging
+	#OPTIMIZATION="-g3 $OPTIMIZATION"
+
+################################################################
+#### define __DECALPHA__ (i was getting re-declaration warnings
+####   in machine.h
+################################################################
+	# Define DEC Alpha
+	AC_DEFINE(__DECALPHA__, 1, we're on DEC Alpha)
+fi  #  gcc or ccc?
+;; # alpha
+
+
+##########################################################################
+# SunOS
+##########################################################################
+sparc-*-sunos4*)
+	if test CC = "cc"; then
+		OPTIMIZATION="-O -xCC"
+		MAKEDEP="-xM"
+		# for gcc, use instead:
+		#   CC="gcc"
+		#   OPTIMIZATION="-O"
+		#   MAKEDEP="-M"
+AC_MSG_WARN([Please contact lame@lists.sourceforge.net with the output of the configure run and the file config.cache. Thank you for your cooperation.])
+	fi
+;; #SunOS
+
+##########################################################################
+# SGI
+##########################################################################
+*-sgi-irix*)
+	if test CC = "cc"; then
+		OPTIMIZATION="-O3 -woff all"
+	fi
+;; # SGI
+
+##########################################################################
+# Compaq Alpha running Dec Unix (OSF)
+##########################################################################
+alpha*-dec-osf*)
+	if test CC = "cc"; then
+		OPTIMIZATION="-fast -O3 -std -g3 -non_shared"
+	fi
+;; #OSF
+esac
+
+# todo: include the following tests in the case-list
+UNAME=`uname`
+ARCH=`uname -m`
+
+###########################################################################
+# MOSXS (Rhapsody PPC)
+###########################################################################
+if test "$UNAME" = "Rhapsody"; then
+#   CC="cc"   # should be handled already by autoconf
+   MAKEDEP="-make"
+fi
+
+###########################################################################
+# MAC OSX  Darwin PPC
+###########################################################################
+if test "$UNAME" = "Darwin"; then
+   MAKEDEP="-make"
+   CFLAGS="$CFLAGS -fno-common"
+fi
+
+
+##########################################################################
+# OS/2
+##########################################################################
+# Properly installed EMX runtime & development package is a prerequisite.
+# tools I used: make 3.76.1, uname 1.12, sed 2.05, PD-ksh 5.2.13
+#
+##########################################################################
+if test "$UNAME" = "OS/2"; then
+   SHELL=sh
+   #CC=gcc # should already be handled by configure
+
+   # file extension should already be handled by automake (I don't know,
+   # please  give feedback!
+   #FILE_EXTENSION=".exe"
+
+# Uncomment & inspect the GTK lines to use MP3x GTK frame analyzer.
+# Properly installed XFree86/devlibs & GTK+ is a prerequisite.
+# The following works for me using Xfree86/OS2 3.3.5 and GTK+ 1.2.3:
+#   AC_DEFINE(HAVE_GTK, 1, have GTK)
+#   AC_DEFINE(__ST_MT_ERRNO__, 1)
+#   INCLUDES="-IC:/XFree86/include/gtk12 -IC:/XFree86/include/glib12 \
+#             -IC:/XFree86/include $INCLUDES"
+#   FRONTEND_LDFLAGS="-LC:/XFree86/lib -lgtk12 -lgdk12 -lgmodule -lglib12 \
+#             -lXext -lX11 -lshm -lbsd -lsocket -lm $FRONTEND_LDFLAGS"
+#   FRONTEND_CFLAGS="-Zmtd -Zsysv-signals -Zbin-files $FRONTEND_CFLAGS"
+fi
+
+###########################################################################
+# AmigaOS
+###########################################################################
+# Type 'Make ARCH=PPC' for PowerUP and 'Make ARCH=WOS' for WarpOS
+#
+###########################################################################
+if test "$UNAME" = "AmigaOS" ; then
+	CC="gcc -noixemul"
+	OPTIMIZATION="$OPTIMIZATION -m68020-60 -m68881"
+	MAKEDEP="-MM"
+	if test "$ARCH" = "WOS"; then
+		CC="ppc-amigaos-gcc -warpup"
+		OPTIMIZATION="$OPTIMIZATION -mmultiple -mcpu=603e"
+		AR="ppc-amigaos-ar"
+		RANLIB="ppc-amigaos-ranlib"
+	fi
+	if test "$ARCH",PPC; then
+		CC="ppc-amigaos-gcc"
+		OPTIMIZATION="$OPTIMIZATION -mmultiple -mcpu=603e"
+		AR="ppc-amigaos-ar"
+		RANLIB="ppc-amigaos-ranlib"
+	fi
+fi
+
+
+CFLAGS="${OPTIMIZATION} ${CFLAGS}"
+LDADD="${LDADD}"
+FRONTEND_CFLAGS="${INCICONV} ${FRONTEND_CFLAGS}"
+FRONTEND_LDADD="${FRONTEND_LDADD} ${LTLIBICONV} ${CONFIG_MATH_LIB}"
+
+
+AC_SUBST(INCLUDES)
+
+AC_SUBST(FRONTEND_LDFLAGS)
+AC_SUBST(FRONTEND_CFLAGS)
+AC_SUBST(FRONTEND_LDADD)
+AC_SUBST(CONFIG_MATH_LIB)
+AC_SUBST(LDADD)
+
+AC_SUBST(LIB_MAJOR_VERSION)
+AC_SUBST(LIB_MINOR_VERSION)
+
+AC_SUBST(NASM)
+AC_SUBST(NASM_FORMAT)
+
+AC_SUBST(MAKEDEP)
+AC_SUBST(RM_F)
+
+AC_SUBST(LIBTOOL_DEPS)
+
+AC_SUBST(WITH_FRONTEND)
+AC_SUBST(WITH_MP3X)
+AC_SUBST(WITH_MP3RTP)
+
+AC_SUBST(CPUTYPE)
+AC_SUBST(CPUCCODE)
+
+AC_SUBST(CONFIG_DEFS)
+
+AC_CONFIG_FILES([Makefile \
+		 libmp3lame/Makefile \
+		 libmp3lame/i386/Makefile \
+		 libmp3lame/vector/Makefile \
+		 frontend/Makefile \
+		 mpglib/Makefile \
+		 doc/Makefile \
+		 doc/html/Makefile \
+		 doc/man/Makefile \
+		 include/Makefile \
+		 Dll/Makefile \
+		 misc/Makefile \
+		 dshow/Makefile \
+		 ACM/Makefile \
+		 ACM/ADbg/Makefile \
+		 ACM/ddk/Makefile \
+		 ACM/tinyxml/Makefile \
+		 lame.spec \
+		 mac/Makefile \
+		 macosx/Makefile \
+		 macosx/English.lproj/Makefile \
+		 macosx/LAME.xcodeproj/Makefile \
+		 vc_solution/Makefile])
+
+AC_OUTPUT

+ 20 - 0
debian/Makefile.am

@@ -0,0 +1,20 @@
+## $Id$
+
+include $(top_srcdir)/Makefile.am.global
+
+EXTRA_DIST = \
+	changelog \
+	compat \
+	control \
+	copyright \
+	libmp3lame-dev.install \
+	libmp3lame0.install \
+	lame.docs \
+	lame.install \
+	lame.manpages \
+	rules \
+	watch
+
+dist-hook:
+	chmod +x $(distdir)/rules
+

+ 405 - 0
debian/Makefile.in

@@ -0,0 +1,405 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# global section for every Makefile.am
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/Makefile.am.global
+subdir = debian
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_DEFS = @CONFIG_DEFS@
+CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPUCCODE = @CPUCCODE@
+CPUTYPE = @CPUTYPE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
+FRONTEND_LDADD = @FRONTEND_LDADD@
+FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_CONFIG = @GTK_CONFIG@
+GTK_LIBS = @GTK_LIBS@
+INCLUDES = @INCLUDES@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDADD = @LDADD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
+LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEDEP = @MAKEDEP@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NASM = @NASM@
+NASM_FORMAT = @NASM_FORMAT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RM_F = @RM_F@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+STRIP = @STRIP@
+U = @U@
+VERSION = @VERSION@
+WITH_FRONTEND = @WITH_FRONTEND@
+WITH_MP3RTP = @WITH_MP3RTP@
+WITH_MP3X = @WITH_MP3X@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = 1.11 foreign $(top_srcdir)/ansi2knr
+EXTRA_DIST = \
+	changelog \
+	compat \
+	control \
+	copyright \
+	libmp3lame-dev.install \
+	libmp3lame0.install \
+	lame.docs \
+	lame.install \
+	lame.manpages \
+	rules \
+	watch
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign debian/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign debian/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	dist-hook distclean distclean-generic distclean-libtool \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	uninstall uninstall-am
+
+
+# end global section
+
+dist-hook:
+	chmod +x $(distdir)/rules
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

+ 277 - 0
debian/changelog

@@ -0,0 +1,277 @@
+lame (3.99~cvs20110302) UNRELEASED; urgency=low
+
+  * New update of the debian infra-structure.
+  * debian/rules:
+    + Transition to the short debhelper 7 format.
+    + Use the --parallel flag so that building in parallel is supported.
+  * debian/control:
+    + Rewrap the Build-Depends field for legibility.
+    + Change B-D on nasm to allow any i386 platform (no amd64, though).
+    + Update the B-D on debhelper to >= 7.0.50~, as we use overrides in
+      debian/rules.
+    + Fix lintian's debhelper-but-no-misc-depends from the binary packages.
+    + Remove unused Conflicts: and Replaces: fields.
+    + Verified that the packaging conforms to the Policy version 3.9.1.
+  * debian/changelog:
+    + Put my SF email or we get warnings from lintian.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Wed, 02 Mar 2011 13:31:29 -0300
+
+lame (3.99~cvs20091122) unstable; urgency=low
+
+  * Update based on many suggestions by Fabian Greffrath.
+  * debian/compat: update to 7.
+  * debian/control:
+    + remame libmp3lame0-dev to libmp3lame-dev.
+    + remove dependency on libc6-dev from libmp3lame-dev.
+    + bump dependency on debhelper to 7.
+    + bump Standards-Version to 3.8.0.
+  * debian/libmp3lame0-dev.files: rename to libmp3lame-dev.files.
+  * debian/*.files: rename to *.install.
+  * debian/rules:
+    + replace obsolete dh_clean -k with dh_prep.
+    + substitute the use of dh_movefiles with dh_install.
+    + changed the *FLAGS variables to use appends, not attributions.
+    + include options -O1, -z,defs for the linker.
+    + no need to pass options to dh_installman.
+    + no need to pass options to dh_installchangelogs.
+  * Initial transition to source format "3.0 (quilt)".
+
+ -- Rogério Brito <rbrito@users.sf.net>  Sun, 22 Nov 2009 19:19:39 -0200
+
+lame (3.99~cvs20090419) unstable; urgency=low
+
+  * Updating the packaging of lame.
+  * debian/control: include autotools-dev as a build dependency.
+  * debian/rules:
+    + made use of autotools-dev.
+    + remove switch --without-vorbis.
+    + substituted `pwd` by $(CURDIR).
+  * debian/watch: also consider versions with a letter in them.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Sun, 19 Apr 2009 20:20:27 -0300
+
+lame (3.99~cvs20081106) unstable; urgency=low
+
+  * changes are now (mostly) committed to changelog.
+  * debian/rules: include -Wl,--as-needed for the loader at compile time.
+  * debian/rules: remove (not needed) hack for rpath (Tks Fabian Greffrath).
+  * debian/control: depend libsndfile1-dev (Tks Fabian Greffrath).
+  * debian/control: get rid of transitional liblame0.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Sat, 12 Jul 2008 09:14:54 -0300
+
+lame (3.98) unstable; urgency=low
+
+  * Preparation for the final release.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Sun, 29 Jun 2008 18:29:09 -0300
+
+lame (3.98~beta8+cvs20080624) unstable; urgency=low
+
+  * Preparation for the new upstream release (lame 3.98 final).
+  * debian/control: eliminate build dependency on gtk1.2-dev.
+  * debian/rules: include -Wextra in the CFLAGS variable.
+  * debian/rules: explicitly disable some features from the build.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Tue, 24 Jun 2008 15:16:22 -0300
+
+lame (3.98~beta8+cvs20080514) unstable; urgency=low
+
+  * Fixing debian packaging details.
+  * debian/rules: put detection of architectures for cross-compilation.
+  * debian/rules: included support for noopt option.
+  * debian/rules: take more care of building everything under debian/tmp.
+  * debian/control: updated to Standards-Version 3.7.3 (no changes).
+  * debian/control: put correctly Conflicts: and Replaces in libmp3lame0{,-dev}.
+  * debian/lame.docs: remove TODO and sort by name.
+  * debian/libmp3lame0-dev.docs: include TODO.
+  * debian/libmp3lame0-dev: include liblame0.so in the package.
+  * debian/watch: include watchfile.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Wed, 14 May 2008 01:44:46 -0300
+
+lame (3.98~alpha1) unstable; urgency=low
+
+  * New upstream release with various improvements;
+  * Use libsndfile for input files;
+  * Remove the parts that depend on gtk-1.2;
+  * debian/rules: remove the DH_COMPAT variable;
+  * debian/control: use ${binary:Version} to be up-to-date;
+  * debian/control: use debhelper version >= 5;
+	
+ -- Rogério Brito <rbrito@users.sf.net>  Wed, 09 Jan 2008 17:12:19 -0200
+
+lame (3.98~alpha0) unstable; urgency=low
+
+  * debian/copyright: updated FSF real address;
+  * debian/rules: small fixes;
+  * doc/man/lame.1: used accented characters in troff format.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Mon, 10 Oct 2005 03:33:31 -0300
+
+lame (3.97-8) unstable; urgency=low
+
+  * debian/rules: enable full optimization, now that it works with GCC 4.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Mon,  5 Sep 2005 01:24:44 -0300
+
+lame (3.97-7) unstable; urgency=low
+
+  * debian/control: make libmp3lame0 provide and replace liblame0.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Tue, 16 Aug 2005 04:36:46 -0300
+
+lame (3.97-6) unstable; urgency=low
+
+  * debian/control: make libmp3lame0 provide liblame0 for legacy apps;
+  * debian/control: fix typo in description of libmp3lame0-dev;
+  * debian/libmp3lame0-dev.files: don't ship shared libraries.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Tue, 16 Aug 2005 04:03:42 -0300
+
+lame (3.97-5) unstable; urgency=low
+
+  * debian/control: fix use of SONAME in the package;
+  * debian/liblame0.*: renamed to libmp3lame0.* as per above;
+  * debian/liblame-dev: idem;
+  * debian/rules: incorporate some changes by Christian Marillat.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Mon, 15 Aug 2005 00:47:25 -0300
+
+lame (3.97-4) unstable; urgency=low
+
+  * debian/control: exclude libsndfile0-dev as a build dependency.
+  * debian/control: include libgtk1.2-dev as a build dependency.
+  * debian/rules: s/--with-fileio=sndfile/--with-fileio=lame/, since
+    grabbing input from stdin is a very important feature.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Fri,  5 Aug 2005 02:01:40 -0300
+
+lame (3.97-3) unstable; urgency=low
+
+  * doc/man/lame.1: document the --{un,}signed options.
+  * doc/man/lame.1: document the --{big,little}-endian options.
+  * debian/control: include libsndfile0-dev as a build dependency.
+  * debian/rules: s/--with-fileio=lame/--with-fileio=sndfile/ .
+	
+ -- Rogério Brito <rbrito@users.sf.net>  Wed,  3 Aug 2005 21:35:17 -0300
+
+lame (3.97-2) unstable; urgency=low
+
+  * debian/rules: use dh_installman instead of dh_installmanpages.
+  * doc/man/lame.1: escape minus signals with backslash.
+	
+ -- Rogério Brito <rbrito@users.sf.net>  Wed, 27 Jul 2005 04:58:39 -0300
+
+lame (3.97-1) unstable; urgency=low
+
+  * Preparation for the beta release of lame 3.97.
+  * Still more improvements to come.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Tue, 26 Jul 2005 18:16:34 -0300
+
+lame (3.97-0.2) unstable; urgency=low
+
+  * Fixed debian/control according to the Debian Library Packaging Guide
+
+ -- Jack Bates <ms419@freezone.co.uk>  Thu, 12 May 2005 13:41:28 -0700
+
+lame (3.97-0.1) unstable; urgency=low
+
+  * Preparation for new upstream release.
+  * debian/control: modified short descriptions to be lower case.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Fri, 18 Mar 2005 01:18:42 -0300
+
+lame (3.96-0.1) unstable; urgency=low
+ 
+  * Update debian packaging for lame 3.96
+ 
+ -- Geoffrey T. Dairiki <dairiki@dairiki.org>  Fri, 9 Apr 2004 10:28:12 -0700
+
+lame (3.94-0.1) unstable; urgency=low
+
+  * Update packaging for lame 3.94 alpha 14;
+  * Made progress to make the package as lintian-clean as possible:
+  * debian/copyright: removed the traces of the skeleton file;
+  * debian/rules: avoid using --host, as per warning of ./configure;
+  * debian/rules: use trick to avoind generating a library with rpath;
+  * debian/lame.docs: avoid generating duplicate html documentation;
+  * debian/control: added dependency on debhelper >= 3;
+  * still more work left, but progressing anyway (i.e., changes listed in
+    /usr/share/doc/debian-policy/upgrading-checklist.txt.gz should be
+    applied).
+
+ -- Rogério Brito <rbrito@users.sf.net>  Tue, 15 Jul 2003 19:30:42 -0300
+
+lame (3.93-0.1) unstable; urgency=low
+
+  * Prevent lame 3.93 shipping and still building a 3.92 debian package;
+  * Use --enable-nasm, as is shouldn't break compilation on non-x86;
+  * Use --enable-expopt, to get a bit more of speed.
+
+ -- Rogério Brito <rbrito@users.sf.net>  Sun, 25 Aug 2002 18:58:16 -0300
+
+lame (3.92-1) unstable; urgency=low
+
+  * New upstream release.
+  * Closes: #578135.
+
+ -- Rogério Brito <linuxsup@ig.com.br>  Sun, 28 Jul 2002 03:08:04 -0300
+
+lame (3.91-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Rogerio Brito <linuxsup@ig.com.br>  Sun, 20 Jan 2002 20:50:19 -0200
+
+lame (3.90.1-0) unstable; urgency=low
+
+  * New upstream release.
+  * debian/control: nasm is only a build-dependency on x86;
+  * debian/control: added debhelper to build-dependency list;
+  * debian/control: changed description of the binary packages;
+  * debian/rules: enabled experimental/agressive optimizations;
+  * debian/rules: effectively spread the installed files in binary packages;
+  * debian/rules: now dh_makeshlibs creates good postinst and prerm scripts;
+  * Changed the lame-dev package to liblame0-dev;
+  * Removed references to lame-extras, since it doesn't exist anymore;
+  * Added LICENCE to copyright and excluded it from the binary package;
+  * Removed INSTALL from the binary package;
+  * lame is now almost lintian clean (the only problem remaining is
+    an rpath in liblame build process).
+
+ -- Rogerio Brito <linuxsup@ig.com.br>  Fri, 28 Dec 2001 04:08:57 -0200
+
+lame (3.90-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Viral <viral@debian.org>  Tue, 21 Aug 2001 13:50:14 +0530
+
+lame (3.89-1) unstable; urgency=low
+
+  * New upstream version.
+  * Added --host=$$(dpkg-architecture -qDEB_HOST_GNU_TYPE) to configure.
+  * Added liblame0 package.
+  * Added doc-base entry.
+  * Actual ChangeLog is installed now instead of history.html
+  
+ -- Viral <viral@debian.org>  Sun, 22 Jul 2001 03:07:30 +0530
+
+lame (3.88-0) unstable; urgency=low
+
+  * Updated debian/ directory to use configure.
+
+ -- Ingo Saitz <Ingo.Saitz@stud.uni-hannover.de>  Mon, 11 Dec 2000 08:43:26 +0100
+
+lame (3.86-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Stefan Karrmann <S.Karrmann@gmx.net>  Thu, 31 Aug 2000 22:15:07 +0200
+
+Local variables:
+mode: debian-changelog
+End:

+ 1 - 0
debian/compat

@@ -0,0 +1 @@
+7

+ 51 - 0
debian/control

@@ -0,0 +1,51 @@
+Source: lame
+Section: sound
+Priority: optional
+Maintainer: Rogério Brito <rbrito@users.sf.net>
+Bugs: mailto:lame-dev@lists.sourceforge.net
+Homepage: http://lame.sourceforge.net/
+Build-Depends: debhelper (>= 7.0.50~),
+	       libncurses5-dev,
+	       nasm [any-i386],
+	       libsndfile1-dev,
+	       autotools-dev
+Standards-Version: 3.9.1
+
+Package: lame
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: open source MP3 encoder
+ Lame is a program which can be used to create compressed
+ audio files. (Lame aint MP3 encoder). These audio files
+ can be played back by popular mp3 players such as mpg123.
+ To read from stdin, use "-" for <infile>. To write to
+ stdout, use a "-" for <outfile>.
+ .
+ This package contains the frontend encoder binary.
+
+Package: libmp3lame0
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: shared libraries for MP3 encoding
+ Lame is a program which can be used to create compressed
+ audio files. (Lame aint MP3 encoder). These audio files
+ can be played back by popular mp3 players such as mpg123.
+ To read from stdin, use "-" for <infile>. To write to
+ stdout, use a "-" for <outfile>.
+ .
+ This package contains the dynamic library.
+
+Package: libmp3lame-dev
+Architecture: any
+Section: libdevel
+Depends: libmp3lame0 (= ${binary:Version}), ${misc:Depends}
+Description: development files for lame
+ Lame is a program which can be used to create compressed
+ audio files. (Lame aint MP3 encoder). These audio files
+ can be played back by popular mp3 players such as mpg123.
+ To read from stdin, use "-" for <infile>. To write to
+ stdout, use a "-" for <outfile>.
+ .
+ This package contains the static library and header files
+ for development with lame.

+ 55 - 0
debian/copyright

@@ -0,0 +1,55 @@
+This package was originally made by Stefan Karrmann <S.Karrmann@gmx.net>
+on Thu, 31 Aug 2000 22:15:07 +0200.
+
+The current maintainer is Rogério Brito <rbrito@users.sf.net>.
+
+It was downloaded from the CVS repository at <http://sf.net/projects/lame>.
+
+Upstream Authors: The LAME team <lame-dev@lists.sf.net>.
+
+Copyright © 1999-2009 The LAME team <lame-dev@lists.sf.net> and contributors.
+
+    LAME is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    LAME is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the
+    Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+    MA 02110-1301, USA.
+
+Additionally, the original software's LICENCE file contains the following:
+
+- - - - - - - - - - - - - - - - - - - - -  - - - - - - - - - - - - - - -
+Can I use LAME in my commercial program?  
+
+Yes, you can, under the restrictions of the LGPL.  The easiest
+way to do this is to:
+
+1. Link to LAME as separate library (libmp3lame.a on unix or 
+   lame_enc.dll on windows)
+
+2. Fully acknowledge that you are using LAME, and give a link
+   to our web site, www.mp3dev.org
+
+3. If you make modifications to LAME, you *must* release these
+   these modifications back to the LAME project, under the LGPL.
+
+*** IMPORTANT NOTE ***
+
+The decoding functions provided in LAME use the mpglib decoding engine which
+is under the GPL.  They may not be used by any program not released under the
+GPL unless you obtain such permission from the MPG123 project (www.mpg123.de).
+- - - - - - - - - - - - - - - - - - - - -  - - - - - - - - - - - - - - -
+
+On Debian systems, the complete text of the GNU Library General Public
+License can be found in `/usr/share/common-licenses/LGPL-2'.
+
+The Debian packaging is © 2005-2009, Rogério Brito <rbrito@users.sf.net>
+and is licensed under the GPL, see above.

+ 9 - 0
debian/lame.doc-base

@@ -0,0 +1,9 @@
+Document: lame
+Abstract: This manual describes the LAME MP3 encoder and concepts behind audio compression.
+Author: The LAME Development Team
+Section: Sound
+Title: LAME MP3 encoder manual
+
+Format: HTML
+Index: /usr/share/doc/lame/html/index.html
+Files: /usr/share/doc/lame/html/*

+ 1 - 0
debian/lame.docs

@@ -0,0 +1 @@
+USAGE

+ 2 - 0
debian/lame.install

@@ -0,0 +1,2 @@
+usr/bin/lame
+usr/share/doc/lame/html/*.html

+ 1 - 0
debian/lame.manpages

@@ -0,0 +1 @@
+doc/man/lame.1

+ 3 - 0
debian/libmp3lame-dev.install

@@ -0,0 +1,3 @@
+usr/include/lame/lame.h
+usr/lib/*.{a,la}
+usr/lib/libmp3lame*.so

+ 1 - 0
debian/libmp3lame0.install

@@ -0,0 +1 @@
+usr/lib/libmp3lame.so.*

+ 18 - 0
debian/rules

@@ -0,0 +1,18 @@
+#!/usr/bin/make -f
+
+%:
+	dh $@ --parallel
+
+CFLAGS  += -g -Wall -Wextra
+LDFLAGS += -Wl,-O1 -Wl,-z,defs -Wl,--as-needed
+
+override_dh_auto_configure:
+	dh_auto_configure -- \
+		--with-fileio=sndfile \
+		--enable-nasm \
+		--with-pic \
+		--disable-mp3x \
+		--disable-mp3rtp \
+		--disable-gtktest \
+		--enable-dynamic-frontends \
+		--enable-expopt=full

+ 1 - 0
debian/source/format

@@ -0,0 +1 @@
+3.0 (quilt)

+ 2 - 0
debian/watch

@@ -0,0 +1,2 @@
+version=3
+http://sf.net/lame/lame-(.*).tar.gz

+ 791 - 0
depcomp

@@ -0,0 +1,791 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2016-01-11.22; # UTC
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputting dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
+# A tabulation character.
+tab='	'
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am.  Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+  for arg
+  do
+    case $arg in
+    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+    *)  set fnord "$@" "$arg" ;;
+    esac
+    shift # fnord
+    shift # $arg
+  done
+  "$@"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).  Also, it might not be
+##   supported by the other compilers which use the 'gcc' depmode.
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the "deleted header file" problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+## Some versions of gcc put a space before the ':'.  On the theory
+## that the space means something, we add a space to the output as
+## well.  hp depmode also adds that space, but also prefixes the VPATH
+## to the object.  Take care to not repeat it in the output.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like '#:fec' to the end of the
+    # dependency line.
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+      | tr "$nl" ' ' >> "$depfile"
+    echo >> "$depfile"
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+      >> "$depfile"
+  else
+    make_dummy_depfile
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  set_dir_from "$object"
+  set_base_from "$object"
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$base.u
+    tmpdepfile3=$dir.libs/$base.u
+    "$@" -Wc,-M
+  else
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$dir$base.u
+    tmpdepfile3=$dir$base.u
+    "$@" -M
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  aix_post_process_depfile
+  ;;
+
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file.  A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+  # Portland's C compiler understands '-MD'.
+  # Will always output deps to 'file.d' where file is the root name of the
+  # source file under compilation, even if file resides in a subdirectory.
+  # The object file name does not affect the name of the '.d' file.
+  # pgcc 10.2 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using '\' :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+  set_dir_from "$object"
+  # Use the source, not the object, to determine the base name, since
+  # that's sadly what pgcc will do too.
+  set_base_from "$source"
+  tmpdepfile=$base.d
+
+  # For projects that build the same source file twice into different object
+  # files, the pgcc approach of using the *source* file root name can cause
+  # problems in parallel builds.  Use a locking strategy to avoid stomping on
+  # the same $tmpdepfile.
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
+  numtries=100
+  i=$numtries
+  while test $i -gt 0; do
+    # mkdir is a portable test-and-set.
+    if mkdir "$lockdir" 2>/dev/null; then
+      # This process acquired the lock.
+      "$@" -MD
+      stat=$?
+      # Release the lock.
+      rmdir "$lockdir"
+      break
+    else
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
+        sleep 1
+        i=`expr $i - 1`
+      done
+    fi
+    i=`expr $i - 1`
+  done
+  trap - 1 2 13 15
+  if test $i -le 0; then
+    echo "$0: failed to acquire lock after $numtries attempts" >&2
+    echo "$0: check lockdir '$lockdir'" >&2
+    exit 1
+  fi
+
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp2)
+  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+  # compilers, which have integrated preprocessors.  The correct option
+  # to use with these is +Maked; it writes dependencies to a file named
+  # 'foo.d', which lands next to the object file, wherever that
+  # happens to be.
+  # Much of this is similar to the tru64 case; see comments there.
+  set_dir_from  "$object"
+  set_base_from "$object"
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir.libs/$base.d
+    "$@" -Wc,+Maked
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    "$@" +Maked
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+     rm -f "$tmpdepfile1" "$tmpdepfile2"
+     exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add 'dependent.h:' lines.
+    sed -ne '2,${
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
+  else
+    make_dummy_depfile
+  fi
+  rm -f "$tmpdepfile" "$tmpdepfile2"
+  ;;
+
+tru64)
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
+
+msvc7)
+  if test "$libtool" = yes; then
+    showIncludes=-Wc,-showIncludes
+  else
+    showIncludes=-showIncludes
+  fi
+  "$@" $showIncludes > "$tmpdepfile"
+  stat=$?
+  grep -v '^Note: including file: ' "$tmpdepfile"
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The first sed program below extracts the file names and escapes
+  # backslashes for cygpath.  The second sed program outputs the file
+  # name when reading, but also accumulates all include files in the
+  # hold buffer in order to output them again at the end.  This only
+  # works with sed implementations that can handle large buffers.
+  sed < "$tmpdepfile" -n '
+/^Note: including file:  *\(.*\)/ {
+  s//\1/
+  s/\\/\\\\/g
+  p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+  s/.*/'"$tab"'/
+  G
+  p
+}' >> "$depfile"
+  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+  rm -f "$tmpdepfile"
+  ;;
+
+msvc7msys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove '-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for ':'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
+  "$@" $dashmflag |
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no eat=no
+  for arg
+  do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    if test $eat = yes; then
+      eat=no
+      continue
+    fi
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -arch)
+      eat=yes ;;
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix=`echo "$object" | sed 's/^.*\././'`
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  # makedepend may prepend the VPATH from the source file name to the object.
+  # No need to regex-escape $object, excess matching of '.' is harmless.
+  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove '-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E \
+    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    | sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+        set fnord "$@"
+        shift
+        shift
+        ;;
+    *)
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
+    esac
+  done
+  "$@" -E 2>/dev/null |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvcmsys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:

+ 5 - 0
doc/Makefile.am

@@ -0,0 +1,5 @@
+## $Id$
+
+include $(top_srcdir)/Makefile.am.global
+
+SUBDIRS = html man

+ 651 - 0
doc/Makefile.in

@@ -0,0 +1,651 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# global section for every Makefile.am
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/Makefile.am.global
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_DEFS = @CONFIG_DEFS@
+CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPUCCODE = @CPUCCODE@
+CPUTYPE = @CPUTYPE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
+FRONTEND_LDADD = @FRONTEND_LDADD@
+FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_CONFIG = @GTK_CONFIG@
+GTK_LIBS = @GTK_LIBS@
+INCLUDES = @INCLUDES@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDADD = @LDADD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
+LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEDEP = @MAKEDEP@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NASM = @NASM@
+NASM_FORMAT = @NASM_FORMAT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RM_F = @RM_F@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WITH_FRONTEND = @WITH_FRONTEND@
+WITH_MP3RTP = @WITH_MP3RTP@
+WITH_MP3X = @WITH_MP3X@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = 1.15 foreign
+SUBDIRS = html man
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.global $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign doc/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+$(top_srcdir)/Makefile.am.global $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# end global section
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

+ 26 - 0
doc/html/Makefile.am

@@ -0,0 +1,26 @@
+## $Id$
+
+AUTOMAKE_OPTIONS = foreign
+
+docdir = $(datadir)/doc
+pkgdocdir = $(docdir)/$(PACKAGE)
+htmldir = $(docdir)/html
+pkghtmldir = $(pkgdocdir)/html
+
+pkghtml_DATA = \
+    about.html \
+	abr.html \
+	cbr.html \
+	contact.html \
+	contributors.html \
+	detailed.html \
+	history.html \
+	index.html \
+	introduction.html \
+	links.html \
+	list.html \
+	ms_stereo.html \
+	usage.html \
+	vbr.html
+
+EXTRA_DIST = $(pkghtml_DATA)

+ 537 - 0
doc/html/Makefile.in

@@ -0,0 +1,537 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc/html
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkghtmldir)"
+DATA = $(pkghtml_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIG_DEFS = @CONFIG_DEFS@
+CONFIG_MATH_LIB = @CONFIG_MATH_LIB@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPUCCODE = @CPUCCODE@
+CPUTYPE = @CPUTYPE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FRONTEND_CFLAGS = @FRONTEND_CFLAGS@
+FRONTEND_LDADD = @FRONTEND_LDADD@
+FRONTEND_LDFLAGS = @FRONTEND_LDFLAGS@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_CONFIG = @GTK_CONFIG@
+GTK_LIBS = @GTK_LIBS@
+INCLUDES = @INCLUDES@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDADD = @LDADD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIB_MAJOR_VERSION = @LIB_MAJOR_VERSION@
+LIB_MINOR_VERSION = @LIB_MINOR_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEDEP = @MAKEDEP@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NASM = @NASM@
+NASM_FORMAT = @NASM_FORMAT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+RM_F = @RM_F@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WITH_FRONTEND = @WITH_FRONTEND@
+WITH_MP3RTP = @WITH_MP3RTP@
+WITH_MP3X = @WITH_MP3X@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = $(datadir)/doc
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = $(docdir)/html
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign
+pkgdocdir = $(docdir)/$(PACKAGE)
+pkghtmldir = $(pkgdocdir)/html
+pkghtml_DATA = \
+    about.html \
+	abr.html \
+	cbr.html \
+	contact.html \
+	contributors.html \
+	detailed.html \
+	history.html \
+	index.html \
+	introduction.html \
+	links.html \
+	list.html \
+	ms_stereo.html \
+	usage.html \
+	vbr.html
+
+EXTRA_DIST = $(pkghtml_DATA)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/html/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign doc/html/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-pkghtmlDATA: $(pkghtml_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(pkghtml_DATA)'; test -n "$(pkghtmldir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkghtmldir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkghtmldir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkghtmldir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkghtmldir)" || exit $$?; \
+	done
+
+uninstall-pkghtmlDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkghtml_DATA)'; test -n "$(pkghtmldir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkghtmldir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(pkghtmldir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkghtmlDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkghtmlDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-pkghtmlDATA install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags-am uninstall uninstall-am uninstall-pkghtmlDATA
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

+ 138 - 0
doc/html/about.html

@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+  <meta name="generator" content="PSPad editor, www.pspad.com" />
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+  <link rel="stylesheet" type="text/css" href="styles/lame.css" />
+  <title>About the LAME encoder</title>
+ </head>
+ <body>
+<div id="menu">
+	<ul>
+		<li><a href="index.html">Index page</a></li>
+		<li><a href="about.html">About LAME</a></li>
+		<li><a href="introduction.html">Intro to encoding</a></li>
+		<li><a href="usage.html">Usage of LAME</a></li>
+		<li><a href="history.html">Version history</a></li>
+		<li><a href="contributors.html">Coders of LAME</a></li>
+		<li><a href="contact.html">Contact LAME</a></li>
+		<li><a style="border: 0" href="links.html">LAME links</a></li>
+	</ul>
+</div>
+<div id="container">
+<div id="content">
+
+<div align="center">
+	<img src="images/logo.gif" width="358" height="231" alt="LAME Official Logo" />
+	<h2 class="hilight">About LAME</h2>
+</div>
+
+<p>
+	LAME development started around mid-1998. Mike Cheng started it as a patch
+	against the 8hz-MP3 encoder sources. After some quality concerns raised by
+	others, he decided to start from scratch based on the dist10 sources. His 
+	goal was only to speed up the dist10 sources, and leave its quality untouched. 
+	That branch (a patch against the reference sources) became Lame 2.0, and not
+  until Lame 3.81 (May 2000) the latest remainings of dist10 code were removed,
+  making LAME no more only a patch.
+</p>
+
+<p>
+	The project quickly became a team project. Mike Cheng eventually left
+	leadership and started working on tooLame, an MP2 encoder. Mark Taylor became
+	leader and started pursuing increased quality in addition to better speed. He
+	can be considered the initiator of the LAME project in its current form. He
+	released version 3.0 featuring gpsycho, a new psychoacoustic model he
+	developed.
+</p>
+
+<p>
+	In early 2003 Mark left project leadership, and since then the project has
+	been lead through the cooperation of the active developers (currently 4
+	individuals).
+</p>
+
+<p>
+	Today, LAME is considered the best MP3 encoder at mid-high bitrates and at
+	VBR<a href="#note1"><sup>1</sup></a>, mostly thanks to the dedicated work of its developers and the open 
+	source licensing model that allowed the project to tap into engineering 
+	resources from all around the world. Both quality and speed improvements are 
+	still happening, probably making LAME the only MP3 encoder still being 
+	actively developed.
+</p>
+
+
+<h3>LAME features:</h3>
+<ul>
+	<li>
+		Supports MPEG1, MPEG2 and MPEG2.5<a href="#note2"><sup>2</sup></a> layer III encoding.
+	</li>
+	<li>
+		Encodes in CBR (constant bitrate) and in two types of variable bitrate, VBR and ABR<a
+		href="#note3"><sup>3</sup></a>, as well as freeformat.
+	</li>
+  <li>
+    Supports mono and stereo signals. Stereo signals are encoded by default with
+    an advanced algorithm<a	href="#note4"><sup>4</sup></a> to maximize the quality.
+  </li>
+	<li>
+    Tuned default parameters for optimum encoding.		
+	</li>
+	<li>
+	  Fast. Encodes to -V 2 at 17 times realtime on a P4 2.8Ghz.
+	</li>
+	<li>
+		Uses an advanced psycho acoustic and noise shaping model improved during years.
+	</li>
+	<li>
+		Developed under the <a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a>
+    GNU license
+	</li>
+</ul>
+<div id="notes">
+<ol>
+<li><a name="note1"></a> See the results of <a href="http://listening-tests.hydrogenaudio.org/sebastian/">
+several blind tests</a> conducted by hydrogenaudio members.
+</li>
+<li><a name="note2"></a> MPEG1 sample rates are 32Khz, 44.1Khz and 48Khz.
+<br/>
+MPEG2 sample rates are 16Khz, 22.05Khz and 24Khz.
+<br/>
+ MPEG 2.5 does not exist as a standard. It is an extension from
+ <a href="http://www.fraunhofer.de/">fraunhofer</a> that added the possibility
+ to encode in 8Khz, 11,025Khz and 12Khz.
+</li>
+<li><a name="note3"></a> See <a href="vbr.html">Variable Bit Rate</a> and
+<a href="abr.html">Average Bit Rate (ABR)</a>.
+</li>
+<li><a name="note4"></a> The stereo encoding of LAME automatically switches between 
+ Mid-Side and simple-stereo to maximize the available bits while preserving the 
+ quality. More info in <a href="ms_stereo.html">Mid/Side Stereo</a>
+</li> 
+</ol>
+</div>
+
+</div>
+<div id="footer">
+
+<a href="http://sourceforge.net/projects/lame"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=290&amp;type=12"
+ alt="Get LAME (Lame Aint an MP3 Encoder) at SourceForge.net. Fast, secure and Free Open Source software downloads"
+ border="0" height="30" width="120" /></a>
+
+<a href="http://validator.w3.org/#validate_by_upload"><img src="images/valid-xhtml10.png"
+ alt="Valid XHTML 1.0 Transitional" border="0" height="31" width="88" /></a>
+
+<a href="http://jigsaw.w3.org/css-validator/"><img src="images/valid-css.png"
+ alt="Valid CSS!" border="0" height="31" width="88" /></a>
+
+<p>HTML markup and design by <a
+href="http://www.rjamorim.com" target="_blank">Roberto Amorim</a> and <a
+href="http://www.maresweb.de" target="_blank">Sebastian Mares</a>. Logo by <a 
+href="http://www.brightercreative.co.uk">Sam Fisher</a>.</p>
+
+</div>
+</div>
+
+ </body>
+</html>

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно