[DebianGIS-dev] r2610 - in packages/gdal/trunk/debian: . patches
frankie at alioth.debian.org
frankie at alioth.debian.org
Mon Nov 30 23:27:06 UTC 2009
Author: frankie
Date: 2009-11-30 23:27:06 +0000 (Mon, 30 Nov 2009)
New Revision: 2610
Added:
packages/gdal/trunk/debian/patches/ecw-plugin.dpatch
Modified:
packages/gdal/trunk/debian/changelog
packages/gdal/trunk/debian/patches/00list
Log:
Added ECW external plugin source support.
Modified: packages/gdal/trunk/debian/changelog
===================================================================
--- packages/gdal/trunk/debian/changelog 2009-11-30 20:42:10 UTC (rev 2609)
+++ packages/gdal/trunk/debian/changelog 2009-11-30 23:27:06 UTC (rev 2610)
@@ -1,9 +1,14 @@
gdal (1.6.3-1) unstable; urgency=low
+ [ Alan Boudreault ]
* New upstream release, with bugs fixing.
- -- Alan Boudreault <aboudreault at mapgears.com> Mon, 30 Nov 2009 14:42:58 -0500
+ [ Francesco Paolo Lovergine ]
+ * Added MrSID and ECW plugins supports as useful patches to generate
+ separate source tarballs.
+ -- Francesco Paolo Lovergine <frankie at debian.org> Mon, 30 Nov 2009 23:58:20 +0100
+
gdal (1.6.2-2) unstable; urgency=low
* Fixed gdal-grass patch to generate a tarball with a name coherent with
Modified: packages/gdal/trunk/debian/patches/00list
===================================================================
--- packages/gdal/trunk/debian/patches/00list 2009-11-30 20:42:10 UTC (rev 2609)
+++ packages/gdal/trunk/debian/patches/00list 2009-11-30 23:27:06 UTC (rev 2610)
@@ -9,3 +9,4 @@
hdf4
cpl_dll
gdal-grass
+ecw-plugin
Added: packages/gdal/trunk/debian/patches/ecw-plugin.dpatch
===================================================================
--- packages/gdal/trunk/debian/patches/ecw-plugin.dpatch (rev 0)
+++ packages/gdal/trunk/debian/patches/ecw-plugin.dpatch 2009-11-30 23:27:06 UTC (rev 2610)
@@ -0,0 +1,6639 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ecw-plugin.dpatch by Francesco Paolo Lovergine <frankie at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad gdal-1.6.3~/frmts/ecw/GNUmakefile gdal-1.6.3/frmts/ecw/GNUmakefile
+--- gdal-1.6.3~/frmts/ecw/GNUmakefile 2009-05-08 06:52:49.000000000 +0200
++++ gdal-1.6.3/frmts/ecw/GNUmakefile 2009-12-01 00:25:53.000000000 +0100
+@@ -18,3 +18,12 @@
+ $(PLUGIN_SO): $(OBJ)
+ $(LD_SHARED) $(LNK_FLAGS) $(OBJ) $(CONFIG_LIBS) $(EXTRA_LIBS) \
+ -o $(PLUGIN_SO)
++
++dist:
++ cp -r pkg libgdal-ecw-$(GDAL_VER)
++ rm -rf libgdal-ecw-$(GDAL_VER)/.svn
++ cp *.cpp libgdal-ecw-$(GDAL_VER)
++ cp *.h libgdal-ecw-$(GDAL_VER)
++ tar czvf libgdal-ecw-$(GDAL_VER).tar.gz ./libgdal-ecw-$(GDAL_VER)
++ rm -rf libgdal-ecw-$(GDAL_VER)
++
+diff -urNad gdal-1.6.3~/frmts/ecw/ecwdataset.cpp gdal-1.6.3/frmts/ecw/ecwdataset.cpp
+--- gdal-1.6.3~/frmts/ecw/ecwdataset.cpp 2009-09-09 20:29:39.000000000 +0200
++++ gdal-1.6.3/frmts/ecw/ecwdataset.cpp 2009-12-01 00:24:42.000000000 +0100
+@@ -1616,6 +1616,15 @@
+ #endif /* def FRMT_ecw */
+ }
+
++CPL_C_START
++void GDALRegister_ECW_JP2ECW(void);
++CPL_C_END
++
++void GDALRegister_ECW_JP2ECW(void)
++{
++ GDALRegister_ECW();
++ GDALRegister_JP2ECW();
++}
+
+
+
+diff -urNad gdal-1.6.3~/frmts/ecw/ecwdataset.cpp.orig gdal-1.6.3/frmts/ecw/ecwdataset.cpp.orig
+--- gdal-1.6.3~/frmts/ecw/ecwdataset.cpp.orig 1970-01-01 01:00:00.000000000 +0100
++++ gdal-1.6.3/frmts/ecw/ecwdataset.cpp.orig 2009-12-01 00:24:42.000000000 +0100
+@@ -0,0 +1,1621 @@
++/******************************************************************************
++ * $Id: ecwdataset.cpp 17628 2009-09-09 18:29:39Z rouault $
++ *
++ * Project: GDAL
++ * Purpose: ECW (ERMapper Wavelet Compression Format) Driver
++ * Author: Frank Warmerdam, warmerdam at pobox.com
++ *
++ ******************************************************************************
++ * Copyright (c) 2001, Frank Warmerdam <warmerdam at pobox.com>
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a
++ * copy of this software and associated documentation files (the "Software"),
++ * to deal in the Software without restriction, including without limitation
++ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
++ * and/or sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice shall be included
++ * in all copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ * DEALINGS IN THE SOFTWARE.
++ ****************************************************************************/
++
++#include "gdal_pam.h"
++#include "gdaljp2metadata.h"
++#include "ogr_spatialref.h"
++#include "cpl_string.h"
++#include "cpl_conv.h"
++#include "vsiiostream.h"
++#include "cpl_multiproc.h"
++#include "cpl_minixml.h"
++#include "ogr_api.h"
++#include "ogr_geometry.h"
++
++CPL_CVSID("$Id: ecwdataset.cpp 17628 2009-09-09 18:29:39Z rouault $");
++
++#ifdef FRMT_ecw
++
++static const unsigned char jpc_header[] = {0xff,0x4f};
++static const unsigned char jp2_header[] =
++ {0x00,0x00,0x00,0x0c,0x6a,0x50,0x20,0x20,0x0d,0x0a,0x87,0x0a};
++
++static void *hECWDatasetMutex = NULL;
++static int bNCSInitialized = FALSE;
++
++CPL_C_START
++CPLErr CPL_DLL GTIFMemBufFromWkt( const char *pszWKT,
++ const double *padfGeoTransform,
++ int nGCPCount, const GDAL_GCP *pasGCPList,
++ int *pnSize, unsigned char **ppabyBuffer );
++CPLErr CPL_DLL GTIFWktFromMemBuf( int nSize, unsigned char *pabyBuffer,
++ char **ppszWKT, double *padfGeoTransform,
++ int *pnGCPCount, GDAL_GCP **ppasGCPList );
++CPL_C_END
++
++void ECWInitialize( void );
++
++/************************************************************************/
++/* ==================================================================== */
++/* ECWDataset */
++/* ==================================================================== */
++/************************************************************************/
++
++class ECWRasterBand;
++
++class CPL_DLL ECWDataset : public GDALPamDataset
++{
++ friend class ECWRasterBand;
++
++ CNCSJP2FileView *poFileView;
++ NCSFileViewFileInfoEx *psFileInfo;
++
++ GDALDataType eRasterDataType;
++ NCSEcwCellType eNCSRequestDataType;
++
++ int bUsingCustomStream;
++
++ // Current view window.
++ int bWinActive;
++ int nWinXOff, nWinYOff, nWinXSize, nWinYSize;
++ int nWinBufXSize, nWinBufYSize;
++ int nWinBandCount;
++ int *panWinBandList;
++ int nWinBufLoaded;
++ void **papCurLineBuf;
++
++ int bGeoTransformValid;
++ double adfGeoTransform[6];
++ char *pszProjection;
++ int nGCPCount;
++ GDAL_GCP *pasGCPList;
++
++ char **papszGMLMetadata;
++
++ void ECW2WKTProjection();
++
++ void CleanupWindow();
++ int TryWinRasterIO( GDALRWFlag, int, int, int, int,
++ GByte *, int, int, GDALDataType,
++ int, int *, int, int, int );
++ CPLErr LoadNextLine();
++
++ public:
++ ECWDataset();
++ ~ECWDataset();
++
++ static GDALDataset *Open( GDALOpenInfo * );
++ static GDALDataset *OpenJPEG2000( GDALOpenInfo * );
++ static GDALDataset *OpenECW( GDALOpenInfo * );
++
++ virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int,
++ void *, int, int, GDALDataType,
++ int, int *, int, int, int );
++
++ virtual CPLErr GetGeoTransform( double * );
++ virtual const char *GetProjectionRef();
++
++ virtual int GetGCPCount();
++ virtual const char *GetGCPProjection();
++ virtual const GDAL_GCP *GetGCPs();
++
++ virtual char **GetMetadata( const char * pszDomain = "" );
++
++ virtual CPLErr AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize,
++ int nBufXSize, int nBufYSize,
++ GDALDataType eDT,
++ int nBandCount, int *panBandList,
++ char **papszOptions );
++};
++
++/************************************************************************/
++/* ==================================================================== */
++/* ECWRasterBand */
++/* ==================================================================== */
++/************************************************************************/
++
++class ECWRasterBand : public GDALPamRasterBand
++{
++ friend class ECWDataset;
++
++ // NOTE: poDS may be altered for NITF/JPEG2000 files!
++ ECWDataset *poGDS;
++
++ GDALColorInterp eBandInterp;
++
++ virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int,
++ void *, int, int, GDALDataType,
++ int, int );
++
++ public:
++
++ ECWRasterBand( ECWDataset *, int );
++ ~ECWRasterBand();
++
++ virtual CPLErr IReadBlock( int, int, void * );
++ virtual int HasArbitraryOverviews() { return TRUE; }
++ virtual GDALColorInterp GetColorInterpretation();
++ virtual CPLErr SetColorInterpretation( GDALColorInterp );
++
++ virtual CPLErr AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize,
++ int nBufXSize, int nBufYSize,
++ GDALDataType eDT, char **papszOptions );
++};
++
++/************************************************************************/
++/* ECWRasterBand() */
++/************************************************************************/
++
++ECWRasterBand::ECWRasterBand( ECWDataset *poDS, int nBand )
++
++{
++ this->poDS = poDS;
++ poGDS = poDS;
++
++ this->nBand = nBand;
++ eDataType = poDS->eRasterDataType;
++ nBlockXSize = poDS->GetRasterXSize();
++ nBlockYSize = 1;
++
++/* -------------------------------------------------------------------- */
++/* Work out band color interpretation. */
++/* -------------------------------------------------------------------- */
++ if( poDS->psFileInfo->eColorSpace == NCSCS_NONE )
++ eBandInterp = GCI_Undefined;
++ else if( poDS->psFileInfo->eColorSpace == NCSCS_GREYSCALE )
++ eBandInterp = GCI_GrayIndex;
++ else if( poDS->psFileInfo->eColorSpace == NCSCS_MULTIBAND )
++ eBandInterp = GCI_Undefined;
++ else if( poDS->psFileInfo->eColorSpace == NCSCS_sRGB )
++ {
++ if( nBand == 1 )
++ eBandInterp = GCI_RedBand;
++ else if( nBand == 2 )
++ eBandInterp = GCI_GreenBand;
++ else if( nBand == 3 )
++ eBandInterp = GCI_BlueBand;
++ else
++ eBandInterp = GCI_Undefined;
++ }
++ else if( poDS->psFileInfo->eColorSpace == NCSCS_YCbCr )
++ {
++ if( CSLTestBoolean( CPLGetConfigOption("CONVERT_YCBCR_TO_RGB","YES") ))
++ {
++ if( nBand == 1 )
++ eBandInterp = GCI_RedBand;
++ else if( nBand == 2 )
++ eBandInterp = GCI_GreenBand;
++ else if( nBand == 3 )
++ eBandInterp = GCI_BlueBand;
++ else
++ eBandInterp = GCI_Undefined;
++ }
++ else
++ {
++ if( nBand == 1 )
++ eBandInterp = GCI_YCbCr_YBand;
++ else if( nBand == 2 )
++ eBandInterp = GCI_YCbCr_CbBand;
++ else if( nBand == 3 )
++ eBandInterp = GCI_YCbCr_CrBand;
++ else
++ eBandInterp = GCI_Undefined;
++ }
++ }
++ else
++ eBandInterp = GCI_Undefined;
++}
++
++/************************************************************************/
++/* ~ECWRasterBand() */
++/************************************************************************/
++
++ECWRasterBand::~ECWRasterBand()
++
++{
++ FlushCache();
++}
++
++/************************************************************************/
++/* GetColorInterpretation() */
++/************************************************************************/
++
++GDALColorInterp ECWRasterBand::GetColorInterpretation()
++
++{
++ return eBandInterp;
++}
++
++/************************************************************************/
++/* SetColorInterpretation() */
++/* */
++/* This would normally just be used by folks using the ECW code */
++/* to read JP2 streams in other formats (such as NITF) and */
++/* providing their own color interpretation regardless of what */
++/* ECW might think the stream itself says. */
++/************************************************************************/
++
++CPLErr ECWRasterBand::SetColorInterpretation( GDALColorInterp eNewInterp )
++
++{
++ eBandInterp = eNewInterp;
++
++ return CE_None;
++}
++
++/************************************************************************/
++/* AdviseRead() */
++/************************************************************************/
++
++CPLErr ECWRasterBand::AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize,
++ int nBufXSize, int nBufYSize,
++ GDALDataType eDT,
++ char **papszOptions )
++{
++ return poGDS->AdviseRead( nXOff, nYOff, nXSize, nYSize,
++ nBufXSize, nBufYSize, eDT,
++ 1, &nBand, papszOptions );
++}
++
++/************************************************************************/
++/* IRasterIO() */
++/************************************************************************/
++
++CPLErr ECWRasterBand::IRasterIO( GDALRWFlag eRWFlag,
++ int nXOff, int nYOff, int nXSize, int nYSize,
++ void * pData, int nBufXSize, int nBufYSize,
++ GDALDataType eBufType,
++ int nPixelSpace, int nLineSpace )
++
++{
++ int iBand, bDirect;
++ int nNewXSize = nBufXSize, nNewYSize = nBufYSize;
++ GByte *pabyWorkBuffer = NULL;
++
++/* -------------------------------------------------------------------- */
++/* Try to do it based on existing "advised" access. */
++/* -------------------------------------------------------------------- */
++ if( poGDS->TryWinRasterIO( eRWFlag, nXOff, nYOff, nXSize, nYSize,
++ (GByte *) pData, nBufXSize, nBufYSize,
++ eBufType, 1, &nBand,
++ nPixelSpace, nLineSpace, 0 ) )
++ return CE_None;
++
++/* -------------------------------------------------------------------- */
++/* We will drop down to the block oriented API if only a single */
++/* scanline was requested. This is based on the assumption that */
++/* doing lots of single scanline windows is expensive. */
++/* -------------------------------------------------------------------- */
++ if( nYSize == 1 )
++ {
++#ifdef notdef
++ CPLDebug( "ECWRasterBand",
++ "RasterIO(%d,%d,%d,%d -> %dx%d) - redirected.",
++ nXOff, nYOff, nXSize, nYSize, nBufXSize, nBufYSize );
++#endif
++ return GDALRasterBand::IRasterIO(eRWFlag, nXOff, nYOff, nXSize, nYSize,
++ pData, nBufXSize, nBufYSize,
++ eBufType, nPixelSpace, nLineSpace );
++ }
++
++ CPLDebug( "ECWRasterBand",
++ "RasterIO(nXOff=%d,nYOff=%d,nXSize=%d,nYSize=%d -> %dx%d)",
++ nXOff, nYOff, nXSize, nYSize, nBufXSize, nBufYSize );
++
++
++ if ( nXSize < nBufXSize )
++ nNewXSize = nXSize;
++
++ if ( nYSize < nBufYSize )
++ nNewYSize = nYSize;
++
++/* -------------------------------------------------------------------- */
++/* Default line and pixel spacing if needed. */
++/* -------------------------------------------------------------------- */
++ if ( nPixelSpace == 0 )
++ nPixelSpace = GDALGetDataTypeSize( eBufType ) / 8;
++
++ if ( nLineSpace == 0 )
++ nLineSpace = nPixelSpace * nBufXSize;
++
++/* -------------------------------------------------------------------- */
++/* Can we perform direct loads, or must we load into a working */
++/* buffer, and transform? */
++/* -------------------------------------------------------------------- */
++ int nRawPixelSize = GDALGetDataTypeSize(poGDS->eRasterDataType) / 8;
++
++ bDirect = nPixelSpace == 1 && eBufType == GDT_Byte
++ && nNewXSize == nBufXSize && nNewYSize == nBufYSize;
++ if( !bDirect )
++ pabyWorkBuffer = (GByte *) CPLMalloc(nNewXSize * nRawPixelSize);
++
++/* -------------------------------------------------------------------- */
++/* Establish access at the desired resolution. */
++/* -------------------------------------------------------------------- */
++ CNCSError oErr;
++
++ poGDS->CleanupWindow();
++
++ iBand = nBand-1;
++ oErr = poGDS->poFileView->SetView( 1, (unsigned int *) (&iBand),
++ nXOff, nYOff,
++ nXOff + nXSize - 1,
++ nYOff + nYSize - 1,
++ nNewXSize, nNewYSize );
++ if( oErr.GetErrorNumber() != NCS_SUCCESS )
++ {
++ CPLFree( pabyWorkBuffer );
++ char* pszErrorMessage = oErr.GetErrorMessage();
++ CPLError( CE_Failure, CPLE_AppDefined,
++ "%s", pszErrorMessage );
++ NCSFree(pszErrorMessage);
++
++ return CE_Failure;
++ }
++
++/* -------------------------------------------------------------------- */
++/* Read back one scanline at a time, till request is satisfied. */
++/* Supersampling is not supported by the ECW API, so we will do */
++/* it ourselves. */
++/* -------------------------------------------------------------------- */
++ double dfSrcYInc = (double)nNewYSize / nBufYSize;
++ double dfSrcXInc = (double)nNewXSize / nBufXSize;
++ int iSrcLine, iDstLine;
++
++ for( iSrcLine = 0, iDstLine = 0; iDstLine < nBufYSize; iDstLine++ )
++ {
++ NCSEcwReadStatus eRStatus;
++ int iDstLineOff = iDstLine * nLineSpace;
++ unsigned char *pabySrcBuf;
++
++ if( bDirect )
++ pabySrcBuf = ((GByte *)pData) + iDstLineOff;
++ else
++ pabySrcBuf = pabyWorkBuffer;
++
++ if ( nNewYSize == nBufYSize || iSrcLine == (int)(iDstLine * dfSrcYInc) )
++ {
++ eRStatus = poGDS->poFileView->ReadLineBIL(
++ poGDS->eNCSRequestDataType, 1, (void **) &pabySrcBuf );
++
++ if( eRStatus != NCSECW_READ_OK )
++ {
++ CPLFree( pabyWorkBuffer );
++ CPLError( CE_Failure, CPLE_AppDefined,
++ "NCScbmReadViewLineBIL failed." );
++ return CE_Failure;
++ }
++
++ if( !bDirect )
++ {
++ if ( nNewXSize == nBufXSize )
++ {
++ GDALCopyWords( pabyWorkBuffer, poGDS->eRasterDataType,
++ nRawPixelSize,
++ ((GByte *)pData) + iDstLine * nLineSpace,
++ eBufType, nPixelSpace, nBufXSize );
++ }
++ else
++ {
++ int iPixel;
++
++ for ( iPixel = 0; iPixel < nBufXSize; iPixel++ )
++ {
++ GDALCopyWords( pabyWorkBuffer
++ + nRawPixelSize*((int)(iPixel*dfSrcXInc)),
++ poGDS->eRasterDataType, nRawPixelSize,
++ (GByte *)pData + iDstLineOff
++ + iPixel * nPixelSpace,
++ eBufType, nPixelSpace, 1 );
++ }
++ }
++ }
++
++ iSrcLine++;
++ }
++ else
++ {
++ // Just copy the previous line in this case
++ GDALCopyWords( (GByte *)pData + (iDstLineOff - nLineSpace),
++ eBufType, nPixelSpace,
++ (GByte *)pData + iDstLineOff,
++ eBufType, nPixelSpace, nBufXSize );
++ }
++ }
++
++ CPLFree( pabyWorkBuffer );
++
++ return CE_None;
++}
++
++/************************************************************************/
++/* IReadBlock() */
++/************************************************************************/
++
++CPLErr ECWRasterBand::IReadBlock( int, int nBlockYOff, void * pImage )
++
++{
++ CPLErr eErr = CE_None;
++
++ if( poGDS->TryWinRasterIO( GF_Read, 0, nBlockYOff, nBlockXSize, 1,
++ (GByte *) pImage, nBlockXSize, 1,
++ eDataType, 1, &nBand, 0, 0, 0 ) )
++ return CE_None;
++
++ eErr = AdviseRead( 0, nBlockYOff, nRasterXSize, nRasterYSize - nBlockYOff,
++ nRasterXSize, nRasterYSize - nBlockYOff,
++ eDataType, NULL );
++ if( eErr != CE_None )
++ return eErr;
++
++ if( poGDS->TryWinRasterIO( GF_Read, 0, nBlockYOff, nBlockXSize, 1,
++ (GByte *) pImage, nBlockXSize, 1,
++ eDataType, 1, &nBand, 0, 0, 0 ) )
++ return CE_None;
++
++ CPLError( CE_Failure, CPLE_AppDefined,
++ "TryWinRasterIO() failed for blocked scanline %d of band %d.",
++ nBlockYOff, nBand );
++ return CE_Failure;
++}
++
++/************************************************************************/
++/* ==================================================================== */
++/* ECWDataset */
++/* ==================================================================== */
++/************************************************************************/
++
++
++/************************************************************************/
++/* ECWDataset() */
++/************************************************************************/
++
++ECWDataset::ECWDataset()
++
++{
++ bUsingCustomStream = FALSE;
++ pszProjection = NULL;
++ poFileView = NULL;
++ bWinActive = FALSE;
++ panWinBandList = NULL;
++ eRasterDataType = GDT_Byte;
++ nGCPCount = 0;
++ pasGCPList = NULL;
++ papszGMLMetadata = NULL;
++
++ bGeoTransformValid = FALSE;
++ adfGeoTransform[0] = 0.0;
++ adfGeoTransform[1] = 1.0;
++ adfGeoTransform[2] = 0.0;
++ adfGeoTransform[3] = 0.0;
++ adfGeoTransform[4] = 0.0;
++ adfGeoTransform[5] = 1.0;
++}
++
++/************************************************************************/
++/* ~ECWDataset() */
++/************************************************************************/
++
++ECWDataset::~ECWDataset()
++
++{
++ FlushCache();
++ CleanupWindow();
++ CPLFree( pszProjection );
++ CSLDestroy( papszGMLMetadata );
++
++ if( nGCPCount > 0 )
++ {
++ GDALDeinitGCPs( nGCPCount, pasGCPList );
++ CPLFree( pasGCPList );
++ }
++
++/* -------------------------------------------------------------------- */
++/* Release / dereference iostream. */
++/* -------------------------------------------------------------------- */
++ // The underlying iostream of the CNCSJP2FileView (poFileView) object may
++ // also be the underlying iostream of other CNCSJP2FileView (poFileView)
++ // objects. Consequently, when we delete the CNCSJP2FileView (poFileView)
++ // object, we must decrement the nFileViewCount attribute of the underlying
++ // VSIIOStream object, and only delete the VSIIOStream object when
++ // nFileViewCount is equal to zero.
++
++ CPLMutexHolder oHolder( &hECWDatasetMutex );
++
++ if( poFileView != NULL )
++ {
++ VSIIOStream *poUnderlyingIOStream = (VSIIOStream *)NULL;
++
++ poUnderlyingIOStream = ((VSIIOStream *)(poFileView->GetStream()));
++ delete poFileView;
++
++ if( bUsingCustomStream )
++ {
++ if( --poUnderlyingIOStream->nFileViewCount == 0 )
++ delete poUnderlyingIOStream;
++ }
++ }
++}
++
++/************************************************************************/
++/* AdviseRead() */
++/************************************************************************/
++
++CPLErr ECWDataset::AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize,
++ int nBufXSize, int nBufYSize,
++ GDALDataType eDT,
++ int nBandCount, int *panBandList,
++ char **papszOptions )
++
++{
++ int *panAdjustedBandList = NULL;
++
++ CPLDebug( "ECW",
++ "ECWDataset::AdviseRead(%d,%d,%d,%d->%d,%d)",
++ nXOff, nYOff, nXSize, nYSize, nBufXSize, nBufYSize );
++
++ if( nBufXSize > nXSize || nBufYSize > nYSize )
++ {
++ CPLError( CE_Warning, CPLE_AppDefined,
++ "Supersampling not directly supported by ECW toolkit,\n"
++ "ignoring AdviseRead() request." );
++ return CE_Warning;
++ }
++
++/* -------------------------------------------------------------------- */
++/* Adjust band numbers to be zero based. */
++/* -------------------------------------------------------------------- */
++ panAdjustedBandList = (int *)
++ CPLMalloc(sizeof(int) * nBandCount );
++ for( int ii= 0; ii < nBandCount; ii++ )
++ panAdjustedBandList[ii] = panBandList[ii] - 1;
++
++/* -------------------------------------------------------------------- */
++/* Cleanup old window cache information. */
++/* -------------------------------------------------------------------- */
++ CleanupWindow();
++
++/* -------------------------------------------------------------------- */
++/* Set the new requested window. */
++/* -------------------------------------------------------------------- */
++ CNCSError oErr;
++
++ oErr = poFileView->SetView( nBandCount, (UINT32 *) panAdjustedBandList,
++ nXOff, nYOff,
++ nXOff + nXSize-1, nYOff + nYSize-1,
++ nBufXSize, nBufYSize );
++
++ CPLFree( panAdjustedBandList );
++ if( oErr.GetErrorNumber() != NCS_SUCCESS )
++ {
++ char* pszErrorMessage = oErr.GetErrorMessage();
++ CPLError( CE_Failure, CPLE_AppDefined,
++ "%s", pszErrorMessage );
++ NCSFree(pszErrorMessage);
++ bWinActive = FALSE;
++ return CE_Failure;
++ }
++
++ bWinActive = TRUE;
++
++/* -------------------------------------------------------------------- */
++/* Record selected window. */
++/* -------------------------------------------------------------------- */
++ nWinXOff = nXOff;
++ nWinYOff = nYOff;
++ nWinXSize = nXSize;
++ nWinYSize = nYSize;
++ nWinBufXSize = nBufXSize;
++ nWinBufYSize = nBufYSize;
++
++ panWinBandList = (int *) CPLMalloc(sizeof(int)*nBandCount);
++ memcpy( panWinBandList, panBandList, sizeof(int)* nBandCount);
++ nWinBandCount = nBandCount;
++
++ nWinBufLoaded = -1;
++
++/* -------------------------------------------------------------------- */
++/* Allocate current scanline buffer. */
++/* -------------------------------------------------------------------- */
++ papCurLineBuf = (void **) CPLMalloc(sizeof(void*) * nWinBandCount );
++ for( int iBand = 0; iBand < nWinBandCount; iBand++ )
++ papCurLineBuf[iBand] =
++ CPLMalloc(nBufXSize * (GDALGetDataTypeSize(eRasterDataType)/8) );
++
++ return CE_None;
++}
++
++/************************************************************************/
++/* TryWinRasterIO() */
++/* */
++/* Try to satisfy the given request based on the currently */
++/* defined window. Return TRUE on success or FALSE on */
++/* failure. On failure, the caller should satisfy the request */
++/* another way (not report an error). */
++/************************************************************************/
++
++int ECWDataset::TryWinRasterIO( GDALRWFlag eFlag,
++ int nXOff, int nYOff, int nXSize, int nYSize,
++ GByte *pabyData, int nBufXSize, int nBufYSize,
++ GDALDataType eDT,
++ int nBandCount, int *panBandList,
++ int nPixelSpace, int nLineSpace,
++ int nBandSpace )
++
++{
++ int iBand, i;
++
++/* -------------------------------------------------------------------- */
++/* Provide default buffer organization. */
++/* -------------------------------------------------------------------- */
++ if( nPixelSpace == 0 )
++ nPixelSpace = GDALGetDataTypeSize( eDT ) / 8;
++ if( nLineSpace == 0 )
++ nLineSpace = nPixelSpace * nBufXSize;
++ if( nBandSpace == 0 )
++ nBandSpace = nLineSpace * nBufYSize;
++
++/* -------------------------------------------------------------------- */
++/* Do some simple tests to see if the current window can */
++/* satisfy our requirement. */
++/* -------------------------------------------------------------------- */
++ if( !bWinActive )
++ return FALSE;
++
++ if( nXOff != nWinXOff || nXSize != nWinXSize )
++ return FALSE;
++
++ if( nBufXSize != nWinBufXSize )
++ return FALSE;
++
++ for( iBand = 0; iBand < nBandCount; iBand++ )
++ {
++ for( i = 0; i < nWinBandCount; i++ )
++ {
++ if( panWinBandList[iBand] == panBandList[iBand] )
++ break;
++ }
++
++ if( i == nWinBandCount )
++ return FALSE;
++ }
++
++ if( nYOff < nWinYOff || nYOff + nYSize > nWinYOff + nWinYSize )
++ return FALSE;
++
++/* -------------------------------------------------------------------- */
++/* Now we try more subtle tests. */
++/* -------------------------------------------------------------------- */
++ {
++ static int nDebugCount = 0;
++
++ if( nDebugCount < 30 )
++ CPLDebug( "ECWDataset",
++ "TryWinRasterIO(%d,%d,%d,%d -> %dx%d) - doing advised read.",
++ nXOff, nYOff, nXSize, nYSize, nBufXSize, nBufYSize );
++
++ if( nDebugCount == 29 )
++ CPLDebug( "ECWDataset", "No more TryWinRasterIO messages will be reported" );
++
++ nDebugCount++;
++ }
++
++/* -------------------------------------------------------------------- */
++/* Actually load data one buffer line at a time. */
++/* -------------------------------------------------------------------- */
++ int iBufLine;
++
++ for( iBufLine = 0; iBufLine < nBufYSize; iBufLine++ )
++ {
++ float fFileLine = ((iBufLine+0.5) / nBufYSize) * nYSize + nYOff;
++ int iWinLine =
++ (int) (((fFileLine - nWinYOff) / nWinYSize) * nWinBufYSize);
++
++ if( iWinLine == nWinBufLoaded + 1 )
++ LoadNextLine();
++
++ if( iWinLine != nWinBufLoaded )
++ return FALSE;
++
++/* -------------------------------------------------------------------- */
++/* Copy out all our target bands. */
++/* -------------------------------------------------------------------- */
++ int iWinBand;
++ for( iBand = 0; iBand < nBandCount; iBand++ )
++ {
++ for( iWinBand = 0; iWinBand < nWinBandCount; iWinBand++ )
++ {
++ if( panWinBandList[iWinBand] == panBandList[iBand] )
++ break;
++ }
++
++ GDALCopyWords( papCurLineBuf[iWinBand], eRasterDataType,
++ GDALGetDataTypeSize( eRasterDataType ) / 8,
++ pabyData + nBandSpace * iBand
++ + iBufLine * nLineSpace, eDT, nPixelSpace,
++ nBufXSize );
++ }
++ }
++
++ return TRUE;
++}
++
++/************************************************************************/
++/* LoadNextLine() */
++/************************************************************************/
++
++CPLErr ECWDataset::LoadNextLine()
++
++{
++ if( !bWinActive )
++ return CE_Failure;
++
++ if( nWinBufLoaded == nWinBufYSize-1 )
++ {
++ CleanupWindow();
++ return CE_Failure;
++ }
++
++ NCSEcwReadStatus eRStatus;
++ eRStatus = poFileView->ReadLineBIL( eNCSRequestDataType, nWinBandCount,
++ papCurLineBuf );
++ if( eRStatus != NCSECW_READ_OK )
++ return CE_Failure;
++
++ nWinBufLoaded++;
++
++ return CE_None;
++}
++
++/************************************************************************/
++/* CleanupWindow() */
++/************************************************************************/
++
++void ECWDataset::CleanupWindow()
++
++{
++ if( !bWinActive )
++ return;
++
++ bWinActive = FALSE;
++ CPLFree( panWinBandList );
++ panWinBandList = NULL;
++
++ for( int iBand = 0; iBand < nWinBandCount; iBand++ )
++ CPLFree( papCurLineBuf[iBand] );
++ CPLFree( papCurLineBuf );
++ papCurLineBuf = NULL;
++}
++
++/************************************************************************/
++/* IRasterIO() */
++/************************************************************************/
++
++CPLErr ECWDataset::IRasterIO( GDALRWFlag eRWFlag,
++ int nXOff, int nYOff, int nXSize, int nYSize,
++ void * pData, int nBufXSize, int nBufYSize,
++ GDALDataType eBufType,
++ int nBandCount, int *panBandMap,
++ int nPixelSpace, int nLineSpace, int nBandSpace)
++
++{
++/* -------------------------------------------------------------------- */
++/* Try to do it based on existing "advised" access. */
++/* -------------------------------------------------------------------- */
++ if( TryWinRasterIO( eRWFlag, nXOff, nYOff, nXSize, nYSize,
++ (GByte *) pData, nBufXSize, nBufYSize,
++ eBufType, nBandCount, panBandMap,
++ nPixelSpace, nLineSpace, nBandSpace ) )
++ return CE_None;
++
++/* -------------------------------------------------------------------- */
++/* If we are requesting a single line at 1:1, we do a multi-band */
++/* AdviseRead() and then TryWinRasterIO() again. */
++/* -------------------------------------------------------------------- */
++ if( nYSize == 1 && nBufYSize == 1 && nBandCount > 1 )
++ {
++ CPLErr eErr;
++
++ eErr = AdviseRead( nXOff, nYOff, nXSize, GetRasterYSize() - nYOff,
++ nBufXSize, GetRasterYSize() - nYOff, eBufType,
++ nBandCount, panBandMap, NULL );
++ if( eErr == CE_None
++ && TryWinRasterIO( eRWFlag, nXOff, nYOff, nXSize, nYSize,
++ (GByte *) pData, nBufXSize, nBufYSize,
++ eBufType, nBandCount, panBandMap,
++ nPixelSpace, nLineSpace, nBandSpace ) )
++ return CE_None;
++ }
++
++/* -------------------------------------------------------------------- */
++/* If we are supersampling we need to fall into the general */
++/* purpose logic. We also use the general logic if we are in */
++/* some cases unlikely to benefit from interleaved access. */
++/* */
++/* The one case we would like to handle better here is the */
++/* nBufYSize == 1 case (requesting a scanline at a time). We */
++/* should eventually have some logic similiar to the band by */
++/* band case where we post a big window for the view, and allow */
++/* sequential reads. */
++/* -------------------------------------------------------------------- */
++ if( nXSize < nBufXSize || nYSize < nBufYSize || nYSize == 1
++ || nBandCount > 100 || nBandCount == 1 || nBufYSize == 1
++ || nBandCount > GetRasterCount() )
++ {
++ return
++ GDALDataset::IRasterIO( eRWFlag, nXOff, nYOff, nXSize, nYSize,
++ pData, nBufXSize, nBufYSize,
++ eBufType,
++ nBandCount, panBandMap,
++ nPixelSpace, nLineSpace, nBandSpace);
++ }
++
++ CPLDebug( "ECWDataset",
++ "RasterIO(%d,%d,%d,%d -> %dx%d) - doing interleaved read.",
++ nXOff, nYOff, nXSize, nYSize, nBufXSize, nBufYSize );
++
++/* -------------------------------------------------------------------- */
++/* Setup view. */
++/* -------------------------------------------------------------------- */
++ UINT32 anBandIndices[100];
++ int i;
++ NCSError eNCSErr;
++ CNCSError oErr;
++
++ for( i = 0; i < nBandCount; i++ )
++ anBandIndices[i] = panBandMap[i] - 1;
++
++ CleanupWindow();
++
++ oErr = poFileView->SetView( nBandCount, anBandIndices,
++ nXOff, nYOff,
++ nXOff + nXSize - 1,
++ nYOff + nYSize - 1,
++ nBufXSize, nBufYSize );
++ eNCSErr = oErr.GetErrorNumber();
++
++ if( eNCSErr != NCS_SUCCESS )
++ {
++ CPLError( CE_Failure, CPLE_AppDefined,
++ "%s", NCSGetErrorText(eNCSErr) );
++
++ return CE_Failure;
++ }
++
++/* -------------------------------------------------------------------- */
++/* Setup working scanline, and the pointers into it. */
++/* -------------------------------------------------------------------- */
++ int nDataTypeSize = (GDALGetDataTypeSize(eRasterDataType) / 8);
++ GByte *pabyBILScanline = (GByte *) CPLMalloc(nBufXSize * nDataTypeSize *
++ nBandCount);
++ GByte **papabyBIL = (GByte **) CPLMalloc(nBandCount * sizeof(void*));
++
++ for( i = 0; i < nBandCount; i++ )
++ papabyBIL[i] = pabyBILScanline + i * nBufXSize * nDataTypeSize;
++
++/* -------------------------------------------------------------------- */
++/* Read back all the data for the requested view. */
++/* -------------------------------------------------------------------- */
++ for( int iScanline = 0; iScanline < nBufYSize; iScanline++ )
++ {
++ NCSEcwReadStatus eRStatus;
++
++ eRStatus = poFileView->ReadLineBIL( eNCSRequestDataType, nBandCount,
++ (void **) papabyBIL );
++ if( eRStatus != NCSECW_READ_OK )
++ {
++ CPLFree( papabyBIL );
++ CPLFree( pabyBILScanline );
++ CPLError( CE_Failure, CPLE_AppDefined,
++ "NCScbmReadViewLineBIL failed." );
++ return CE_Failure;
++ }
++
++ for( i = 0; i < nBandCount; i++ )
++ {
++ GDALCopyWords(
++ pabyBILScanline + i * nDataTypeSize * nBufXSize,
++ eRasterDataType, nDataTypeSize,
++ ((GByte *) pData) + nLineSpace * iScanline + nBandSpace * i,
++ eBufType, nPixelSpace,
++ nBufXSize );
++ }
++ }
++
++ CPLFree( pabyBILScanline );
++ CPLFree( papabyBIL );
++
++ return CE_None;
++}
++
++/************************************************************************/
++/* OpenJPEG2000() */
++/************************************************************************/
++
++GDALDataset *ECWDataset::OpenJPEG2000( GDALOpenInfo * poOpenInfo )
++
++{
++ if( EQUALN(poOpenInfo->pszFilename,"J2K_SUBFILE:",12) )
++ return Open( poOpenInfo );
++
++ else if( poOpenInfo->nHeaderBytes >= 16
++ && (memcmp( poOpenInfo->pabyHeader, jpc_header,
++ sizeof(jpc_header) ) == 0
++ || memcmp( poOpenInfo->pabyHeader, jp2_header,
++ sizeof(jp2_header) ) == 0) )
++ return Open( poOpenInfo );
++
++ else
++ return NULL;
++}
++
++/************************************************************************/
++/* OpenECW() */
++/* */
++/* Open method that only supports ECW files. */
++/************************************************************************/
++
++GDALDataset *ECWDataset::OpenECW( GDALOpenInfo * poOpenInfo )
++
++{
++/* -------------------------------------------------------------------- */
++/* This has to either be a file on disk ending in .ecw or a */
++/* ecwp: protocol url. */
++/* -------------------------------------------------------------------- */
++ if( (!EQUAL(CPLGetExtension(poOpenInfo->pszFilename),"ecw")
++ || poOpenInfo->nHeaderBytes == 0)
++ && !EQUALN(poOpenInfo->pszFilename,"ecwp:",5) )
++ return( NULL );
++
++ return Open( poOpenInfo );
++}
++
++/************************************************************************/
++/* Open() */
++/************************************************************************/
++
++GDALDataset *ECWDataset::Open( GDALOpenInfo * poOpenInfo )
++
++{
++ CNCSJP2FileView *poFileView = NULL;
++ NCSError eErr;
++ CNCSError oErr;
++ int i;
++ FILE *fpVSIL = NULL;
++ VSIIOStream *poIOStream = NULL;
++ int bUsingCustomStream = FALSE;
++
++ ECWInitialize();
++
++/* -------------------------------------------------------------------- */
++/* This will disable automatic conversion of YCbCr to RGB by */
++/* the toolkit. */
++/* -------------------------------------------------------------------- */
++ if( !CSLTestBoolean( CPLGetConfigOption("CONVERT_YCBCR_TO_RGB","YES") ) )
++ NCSecwSetConfig(NCSCFG_JP2_MANAGE_ICC, FALSE);
++
++/* -------------------------------------------------------------------- */
++/* Handle special case of a JPEG2000 data stream in another file. */
++/* -------------------------------------------------------------------- */
++ if( EQUALN(poOpenInfo->pszFilename,"J2K_SUBFILE:",12) )
++ {
++ int subfile_offset=-1, subfile_size=-1;
++ char *real_filename = NULL;
++
++ if( sscanf( poOpenInfo->pszFilename, "J2K_SUBFILE:%d,%d",
++ &subfile_offset, &subfile_size ) != 2 )
++ {
++ CPLError( CE_Failure, CPLE_OpenFailed,
++ "Failed to parse J2K_SUBFILE specification." );
++ return NULL;
++ }
++
++ real_filename = (char *) strstr(poOpenInfo->pszFilename,",");
++ if( real_filename != NULL )
++ real_filename = (char *) strstr(real_filename+1,",");
++ if( real_filename != NULL )
++ real_filename++;
++ else
++ {
++ CPLError( CE_Failure, CPLE_OpenFailed,
++ "Failed to parse J2K_SUBFILE specification." );
++ return NULL;
++ }
++
++ fpVSIL = VSIFOpenL( real_filename, "rb" );
++ if( fpVSIL == NULL )
++ {
++ CPLError( CE_Failure, CPLE_OpenFailed,
++ "Failed to open %s.", real_filename );
++ return NULL;
++ }
++
++ if( hECWDatasetMutex == NULL )
++ {
++ hECWDatasetMutex = CPLCreateMutex();
++ }
++ else if( !CPLAcquireMutex( hECWDatasetMutex, 60.0 ) )
++ {
++ CPLDebug( "ECW", "Failed to acquire mutex in 60s." );
++ }
++ else
++ {
++ CPLDebug( "ECW", "Got mutex." );
++ }
++ poIOStream = new VSIIOStream();
++ poIOStream->Access( fpVSIL, FALSE, real_filename,
++ subfile_offset, subfile_size );
++
++ poFileView = new CNCSJP2FileView();
++ oErr = poFileView->Open( poIOStream, false );
++
++ // The CNCSJP2FileView (poFileView) object may not use the iostream
++ // (poIOStream) passed to the CNCSJP2FileView::Open() method if an
++ // iostream is already available to the ECW JPEG 2000 SDK for a given
++ // file. Consequently, if the iostream passed to
++ // CNCSJP2FileView::Open() does not become the underlying iostream
++ // of the CNCSJP2FileView object, then it should be deleted.
++ //
++ // In addition, the underlying iostream of the CNCSJP2FileView object
++ // should not be deleted until all CNCSJP2FileView objects using the
++ // underlying iostream are deleted. Consequently, each time a
++ // CNCSJP2FileView object is created, the nFileViewCount attribute
++ // of the underlying VSIIOStream object must be incremented for use
++ // in the ECWDataset destructor.
++
++ VSIIOStream * poUnderlyingIOStream =
++ ((VSIIOStream *)(poFileView->GetStream()));
++
++ if ( poUnderlyingIOStream )
++ poUnderlyingIOStream->nFileViewCount++;
++
++ if ( poIOStream != poUnderlyingIOStream )
++ {
++ delete poIOStream;
++ }
++ else
++ {
++ bUsingCustomStream = TRUE;
++ }
++
++ CPLReleaseMutex( hECWDatasetMutex );
++
++ if( oErr.GetErrorNumber() != NCS_SUCCESS )
++ {
++ if (poFileView)
++ delete poFileView;
++
++ char* pszErrorMessage = oErr.GetErrorMessage();
++ CPLError( CE_Failure, CPLE_AppDefined,
++ "%s", pszErrorMessage );
++ NCSFree(pszErrorMessage);
++
++ return NULL;
++ }
++ }
++
++/* -------------------------------------------------------------------- */
++/* This has to either be a file on disk ending in .ecw or a */
++/* ecwp: protocol url. */
++/* -------------------------------------------------------------------- */
++ else if( poOpenInfo->nHeaderBytes >= 16
++ && (memcmp( poOpenInfo->pabyHeader, jpc_header,
++ sizeof(jpc_header) ) == 0
++ || memcmp( poOpenInfo->pabyHeader, jp2_header,
++ sizeof(jp2_header) ) == 0) )
++ /* accept JPEG2000 files */;
++ else if( (!EQUAL(CPLGetExtension(poOpenInfo->pszFilename),"ecw")
++ || poOpenInfo->nHeaderBytes == 0)
++ && !EQUALN(poOpenInfo->pszFilename,"ecwp:",5) )
++ return( NULL );
++
++/* -------------------------------------------------------------------- */
++/* Open the client interface. */
++/* -------------------------------------------------------------------- */
++ if( poFileView == NULL )
++ {
++ poFileView = new CNCSFile();
++ oErr = poFileView->Open( (char *) poOpenInfo->pszFilename, FALSE );
++ eErr = oErr.GetErrorNumber();
++ CPLDebug( "ECW", "NCScbmOpenFileView(%s): eErr = %d",
++ poOpenInfo->pszFilename, (int) eErr );
++ if( eErr != NCS_SUCCESS )
++ {
++ CPLError( CE_Failure, CPLE_AppDefined,
++ "%s", NCSGetErrorText(eErr) );
++ return NULL;
++ }
++ }
++
++/* -------------------------------------------------------------------- */
++/* Create a corresponding GDALDataset. */
++/* -------------------------------------------------------------------- */
++ ECWDataset *poDS;
++
++ poDS = new ECWDataset();
++
++ poDS->poFileView = poFileView;
++
++ if( fpVSIL != NULL )
++ poDS->nPamFlags |= GPF_DISABLED;
++
++ poDS->bUsingCustomStream = bUsingCustomStream;
++
++/* -------------------------------------------------------------------- */
++/* Fetch general file information. */
++/* -------------------------------------------------------------------- */
++ poDS->psFileInfo = poFileView->GetFileInfo();
++
++ CPLDebug( "ECW", "FileInfo: SizeXY=%d,%d Bands=%d\n"
++ " OriginXY=%g,%g CellIncrementXY=%g,%g\n",
++ poDS->psFileInfo->nSizeX,
++ poDS->psFileInfo->nSizeY,
++ poDS->psFileInfo->nBands,
++ poDS->psFileInfo->fOriginX,
++ poDS->psFileInfo->fOriginY,
++ poDS->psFileInfo->fCellIncrementX,
++ poDS->psFileInfo->fCellIncrementY );
++
++/* -------------------------------------------------------------------- */
++/* Establish raster info. */
++/* -------------------------------------------------------------------- */
++ poDS->nRasterXSize = poDS->psFileInfo->nSizeX;
++ poDS->nRasterYSize = poDS->psFileInfo->nSizeY;
++
++/* -------------------------------------------------------------------- */
++/* Establish the GDAL data type that corresponds. A few NCS */
++/* data types have no direct corresponding value in GDAL so we */
++/* will coerce to something sufficiently similar. */
++/* -------------------------------------------------------------------- */
++ poDS->eNCSRequestDataType = poDS->psFileInfo->eCellType;
++ switch( poDS->psFileInfo->eCellType )
++ {
++ case NCSCT_UINT8:
++ poDS->eRasterDataType = GDT_Byte;
++ break;
++
++ case NCSCT_UINT16:
++ poDS->eRasterDataType = GDT_UInt16;
++ break;
++
++ case NCSCT_UINT32:
++ case NCSCT_UINT64:
++ poDS->eRasterDataType = GDT_UInt32;
++ poDS->eNCSRequestDataType = NCSCT_UINT32;
++ break;
++
++ case NCSCT_INT8:
++ case NCSCT_INT16:
++ poDS->eRasterDataType = GDT_Int16;
++ poDS->eNCSRequestDataType = NCSCT_INT16;
++ break;
++
++ case NCSCT_INT32:
++ case NCSCT_INT64:
++ poDS->eRasterDataType = GDT_Int32;
++ poDS->eNCSRequestDataType = NCSCT_INT32;
++ break;
++
++ case NCSCT_IEEE4:
++ poDS->eRasterDataType = GDT_Float32;
++ break;
++
++ case NCSCT_IEEE8:
++ poDS->eRasterDataType = GDT_Float64;
++ break;
++ }
++
++/* -------------------------------------------------------------------- */
++/* Create band information objects. */
++/* -------------------------------------------------------------------- */
++ for( i=0; i < poDS->psFileInfo->nBands; i++ )
++ poDS->SetBand( i+1, new ECWRasterBand( poDS, i+1 ) );
++
++/* -------------------------------------------------------------------- */
++/* Look for supporting coordinate system information. */
++/* -------------------------------------------------------------------- */
++ if( fpVSIL == NULL )
++ {
++ GDALJP2Metadata oJP2Geo;
++
++ if( oJP2Geo.ReadAndParse( poOpenInfo->pszFilename ) )
++ {
++ poDS->pszProjection = CPLStrdup(oJP2Geo.pszProjection);
++ poDS->bGeoTransformValid = oJP2Geo.bHaveGeoTransform;
++ memcpy( poDS->adfGeoTransform, oJP2Geo.adfGeoTransform,
++ sizeof(double) * 6 );
++ poDS->nGCPCount = oJP2Geo.nGCPCount;
++ poDS->pasGCPList = oJP2Geo.pasGCPList;
++ oJP2Geo.pasGCPList = NULL;
++ oJP2Geo.nGCPCount = 0;
++ }
++ else
++ {
++ poDS->ECW2WKTProjection();
++ }
++ }
++
++/* -------------------------------------------------------------------- */
++/* Check for world file for ecw files. */
++/* -------------------------------------------------------------------- */
++ if( !poDS->bGeoTransformValid
++ && EQUAL(CPLGetExtension(poOpenInfo->pszFilename),"ecw") )
++ {
++ poDS->bGeoTransformValid |=
++ GDALReadWorldFile( poOpenInfo->pszFilename, ".eww",
++ poDS->adfGeoTransform )
++ || GDALReadWorldFile( poOpenInfo->pszFilename, ".ecww",
++ poDS->adfGeoTransform )
++ || GDALReadWorldFile( poOpenInfo->pszFilename, ".wld",
++ poDS->adfGeoTransform );
++ }
++
++/* -------------------------------------------------------------------- */
++/* Initialize any PAM information. */
++/* -------------------------------------------------------------------- */
++ poDS->SetDescription( poOpenInfo->pszFilename );
++ poDS->TryLoadXML();
++
++ return( poDS );
++}
++
++/************************************************************************/
++/* GetGCPCount() */
++/************************************************************************/
++
++int ECWDataset::GetGCPCount()
++
++{
++ if( nGCPCount != 0 )
++ return nGCPCount;
++ else
++ return GDALPamDataset::GetGCPCount();
++}
++
++/************************************************************************/
++/* GetGCPProjection() */
++/************************************************************************/
++
++const char *ECWDataset::GetGCPProjection()
++
++{
++ if( nGCPCount > 0 )
++ return pszProjection;
++ else
++ return GDALPamDataset::GetGCPProjection();
++}
++
++/************************************************************************/
++/* GetGCP() */
++/************************************************************************/
++
++const GDAL_GCP *ECWDataset::GetGCPs()
++
++{
++ if( nGCPCount != 0 )
++ return pasGCPList;
++ else
++ return GDALPamDataset::GetGCPs();
++}
++
++/************************************************************************/
++/* GetProjectionRef() */
++/************************************************************************/
++
++const char *ECWDataset::GetProjectionRef()
++
++{
++ if( pszProjection == NULL )
++ return GDALPamDataset::GetProjectionRef();
++ else
++ return pszProjection;
++}
++
++/************************************************************************/
++/* GetGeoTransform() */
++/************************************************************************/
++
++CPLErr ECWDataset::GetGeoTransform( double * padfTransform )
++
++{
++ if( bGeoTransformValid )
++ {
++ memcpy( padfTransform, adfGeoTransform, sizeof(double) * 6 );
++ return( CE_None );
++ }
++ else
++ return GDALPamDataset::GetGeoTransform( padfTransform );
++}
++
++/************************************************************************/
++/* GetMetadata() */
++/************************************************************************/
++
++char **ECWDataset::GetMetadata( const char *pszDomain )
++
++{
++ if( pszDomain == NULL || !EQUAL(pszDomain,"GML") )
++ return GDALPamDataset::GetMetadata( pszDomain );
++ else
++ return papszGMLMetadata;
++}
++
++/************************************************************************/
++/* ECW2WKTProjection() */
++/* */
++/* Set the dataset pszProjection string in OGC WKT format by */
++/* looking up the ECW (GDT) coordinate system info in */
++/* ecw_cs.dat support data file. */
++/* */
++/* This code is likely still broken in some circumstances. For */
++/* instance, I haven't been careful about changing the linear */
++/* projection parameters (false easting/northing) if the units */
++/* is feet. Lots of cases missing here, and in ecw_cs.dat. */
++/************************************************************************/
++
++void ECWDataset::ECW2WKTProjection()
++
++{
++ if( psFileInfo == NULL )
++ return;
++
++/* -------------------------------------------------------------------- */
++/* Capture Geotransform. */
++/* */
++/* We will try to ignore the provided file information if it is */
++/* origin (0,0) and pixel size (1,1). I think sometimes I have */
++/* also seen pixel increments of 0 on invalid datasets. */
++/* -------------------------------------------------------------------- */
++ if( psFileInfo->fOriginX != 0.0
++ || psFileInfo->fOriginY != 0.0
++ || (psFileInfo->fCellIncrementX != 0.0
++ && psFileInfo->fCellIncrementX != 1.0)
++ || (psFileInfo->fCellIncrementY != 0.0
++ && psFileInfo->fCellIncrementY != 1.0) )
++ {
++ bGeoTransformValid = TRUE;
++
++ adfGeoTransform[0] = psFileInfo->fOriginX;
++ adfGeoTransform[1] = psFileInfo->fCellIncrementX;
++ adfGeoTransform[2] = 0.0;
++
++ adfGeoTransform[3] = psFileInfo->fOriginY;
++ adfGeoTransform[4] = 0.0;
++ adfGeoTransform[5] = psFileInfo->fCellIncrementY;
++ }
++
++/* -------------------------------------------------------------------- */
++/* do we have projection and datum? */
++/* -------------------------------------------------------------------- */
++ CPLDebug( "ECW", "projection=%s, datum=%s",
++ psFileInfo->szProjection, psFileInfo->szDatum );
++
++ if( EQUAL(psFileInfo->szProjection,"RAW") )
++ return;
++
++/* -------------------------------------------------------------------- */
++/* Set projection if we have it. */
++/* -------------------------------------------------------------------- */
++ OGRSpatialReference oSRS;
++ CPLString osUnits = "METERS";
++
++ if( psFileInfo->eCellSizeUnits == ECW_CELL_UNITS_FEET )
++ osUnits = "FEET";
++
++ if( oSRS.importFromERM( psFileInfo->szProjection,
++ psFileInfo->szDatum,
++ osUnits ) != OGRERR_NONE )
++ return;
++
++ oSRS.exportToWkt( &pszProjection );
++}
++
++#endif /* def FRMT_ecw */
++
++/************************************************************************/
++/* ECWInitialize() */
++/* */
++/* Initialize NCS library. We try to defer this as late as */
++/* possible since de-initializing it seems to be expensive/slow */
++/* on some system. */
++/************************************************************************/
++
++void ECWInitialize()
++
++{
++ CPLMutexHolder oHolder( &hECWDatasetMutex );
++
++ if( bNCSInitialized )
++ return;
++
++ NCSecwInit();
++ bNCSInitialized = TRUE;
++
++ const char *pszEcwCacheSize =
++ CPLGetConfigOption("GDAL_ECW_CACHE_MAXMEM",NULL);
++
++ if( pszEcwCacheSize != NULL )
++ NCSecwSetConfig(NCSCFG_CACHE_MAXMEM, atoi(pszEcwCacheSize) );
++}
++
++/************************************************************************/
++/* GDALDeregister_ECW() */
++/************************************************************************/
++
++void GDALDeregister_ECW( GDALDriver * )
++
++{
++ /* For unknown reason, this cleanup can take up to 3 seconds (see #3134). */
++ /* Not worth it */
++#ifdef notdef
++ if( bNCSInitialized )
++ {
++ bNCSInitialized = FALSE;
++ NCSecwShutdown();
++ }
++
++ if( hECWDatasetMutex != NULL )
++ {
++ CPLDestroyMutex( hECWDatasetMutex );
++ hECWDatasetMutex = NULL;
++ }
++#endif
++}
++
++/************************************************************************/
++/* GDALRegister_ECW() */
++/************************************************************************/
++
++void GDALRegister_ECW()
++
++{
++#ifdef FRMT_ecw
++ GDALDriver *poDriver;
++
++ if (! GDAL_CHECK_VERSION("ECW driver"))
++ return;
++
++ if( GDALGetDriverByName( "ECW" ) == NULL )
++ {
++ poDriver = new GDALDriver();
++
++ poDriver->SetDescription( "ECW" );
++ poDriver->SetMetadataItem( GDAL_DMD_LONGNAME,
++ "ERMapper Compressed Wavelets" );
++ poDriver->SetMetadataItem( GDAL_DMD_HELPTOPIC,
++ "frmt_ecw.html" );
++ poDriver->SetMetadataItem( GDAL_DMD_EXTENSION, "ecw" );
++
++ poDriver->pfnOpen = ECWDataset::OpenECW;
++ poDriver->pfnUnloadDriver = GDALDeregister_ECW;
++#ifdef HAVE_COMPRESS
++// The create method seems not to work properly.
++// poDriver->pfnCreate = ECWCreateECW;
++ poDriver->pfnCreateCopy = ECWCreateCopyECW;
++ poDriver->SetMetadataItem( GDAL_DMD_CREATIONDATATYPES,
++ "Byte" );
++ poDriver->SetMetadataItem( GDAL_DMD_CREATIONOPTIONLIST,
++"<CreationOptionList>"
++" <Option name='TARGET' type='float' description='Compression Percentage' />"
++" <Option name='PROJ' type='string' description='ERMapper Projection Name'/>"
++" <Option name='DATUM' type='string' description='ERMapper Datum Name' />"
++" <Option name='LARGE_OK' type='boolean' description='Enable compressing 500+MB files'/>"
++"</CreationOptionList>" );
++#endif
++
++ GetGDALDriverManager()->RegisterDriver( poDriver );
++ }
++#endif /* def FRMT_ecw */
++}
++
++/************************************************************************/
++/* GDALRegister_ECW_JP2ECW() */
++/* */
++/* This function exists so that when built as a plugin, there */
++/* is a function that will register both drivers. */
++/************************************************************************/
++
++void GDALRegister_ECW_JP2ECW()
++
++{
++ GDALRegister_ECW();
++ GDALRegister_JP2ECW();
++}
++
++/************************************************************************/
++/* GDALRegister_JP2ECW() */
++/************************************************************************/
++void GDALRegister_JP2ECW()
++
++{
++#ifdef FRMT_ecw
++ GDALDriver *poDriver;
++
++ if (! GDAL_CHECK_VERSION("JP2ECW driver"))
++ return;
++
++ if( GDALGetDriverByName( "JP2ECW" ) == NULL )
++ {
++ poDriver = new GDALDriver();
++
++ poDriver->SetDescription( "JP2ECW" );
++ poDriver->SetMetadataItem( GDAL_DMD_LONGNAME,
++ "ERMapper JPEG2000" );
++ poDriver->SetMetadataItem( GDAL_DMD_HELPTOPIC,
++ "frmt_jp2ecw.html" );
++ poDriver->SetMetadataItem( GDAL_DMD_EXTENSION, "jp2" );
++
++ poDriver->pfnOpen = ECWDataset::OpenJPEG2000;
++#ifdef HAVE_COMPRESS
++ poDriver->pfnCreate = ECWCreateJPEG2000;
++ poDriver->pfnCreateCopy = ECWCreateCopyJPEG2000;
++ poDriver->SetMetadataItem( GDAL_DMD_CREATIONDATATYPES,
++ "Byte UInt16 Int16 UInt32 Int32 Float32 Float64" );
++ poDriver->SetMetadataItem( GDAL_DMD_CREATIONOPTIONLIST,
++"<CreationOptionList>"
++" <Option name='TARGET' type='float' description='Compression Percentage' />"
++" <Option name='PROJ' type='string' description='ERMapper Projection Name'/>"
++" <Option name='DATUM' type='string' description='ERMapper Datum Name' />"
++" <Option name='LARGE_OK' type='boolean' description='Enable compressing 500+MB files'/>"
++" <Option name='GeoJP2' type='boolean' description='defaults to ON'/>"
++" <Option name='GMLJP2' type='boolean' description='defaults to ON'/>"
++" <Option name='PROFILE' type='string-select'>"
++" <Value>BASELINE_0</Value>"
++" <Value>BASELINE_1</Value>"
++" <Value>BASELINE_2</Value>"
++" <Value>NPJE</Value>"
++" <Value>EPJE</Value>"
++" </Option>"
++" <Option name='PROGRESSION' type='string-select'>"
++" <Value>LRCP</Value>"
++" <Value>RLCP</Value>"
++" <Value>RPCL</Value>"
++" </Option>"
++" <Option name='CODESTREAM_ONLY' type='boolean' description='No JP2 wrapper'/>"
++" <Option name='LEVELS' type='int'/>"
++" <Option name='LAYERS' type='int'/>"
++" <Option name='PRECINCT_WIDTH' type='int'/>"
++" <Option name='PRECINCT_HEIGHT' type='int'/>"
++" <Option name='TILE_WIDTH' type='int'/>"
++" <Option name='TILE_HEIGHT' type='int'/>"
++" <Option name='INCLUDE_SOP' type='boolean'/>"
++" <Option name='INCLUDE_EPH' type='boolean'/>"
++" <Option name='DECOMPRESS_LAYERS' type='int'/>"
++" <Option name='DECOMPRESS_RECONSTRUCTION_PARAMETER' type='float'/>"
++"</CreationOptionList>" );
++#endif
++
++ GetGDALDriverManager()->RegisterDriver( poDriver );
++ }
++#endif /* def FRMT_ecw */
++}
++
++
++
++
+diff -urNad gdal-1.6.3~/frmts/ecw/pkg/Makefile.in gdal-1.6.3/frmts/ecw/pkg/Makefile.in
+--- gdal-1.6.3~/frmts/ecw/pkg/Makefile.in 1970-01-01 01:00:00.000000000 +0100
++++ gdal-1.6.3/frmts/ecw/pkg/Makefile.in 2009-12-01 00:24:42.000000000 +0100
+@@ -0,0 +1,36 @@
++CC = @CC@
++CXX = @CXX@
++LD = @CXX@
++
++CPPFLAGS = -DFRMT_ecw @GDAL_INC@ @ECW_INCLUDE@ @CPPFLAGS@
++CXXFLAGS = -DFRMT_ecw @CXX_WFLAGS@ @ECW_INCLUDE@ @CXX_PIC@
++
++RANLIB = @RANLIB@
++SO_EXT = @SO_EXT@
++LD_SHARED = @LD_SHARED@
++
++LIBS = @LIBS@
++
++AUTOLOAD_DIR = @AUTOLOAD_DIR@
++
++GLIBNAME = gdal_ECW_JP2ECW.so
++
++default: $(GLIBNAME)
++
++install: default
++ install -d $(AUTOLOAD_DIR)
++ cp $(GLIBNAME) $(AUTOLOAD_DIR)
++
++clean:
++ rm -f $(GLIBNAME) *.o
++
++distclean: clean
++ rm -fr Makefile config.status config.log autom*.cache
++
++
++$(GLIBNAME): ecwcreatecopy.o ecwdataset.o jp2userbox.o
++ $(LD_SHARED) ecwcreatecopy.o ecwdataset.o jp2userbox.o $(LIBS) -o $(GLIBNAME)
++
++%.o: %.cpp
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
++
+diff -urNad gdal-1.6.3~/frmts/ecw/pkg/README gdal-1.6.3/frmts/ecw/pkg/README
+--- gdal-1.6.3~/frmts/ecw/pkg/README 1970-01-01 01:00:00.000000000 +0100
++++ gdal-1.6.3/frmts/ecw/pkg/README 2009-12-01 00:24:42.000000000 +0100
+@@ -0,0 +1,30 @@
++ Standalone ECW 3.3 Drivers for GDAL
++ ===================================
++
++This package contains standalone drivers for ECW raster files that
++can be built after GDAL has been built and installed as an "autoload"
++driver.
++
++The purpose of this code is allowing a separate building of the ECW
++driver which is problematic for implied EULA. Note that in order to use
++GDAL (and GDAL-based third parties product) along with Ermapper ECW SDK
++you need to read, understand and approve the Ermapper EULA which can be
++retrieved on the Ermapper site.
++
++To build this driver it is necessary for it to find GDAL and ECW support
++files. Typically the configure and build process would look something
++like:
++
++./configure --with-gdal=/usr/local/bin/gdal-config --with-ecw=/usr/local/ecw3.3
++make
++sudo make install
++
++The ecw3.3 directory will contain the required includes and libraries as
++compiled starting from the source Ermapper SDK.
++
++See also:
++
++ http://www.gdal.org/
++ http://www.ermapper.com/
++ http://ermapper.com/Downloads.aspx?v=315
++
+diff -urNad gdal-1.6.3~/frmts/ecw/pkg/aclocal.m4 gdal-1.6.3/frmts/ecw/pkg/aclocal.m4
+--- gdal-1.6.3~/frmts/ecw/pkg/aclocal.m4 1970-01-01 01:00:00.000000000 +0100
++++ gdal-1.6.3/frmts/ecw/pkg/aclocal.m4 2009-12-01 00:24:42.000000000 +0100
+@@ -0,0 +1,202 @@
++AC_DEFUN(AC_COMPILER_LOCALHACK,
++[
++ AC_MSG_CHECKING([if local/include already standard])
++
++ rm -f comp.out
++ echo 'int main() { int i = 1; if( *((unsigned char *) &i) == 0 ) printf( "BIGENDIAN"); return 0; }' >> conftest.c
++ ${CC} $CPPFLAGS $EXTRA_INCLUDES -o conftest conftest.c 2> comp.out
++ COMP_CHECK=`grep "system directory" comp.out | grep /usr/local/include`
++ if test -z "$COMP_CHECK" ; then
++ AC_MSG_RESULT([no, everything is ok])
++ else
++ AC_MSG_RESULT([yes, stripping extras])
++ CXXFLAGS=`echo "$CXXFLAGS " | sed "s/-I\/usr\/local\/include //"`
++ CFLAGS=`echo "$CFLAGS " | sed "s/-I\/usr\/local\/include //"`
++ EXTRA_INCLUDES=`echo "$EXTRA_INCLUDES " | sed "s/-I\/usr\/local\/include //"`
++ fi
++ rm -f comp.out
++])
++
++AC_DEFUN(AC_COMPILER_WFLAGS,
++[
++ # Remove -g from compile flags, we will add via CFG variable if
++ # we need it.
++ CXXFLAGS=`echo "$CXXFLAGS " | sed "s/-g //"`
++ CFLAGS=`echo "$CFLAGS " | sed "s/-g //"`
++
++ # check for GNU compiler, and use -Wall
++ if test "$GCC" = "yes"; then
++ C_WFLAGS="-Wall"
++ AC_DEFINE(USE_GNUCC, 1, [Define to 1, if you have GNU C
++ compiler])
++ fi
++ if test "$GXX" = "yes"; then
++ CXX_WFLAGS="-Wall"
++ AC_DEFINE(USE_GNUCC, 1, [Define to 1, if you have GNU C
++ compiler])
++ fi
++ AC_SUBST(CXX_WFLAGS,$CXX_WFLAGS)
++ AC_SUBST(C_WFLAGS,$C_WFLAGS)
++])
++
++AC_DEFUN(AC_COMPILER_PIC,
++[
++ echo 'void f(){}' > conftest.c
++ if test -z "`${CC-cc} -fPIC -c conftest.c 2>&1`"; then
++ C_PIC=-fPIC
++ else
++ C_PIC=
++ fi
++ if test -z "`${CXX-g++} -fPIC -c conftest.c 2>&1`"; then
++ CXX_PIC=-fPIC
++ else
++ CXX_PIC=
++ fi
++ rm -f conftest*
++
++ AC_SUBST(CXX_PIC,$CXX_PIC)
++ AC_SUBST(C_PIC,$C_PIC)
++])
++
++dnl
++dnl Try to find something to link shared libraries with. Use "c++ -shared"
++dnl in preference to "ld -shared" because it will link in required c++
++dnl run time support for us.
++dnl
++AC_DEFUN(AC_LD_SHARED,
++[
++ echo 'void g(); int main(){ g(); return 0; }' > conftest1.c
++
++ echo '#include <stdio.h>' > conftest2.c
++ echo 'void g(); void g(){printf("");}' >> conftest2.c
++ ${CC} ${C_PIC} -c conftest2.c
++
++ SO_EXT="so"
++ export SO_EXT
++ LD_SHARED="/bin/true"
++ if test ! -z "`uname -a | grep IRIX`" ; then
++ IRIX_ALL=-all
++ else
++ IRIX_ALL=
++ fi
++
++ AC_ARG_WITH(ld-shared,[ --with-ld-shared=cmd provide shared library link],,)
++
++ if test "$with_ld_shared" != "" ; then
++ if test "$with_ld_shared" = "no" ; then
++ echo "user disabled shared library support."
++ else
++ echo "using user supplied .so link command ... $with_ld_shared"
++ fi
++ LD_SHARED="$with_ld_shared"
++ fi
++
++ dnl Check For Cygwin case. Actually verify that the produced DLL works.
++
++ if test ! -z "`uname -a | grep CYGWIN`" \
++ -a "$LD_SHARED" = "/bin/true" \
++ -a -z "`gcc -shared conftest2.o -o libconftest.dll`" ; then
++ if test -z "`${CC} conftest1.c -L./ -lconftest -o conftest1 2>&1`"; then
++ LD_LIBRARY_PATH_OLD="$LD_LIBRARY_PATH"
++ if test -z "$LD_LIBRARY_PATH" ; then
++ LD_LIBRARY_PATH="`pwd`"
++ else
++ LD_LIBRARY_PATH="`pwd`:$LD_LIBRARY_PATH"
++ fi
++ export LD_LIBRARY_PATH
++ if test -z "`./conftest1 2>&1`" ; then
++ echo "checking for Cygwin gcc -shared ... yes"
++ LD_SHARED="c++ -shared"
++ SO_EXT="dll"
++ fi
++ LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
++ fi
++ fi
++
++ dnl Test special MacOS (Darwin) case.
++
++ if test ! -z "`uname | grep Darwin`" \
++ -a "$LD_SHARED" = "/bin/true" \
++ -a -z "`${CXX} -dynamiclib conftest2.o -o libconftest.so 2>&1`" ; then
++ ${CC} -c conftest1.c
++ if test -z "`${CXX} conftest1.o libconftest.so -o conftest1 2>&1`"; then
++ DYLD_LIBRARY_PATH_OLD="$DYLD_LIBRARY_PATH"
++ if test -z "$DYLD_LIBRARY_PATH" ; then
++ DYLD_LIBRARY_PATH="`pwd`"
++ else
++ DYLD_LIBRARY_PATH="`pwd`:$DYLD_LIBRARY_PATH"
++ fi
++ export DYLD_LIBRARY_PATH
++ if test -z "`./conftest1 2>&1`" ; then
++ echo "checking for ${CXX} -dynamiclib ... yes"
++ LD_SHARED="${CXX} -dynamiclib"
++ SO_EXT=dylib
++ fi
++ DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH_OLD"
++ fi
++ rm -f conftest1.o
++ fi
++
++ if test "$LD_SHARED" = "/bin/true" \
++ -a -z "`${CXX} -shared $IRIX_ALL conftest2.o -o libconftest.so 2>&1|grep -v WARNING`" ; then
++ if test -z "`${CC} conftest1.c libconftest.so -o conftest1 2>&1`"; then
++ LD_LIBRARY_PATH_OLD="$LD_LIBRARY_PATH"
++ if test -z "$LD_LIBRARY_PATH" ; then
++ LD_LIBRARY_PATH="`pwd`"
++ else
++ LD_LIBRARY_PATH="`pwd`:$LD_LIBRARY_PATH"
++ fi
++ export LD_LIBRARY_PATH
++ if test -z "`./conftest1 2>&1`" ; then
++ echo "checking for ${CXX} -shared ... yes"
++ LD_SHARED="${CXX} -shared $IRIX_ALL"
++ else
++ echo "checking for ${CXX} -shared ... no(3)"
++ fi
++ LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
++ else
++ echo "checking for ${CXX} -shared ... no(2)"
++ fi
++ else
++ if test "$LD_SHARED" = "/bin/true" ; then
++ echo "checking for ${CXX} -shared ... no(1)"
++ fi
++ fi
++
++ if test "$LD_SHARED" = "/bin/true" \
++ -a -z "`ld -shared conftest2.o -o libconftest.so 2>&1`" ; then
++ if test -z "`${CC} conftest1.c libconftest.so -o conftest1 2>&1`"; then
++ LD_LIBRARY_PATH_OLD="$LD_LIBRARY_PATH"
++ if test -z "$LD_LIBRARY_PATH" ; then
++ LD_LIBRARY_PATH="`pwd`"
++ else
++ LD_LIBRARY_PATH="`pwd`:$LD_LIBRARY_PATH"
++ fi
++ export LD_LIBRARY_PATH
++ if test -z "`./conftest1 2>&1`" ; then
++ echo "checking for ld -shared ... yes"
++ LD_SHARED="ld -shared"
++ fi
++ LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
++ fi
++ fi
++
++ if test "$LD_SHARED" = "/bin/true" ; then
++ echo "checking for ld -shared ... no"
++ if test ! -x /bin/true ; then
++ LD_SHARED=/usr/bin/true
++ fi
++ fi
++ if test "$LD_SHARED" = "no" ; then
++ if test -x /bin/true ; then
++ LD_SHARED=/bin/true
++ else
++ LD_SHARED=/usr/bin/true
++ fi
++ fi
++
++ rm -f conftest* libconftest*
++
++ AC_SUBST(LD_SHARED,$LD_SHARED)
++ AC_SUBST(SO_EXT,$SO_EXT)
++])
+diff -urNad gdal-1.6.3~/frmts/ecw/pkg/configure gdal-1.6.3/frmts/ecw/pkg/configure
+--- gdal-1.6.3~/frmts/ecw/pkg/configure 1970-01-01 01:00:00.000000000 +0100
++++ gdal-1.6.3/frmts/ecw/pkg/configure 2009-12-01 00:24:42.000000000 +0100
+@@ -0,0 +1,4498 @@
++#! /bin/sh
++# Guess values for system-dependent variables and create Makefiles.
++# Generated by GNU Autoconf 2.61.
++#
++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++# 2002, 2003, 2004, 2005, 2006 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=:
++ # Zsh 3.x and 4.x performs 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
++
++
++
++
++# PATH needs CR
++# 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
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++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.)
++as_nl='
++'
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++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
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++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
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++if test "x$CONFIG_SHELL" = x; then
++ if (eval ":") 2>/dev/null; then
++ as_have_required=yes
++else
++ as_have_required=no
++fi
++
++ if test $as_have_required = yes && (eval ":
++(as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=\$LINENO
++ as_lineno_2=\$LINENO
++ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
++ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
++") 2> /dev/null; then
++ :
++else
++ as_candidate_shells=
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ case $as_dir in
++ /*)
++ for as_base in sh bash ksh sh5; do
++ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
++ done;;
++ esac
++done
++IFS=$as_save_IFS
++
++
++ for as_shell in $as_candidate_shells $SHELL; do
++ # Try only shells that exist, to save several forks.
++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++ { ("$as_shell") 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs 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
++
++
++:
++_ASEOF
++}; then
++ CONFIG_SHELL=$as_shell
++ as_have_required=yes
++ if { "$as_shell" 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs 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_func_return () {
++ (exit $1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = "$1" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test $exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
++
++_ASEOF
++}; then
++ break
++fi
++
++fi
++
++ done
++
++ if test "x$CONFIG_SHELL" != x; then
++ for as_var in BASH_ENV ENV
++ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ done
++ export CONFIG_SHELL
++ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
++fi
++
++
++ if test $as_have_required = no; then
++ echo This script requires a shell more modern than all the
++ echo shells that I found on your system. Please install a
++ echo modern shell, or manually run the script under such a
++ echo shell if you do have one.
++ { (exit 1); exit 1; }
++fi
++
++
++fi
++
++fi
++
++
++
++(eval "as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0") || {
++ echo No shell found that supports shell functions.
++ echo Please tell autoconf at gnu.org about your system,
++ echo including any error possibly output before this
++ echo message
++}
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. 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" ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # 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
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++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
++fi
++echo >conf$$.file
++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 -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++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=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# 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 7<&0 </dev/null 6>&1
++
++# Name of the host.
++# hostname on some systems (SVR3.2, 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=
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++# Identity of this package.
++PACKAGE_NAME=
++PACKAGE_TARNAME=
++PACKAGE_VERSION=
++PACKAGE_STRING=
++PACKAGE_BUGREPORT=
++
++ac_unique_file="Makefile.in"
++ac_subst_vars='SHELL
++PATH_SEPARATOR
++PACKAGE_NAME
++PACKAGE_TARNAME
++PACKAGE_VERSION
++PACKAGE_STRING
++PACKAGE_BUGREPORT
++exec_prefix
++prefix
++program_transform_name
++bindir
++sbindir
++libexecdir
++datarootdir
++datadir
++sysconfdir
++sharedstatedir
++localstatedir
++includedir
++oldincludedir
++docdir
++infodir
++htmldir
++dvidir
++pdfdir
++psdir
++libdir
++localedir
++mandir
++DEFS
++ECHO_C
++ECHO_N
++ECHO_T
++LIBS
++build_alias
++host_alias
++target_alias
++CC
++CFLAGS
++LDFLAGS
++CPPFLAGS
++ac_ct_CC
++EXEEXT
++OBJEXT
++CXX
++CXXFLAGS
++ac_ct_CXX
++RANLIB
++CXX_PIC
++C_PIC
++LD_SHARED
++SO_EXT
++CXX_WFLAGS
++C_WFLAGS
++GDAL_CONFIG
++GDAL_INC
++AUTOLOAD_DIR
++ECW_INCLUDE
++ECW_SETTING
++LIBOBJS
++LTLIBOBJS'
++ac_subst_files=''
++ ac_precious_vars='build_alias
++host_alias
++target_alias
++CC
++CFLAGS
++LDFLAGS
++LIBS
++CPPFLAGS
++CXX
++CXXFLAGS
++CCC'
++
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++# 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}'
++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=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_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=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_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=\$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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=\$ac_optarg ;;
++
++ -without-* | --without-*)
++ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=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 ;;
++
++ -*) { echo "$as_me: error: unrecognized option: $ac_option
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; }
++ ;;
++
++ *=*)
++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
++ { (exit 1); exit 1; }; }
++ eval $ac_envvar=\$ac_optarg
++ export $ac_envvar ;;
++
++ *)
++ # FIXME: should be removed in autoconf 3.0.
++ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ 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'`
++ { echo "$as_me: error: missing argument to $ac_option" >&2
++ { (exit 1); exit 1; }; }
++fi
++
++# Be sure to have absolute directory names.
++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
++ case $ac_val in
++ [\\/$]* | ?:[\\/]* ) continue;;
++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
++ esac
++ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++ { (exit 1); exit 1; }; }
++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
++ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
++ If a cross compiler is detected then cross compile mode will be used." >&2
++ 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 .` ||
++ { echo "$as_me: error: Working directory cannot be determined" >&2
++ { (exit 1); exit 1; }; }
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++ { echo "$as_me: error: pwd does not report name of working directory" >&2
++ { (exit 1); exit 1; }; }
++
++
++# 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 -- "$0" ||
++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$0" : 'X\(//\)[^/]' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$0" |
++ 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 .."
++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
++ { (exit 1); exit 1; }; }
++fi
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
++ { (exit 1); exit 1; }; }
++ 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 this package 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/PACKAGE]
++ --htmldir=DIR html documentation [DOCDIR]
++ --dvidir=DIR dvi documentation [DOCDIR]
++ --pdfdir=DIR pdf documentation [DOCDIR]
++ --psdir=DIR ps documentation [DOCDIR]
++_ACEOF
++
++ cat <<\_ACEOF
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++
++ cat <<\_ACEOF
++
++Optional Packages:
++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
++ --with-ld-shared=cmd provide shared library link
++ --with-gdal=PATH GDAL (PATH is path to gdal-config)
++ --with-autoload=DIR Directory for autoload drivers
++ --with-ecw=ARG Include ECW support (ARG=ECW SDK Path)
++
++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 C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
++ you have headers in a nonstandard directory <include dir>
++ CXX C++ compiler command
++ CXXFLAGS C++ compiler flags
++
++Use these variables to override the choices made by `configure' or to help
++it to find libraries and programs with nonstandard names/locations.
++
++_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" || continue
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`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
++ 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
++configure
++generated by GNU Autoconf 2.61
++
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006 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
++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 $as_me, which was
++generated by GNU Autoconf 2.61. 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=.
++ 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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ esac
++ case $ac_pass in
++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
++ 2)
++ ac_configure_args1="$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
++ ac_configure_args="$ac_configure_args '$ac_arg'"
++ ;;
++ esac
++ done
++done
++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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
++
++ cat <<\_ASBOX
++## ---------------- ##
++## Cache variables. ##
++## ---------------- ##
++_ASBOX
++ 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ *) $as_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
++
++ cat <<\_ASBOX
++## ----------------- ##
++## Output variables. ##
++## ----------------- ##
++_ASBOX
++ echo
++ for ac_var in $ac_subst_vars
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++
++ if test -n "$ac_subst_files"; then
++ cat <<\_ASBOX
++## ------------------- ##
++## File substitutions. ##
++## ------------------- ##
++_ASBOX
++ echo
++ for ac_var in $ac_subst_files
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++ fi
++
++ if test -s confdefs.h; then
++ cat <<\_ASBOX
++## ----------- ##
++## confdefs.h. ##
++## ----------- ##
++_ASBOX
++ echo
++ cat confdefs.h
++ echo
++ fi
++ test "$ac_signal" != 0 &&
++ echo "$as_me: caught signal $ac_signal"
++ 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'; { (exit 1); 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
++
++# 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
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer explicitly selected file to automatically selected ones.
++if test -n "$CONFIG_SITE"; then
++ set x "$CONFIG_SITE"
++elif test "x$prefix" != xNONE; then
++ set x "$prefix/share/config.site" "$prefix/etc/config.site"
++else
++ set x "$ac_default_prefix/share/config.site" \
++ "$ac_default_prefix/etc/config.site"
++fi
++shift
++for ac_site_file
++do
++ if test -r "$ac_site_file"; then
++ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
++echo "$as_me: loading site script $ac_site_file" >&6;}
++ sed 's/^/| /' "$ac_site_file" >&5
++ . "$ac_site_file"
++ fi
++done
++
++
++# 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,)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,set)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
++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
++ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
++echo "$as_me: former value: $ac_old_val" >&2;}
++ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
++echo "$as_me: current value: $ac_new_val" >&2;}
++ ac_cache_corrupted=:
++ fi;;
++ esac
++ # Pass precious variables to config.status.
++ if test "$ac_new_set" = set; then
++ case $ac_new_val in
++ *\'*) ac_arg=$ac_var=`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.
++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
++ esac
++ fi
++done
++if $ac_cache_corrupted; then
++ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
++echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
++ { (exit 1); exit 1; }; }
++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
++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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="${ac_tool_prefix}gcc"
++ echo "$as_me:$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
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_CC="gcc"
++ echo "$as_me:$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
++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf at gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf at gnu.org." >&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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="${ac_tool_prefix}cc"
++ echo "$as_me:$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
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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"
++ echo "$as_me:$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
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
++ echo "$as_me:$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
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_CC="$ac_prog"
++ echo "$as_me:$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
++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}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:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf at gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf at gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
++fi
++
++fi
++
++
++test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&5
++echo "$as_me: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++
++# Provide some information about the compiler.
++echo "$as_me:$LINENO: checking for C compiler version" >&5
++ac_compiler=`set X $ac_compile; echo $2`
++{ (ac_try="$ac_compiler --version >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler --version >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -v >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -v >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -V >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -V >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files a.out 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.
++{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
++echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
++ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
++#
++# List of possible output files, starting from the most likely.
++# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
++# only as a last resort. b.out is created by i960 compilers.
++ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
++#
++# The IRIX 6 linker writes into existing files which may not be
++# executable, retaining their permissions. Remove them first so a
++# subsequent execution test works.
++ac_rmfiles=
++for ac_file in $ac_files
++do
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link_default") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; 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 | *.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
++
++{ echo "$as_me:$LINENO: result: $ac_file" >&5
++echo "${ECHO_T}$ac_file" >&6; }
++if test -z "$ac_file"; then
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
++See \`config.log' for more details." >&5
++echo "$as_me: error: C compiler cannot create executables
++See \`config.log' for more details." >&2;}
++ { (exit 77); exit 77; }; }
++fi
++
++ac_exeext=$ac_cv_exeext
++
++# Check that the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
++echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
++# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
++# If not cross compiling, check that we can run a simple program.
++if test "$cross_compiling" != yes; then
++ if { ac_try='./$ac_file'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cross_compiling=no
++ else
++ if test "$cross_compiling" = maybe; then
++ cross_compiling=yes
++ else
++ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++ fi
++fi
++{ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++
++rm -f a.out a.exe conftest$ac_cv_exeext b.out
++ac_clean_files=$ac_clean_files_save
++# Check that the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
++echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
++echo "${ECHO_T}$cross_compiling" >&6; }
++
++{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
++echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; 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 | *.o | *.obj ) ;;
++ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++ break;;
++ * ) break;;
++ esac
++done
++else
++ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest$ac_cv_exeext
++{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
++echo "${ECHO_T}$ac_cv_exeext" >&6; }
++
++rm -f conftest.$ac_ext
++EXEEXT=$ac_cv_exeext
++ac_exeext=$EXEEXT
++{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
++if test "${ac_cv_objext+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; 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 ) ;;
++ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
++ break;;
++ esac
++done
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest.$ac_cv_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
++echo "${ECHO_T}$ac_cv_objext" >&6; }
++OBJEXT=$ac_cv_objext
++ac_objext=$OBJEXT
++{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
++if test "${ac_cv_c_compiler_gnu+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++#ifndef __GNUC__
++ choke me
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_compiler_gnu=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ 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
++{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
++GCC=`test $ac_compiler_gnu = yes && echo yes`
++ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
++if test "${ac_cv_prog_cc_g+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_g=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ CFLAGS=""
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_c_werror_flag=$ac_save_c_werror_flag
++ CFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_g=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++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
++{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
++echo "${ECHO_T}$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
++{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
++echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
++if test "${ac_cv_prog_cc_c89+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_prog_cc_c89=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* 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"
++ 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_c89=$ac_arg
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++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)
++ { echo "$as_me:$LINENO: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6; } ;;
++ xno)
++ { echo "$as_me:$LINENO: result: unsupported" >&5
++echo "${ECHO_T}unsupported" >&6; } ;;
++ *)
++ CC="$CC $ac_cv_prog_cc_c89"
++ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
++esac
++
++
++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=cpp
++ac_cpp='$CXXCPP $CPPFLAGS'
++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++if test -z "$CXX"; then
++ if test -n "$CCC"; then
++ CXX=$CCC
++ else
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
++ 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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CXX+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CXX"; then
++ ac_cv_prog_CXX="$CXX" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CXX=$ac_cv_prog_CXX
++if test -n "$CXX"; then
++ { echo "$as_me:$LINENO: result: $CXX" >&5
++echo "${ECHO_T}$CXX" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$CXX" && break
++ done
++fi
++if test -z "$CXX"; then
++ ac_ct_CXX=$CXX
++ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_CXX"; then
++ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_CXX="$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
++if test -n "$ac_ct_CXX"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
++echo "${ECHO_T}$ac_ct_CXX" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$ac_ct_CXX" && break
++done
++
++ if test "x$ac_ct_CXX" = x; then
++ CXX="g++"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf at gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf at gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ CXX=$ac_ct_CXX
++ fi
++fi
++
++ fi
++fi
++# Provide some information about the compiler.
++echo "$as_me:$LINENO: checking for C++ compiler version" >&5
++ac_compiler=`set X $ac_compile; echo $2`
++{ (ac_try="$ac_compiler --version >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler --version >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -v >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -v >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -V >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -V >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++
++{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
++echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
++if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++#ifndef __GNUC__
++ choke me
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_cxx_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_compiler_gnu=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_compiler_gnu=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
++echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
++GXX=`test $ac_compiler_gnu = yes && echo yes`
++ac_test_CXXFLAGS=${CXXFLAGS+set}
++ac_save_CXXFLAGS=$CXXFLAGS
++{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
++echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
++if test "${ac_cv_prog_cxx_g+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
++ ac_cxx_werror_flag=yes
++ ac_cv_prog_cxx_g=no
++ CXXFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_cxx_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cxx_g=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ CXXFLAGS=""
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_cxx_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
++ CXXFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_cxx_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cxx_g=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++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_cxx_werror_flag=$ac_save_cxx_werror_flag
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
++echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
++if test "$ac_test_CXXFLAGS" = set; then
++ CXXFLAGS=$ac_save_CXXFLAGS
++elif test $ac_cv_prog_cxx_g = yes; then
++ if test "$GXX" = yes; then
++ CXXFLAGS="-g -O2"
++ else
++ CXXFLAGS="-g"
++ fi
++else
++ if test "$GXX" = yes; then
++ CXXFLAGS="-O2"
++ else
++ CXXFLAGS=
++ 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}ranlib", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ranlib; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_RANLIB+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
++ echo "$as_me:$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
++ { echo "$as_me:$LINENO: result: $RANLIB" >&5
++echo "${ECHO_T}$RANLIB" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}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
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_RANLIB="ranlib"
++ echo "$as_me:$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
++ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
++echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_RANLIB" = x; then
++ RANLIB=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf at gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf at gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ RANLIB=$ac_ct_RANLIB
++ fi
++else
++ RANLIB="$ac_cv_prog_RANLIB"
++fi
++
++
++ echo 'void f(){}' > conftest.c
++ if test -z "`${CC-cc} -fPIC -c conftest.c 2>&1`"; then
++ C_PIC=-fPIC
++ else
++ C_PIC=
++ fi
++ if test -z "`${CXX-g++} -fPIC -c conftest.c 2>&1`"; then
++ CXX_PIC=-fPIC
++ else
++ CXX_PIC=
++ fi
++ rm -f conftest*
++
++ CXX_PIC=$CXX_PIC
++
++ C_PIC=$C_PIC
++
++
++
++ echo 'void g(); int main(){ g(); return 0; }' > conftest1.c
++
++ echo '#include <stdio.h>' > conftest2.c
++ echo 'void g(); void g(){printf("");}' >> conftest2.c
++ ${CC} ${C_PIC} -c conftest2.c
++
++ SO_EXT="so"
++ export SO_EXT
++ LD_SHARED="/bin/true"
++ if test ! -z "`uname -a | grep IRIX`" ; then
++ IRIX_ALL=-all
++ else
++ IRIX_ALL=
++ fi
++
++
++# Check whether --with-ld-shared was given.
++if test "${with_ld_shared+set}" = set; then
++ withval=$with_ld_shared;
++fi
++
++
++ if test "$with_ld_shared" != "" ; then
++ if test "$with_ld_shared" = "no" ; then
++ echo "user disabled shared library support."
++ else
++ echo "using user supplied .so link command ... $with_ld_shared"
++ fi
++ LD_SHARED="$with_ld_shared"
++ fi
++
++
++ if test ! -z "`uname -a | grep CYGWIN`" \
++ -a "$LD_SHARED" = "/bin/true" \
++ -a -z "`gcc -shared conftest2.o -o libconftest.dll`" ; then
++ if test -z "`${CC} conftest1.c -L./ -lconftest -o conftest1 2>&1`"; then
++ LD_LIBRARY_PATH_OLD="$LD_LIBRARY_PATH"
++ if test -z "$LD_LIBRARY_PATH" ; then
++ LD_LIBRARY_PATH="`pwd`"
++ else
++ LD_LIBRARY_PATH="`pwd`:$LD_LIBRARY_PATH"
++ fi
++ export LD_LIBRARY_PATH
++ if test -z "`./conftest1 2>&1`" ; then
++ echo "checking for Cygwin gcc -shared ... yes"
++ LD_SHARED="c++ -shared"
++ SO_EXT="dll"
++ fi
++ LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
++ fi
++ fi
++
++
++ if test ! -z "`uname | grep Darwin`" \
++ -a "$LD_SHARED" = "/bin/true" \
++ -a -z "`${CXX} -dynamiclib conftest2.o -o libconftest.so 2>&1`" ; then
++ ${CC} -c conftest1.c
++ if test -z "`${CXX} conftest1.o libconftest.so -o conftest1 2>&1`"; then
++ DYLD_LIBRARY_PATH_OLD="$DYLD_LIBRARY_PATH"
++ if test -z "$DYLD_LIBRARY_PATH" ; then
++ DYLD_LIBRARY_PATH="`pwd`"
++ else
++ DYLD_LIBRARY_PATH="`pwd`:$DYLD_LIBRARY_PATH"
++ fi
++ export DYLD_LIBRARY_PATH
++ if test -z "`./conftest1 2>&1`" ; then
++ echo "checking for ${CXX} -dynamiclib ... yes"
++ LD_SHARED="${CXX} -dynamiclib"
++ SO_EXT=dylib
++ fi
++ DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH_OLD"
++ fi
++ rm -f conftest1.o
++ fi
++
++ if test "$LD_SHARED" = "/bin/true" \
++ -a -z "`${CXX} -shared $IRIX_ALL conftest2.o -o libconftest.so 2>&1|grep -v WARNING`" ; then
++ if test -z "`${CC} conftest1.c libconftest.so -o conftest1 2>&1`"; then
++ LD_LIBRARY_PATH_OLD="$LD_LIBRARY_PATH"
++ if test -z "$LD_LIBRARY_PATH" ; then
++ LD_LIBRARY_PATH="`pwd`"
++ else
++ LD_LIBRARY_PATH="`pwd`:$LD_LIBRARY_PATH"
++ fi
++ export LD_LIBRARY_PATH
++ if test -z "`./conftest1 2>&1`" ; then
++ echo "checking for ${CXX} -shared ... yes"
++ LD_SHARED="${CXX} -shared $IRIX_ALL"
++ else
++ echo "checking for ${CXX} -shared ... no(3)"
++ fi
++ LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
++ else
++ echo "checking for ${CXX} -shared ... no(2)"
++ fi
++ else
++ if test "$LD_SHARED" = "/bin/true" ; then
++ echo "checking for ${CXX} -shared ... no(1)"
++ fi
++ fi
++
++ if test "$LD_SHARED" = "/bin/true" \
++ -a -z "`ld -shared conftest2.o -o libconftest.so 2>&1`" ; then
++ if test -z "`${CC} conftest1.c libconftest.so -o conftest1 2>&1`"; then
++ LD_LIBRARY_PATH_OLD="$LD_LIBRARY_PATH"
++ if test -z "$LD_LIBRARY_PATH" ; then
++ LD_LIBRARY_PATH="`pwd`"
++ else
++ LD_LIBRARY_PATH="`pwd`:$LD_LIBRARY_PATH"
++ fi
++ export LD_LIBRARY_PATH
++ if test -z "`./conftest1 2>&1`" ; then
++ echo "checking for ld -shared ... yes"
++ LD_SHARED="ld -shared"
++ fi
++ LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
++ fi
++ fi
++
++ if test "$LD_SHARED" = "/bin/true" ; then
++ echo "checking for ld -shared ... no"
++ if test ! -x /bin/true ; then
++ LD_SHARED=/usr/bin/true
++ fi
++ fi
++ if test "$LD_SHARED" = "no" ; then
++ if test -x /bin/true ; then
++ LD_SHARED=/bin/true
++ else
++ LD_SHARED=/usr/bin/true
++ fi
++ fi
++
++ rm -f conftest* libconftest*
++
++ LD_SHARED=$LD_SHARED
++
++ SO_EXT=$SO_EXT
++
++
++
++ # Remove -g from compile flags, we will add via CFG variable if
++ # we need it.
++ CXXFLAGS=`echo "$CXXFLAGS " | sed "s/-g //"`
++ CFLAGS=`echo "$CFLAGS " | sed "s/-g //"`
++
++ # check for GNU compiler, and use -Wall
++ if test "$GCC" = "yes"; then
++ C_WFLAGS="-Wall"
++
++cat >>confdefs.h <<\_ACEOF
++#define USE_GNUCC 1
++_ACEOF
++
++ fi
++ if test "$GXX" = "yes"; then
++ CXX_WFLAGS="-Wall"
++
++cat >>confdefs.h <<\_ACEOF
++#define USE_GNUCC 1
++_ACEOF
++
++ fi
++ CXX_WFLAGS=$CXX_WFLAGS
++
++ C_WFLAGS=$C_WFLAGS
++
++
++
++
++
++# Check whether --with-gdal was given.
++if test "${with_gdal+set}" = set; then
++ withval=$with_gdal;
++fi
++
++
++if test "$with_gdal" = "yes" -o "$with_gdal" = "" ; then
++
++ if test "`basename xx/$with_gdal`" = "gdal-config" ; then
++ GDAL_CONFIG="$with_gdal"
++ fi
++
++ if test -z "$GDAL_CONFIG" ; then
++ # Extract the first word of "gdal-config", so it can be a program name with args.
++set dummy gdal-config; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_path_GDAL_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $GDAL_CONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_GDAL_CONFIG="$GDAL_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_path_GDAL_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++ test -z "$ac_cv_path_GDAL_CONFIG" && ac_cv_path_GDAL_CONFIG="no"
++ ;;
++esac
++fi
++GDAL_CONFIG=$ac_cv_path_GDAL_CONFIG
++if test -n "$GDAL_CONFIG"; then
++ { echo "$as_me:$LINENO: result: $GDAL_CONFIG" >&5
++echo "${ECHO_T}$GDAL_CONFIG" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ fi
++
++ if test "$GDAL_CONFIG" = "no" ; then
++ { { echo "$as_me:$LINENO: error: couldn't find gdal-config" >&5
++echo "$as_me: error: couldn't find gdal-config" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++
++elif test -n "$with_gdal" -a "$with_gdal" != "no" ; then
++
++ GDAL_CONFIG=$with_gdal
++
++ if test -f "$GDAL_CONFIG" -a -x "$GDAL_CONFIG" ; then
++ { echo "$as_me:$LINENO: result: user supplied gdal-config ($GDAL_CONFIG)" >&5
++echo "${ECHO_T}user supplied gdal-config ($GDAL_CONFIG)" >&6; }
++ else
++ { { echo "$as_me:$LINENO: error: '$GDAL_CONFIG' is not an executable. Make sure you use --with-gdal=/path/to/gdal-config" >&5
++echo "$as_me: error: '$GDAL_CONFIG' is not an executable. Make sure you use --with-gdal=/path/to/gdal-config" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++
++else
++
++ { { echo "$as_me:$LINENO: error: gdal required to build GDAL ECW 3.3 driver" >&5
++echo "$as_me: error: gdal required to build GDAL ECW 3.3 driver" >&2;}
++ { (exit 1); exit 1; }; }
++
++fi
++
++LIBS="`$GDAL_CONFIG --libs` $LIBS"
++GDAL_INC=`$GDAL_CONFIG --cflags`
++
++GDAL_INC=$GDAL_INC
++
++
++
++# Check whether --with-autoload was given.
++if test "${with_autoload+set}" = set; then
++ withval=$with_autoload;
++fi
++
++
++if test "$with_autoload" != "" ; then
++ AUTOLOAD_DIR=$with_autoload
++else
++ if $GDAL_CONFIG --autoload > /dev/null 2>&1 ; then
++ AUTOLOAD_DIR=`$GDAL_CONFIG --autoload`
++ else
++ AUTOLOAD_DIR=`$GDAL_CONFIG --prefix`/lib/gdalplugins
++ fi
++fi
++
++{ echo "$as_me:$LINENO: result: using $AUTOLOAD_DIR as GDAL shared library autoload directory" >&5
++echo "${ECHO_T}using $AUTOLOAD_DIR as GDAL shared library autoload directory" >&6; }
++AUTOLOAD_DIR=$AUTOLOAD_DIR
++
++
++
++ECW_SETTING=no
++ECW_INCLUDE=
++export ECW_INCLUDE ECW_SETTING
++
++
++# Check whether --with-ecw was given.
++if test "${with_ecw+set}" = set; then
++ withval=$with_ecw;
++fi
++
++
++if test ! -z "`uname | grep Darwin`" ; then
++ CARBON_FRAMEWORK="-framework Carbon"
++else
++ CARBON_FRAMEWORK=
++fi
++
++if test "$with_ecw" = "no" ; then
++ { { echo "$as_me:$LINENO: error: ECW required for this driver, please install ECW 3.3+ and rebuild" >&5
++echo "$as_me: error: ECW required for this driver, please install ECW 3.3+ and rebuild" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++if test "$with_ecw" = "yes" -o "$with_ecw" = "" ; then
++
++
++{ echo "$as_me:$LINENO: checking for NCScbmOpenFileView in -lNCSEcw" >&5
++echo $ECHO_N "checking for NCScbmOpenFileView in -lNCSEcw... $ECHO_C" >&6; }
++if test "${ac_cv_lib_NCSEcw_NCScbmOpenFileView+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lNCSEcw -lNCSCnet -lNCSUtil $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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 NCScbmOpenFileView ();
++int
++main ()
++{
++return NCScbmOpenFileView ();
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_NCSEcw_NCScbmOpenFileView=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_NCSEcw_NCScbmOpenFileView=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_NCSEcw_NCScbmOpenFileView" >&5
++echo "${ECHO_T}$ac_cv_lib_NCSEcw_NCScbmOpenFileView" >&6; }
++if test $ac_cv_lib_NCSEcw_NCScbmOpenFileView = yes; then
++ ECW_SETTING=yes
++else
++ ECW_SETTING=no
++fi
++
++
++ if test "$ECW_SETTING" = "yes" ; then
++ LIBS="-lNCSEcw -lNCSCnet -lNCSUtil $LIBS"
++ fi
++
++ if test "$ECW_SETTING" = "no" ; then
++ { echo "$as_me:$LINENO: checking for NCScbmOpenFileView in -lecwj2" >&5
++echo $ECHO_N "checking for NCScbmOpenFileView in -lecwj2... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ecwj2_NCScbmOpenFileView+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lecwj2 $CARBON_FRAMEWORK $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* 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 NCScbmOpenFileView ();
++int
++main ()
++{
++return NCScbmOpenFileView ();
++ ;
++ return 0;
++}
++_ACEOF
++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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ecwj2_NCScbmOpenFileView=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_ecwj2_NCScbmOpenFileView=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ecwj2_NCScbmOpenFileView" >&5
++echo "${ECHO_T}$ac_cv_lib_ecwj2_NCScbmOpenFileView" >&6; }
++if test $ac_cv_lib_ecwj2_NCScbmOpenFileView = yes; then
++ ECW_SETTING=yes
++else
++ ECW_SETTING=no
++fi
++
++ if test "$ECW_SETTING" = "yes" ; then
++ LIBS="-lecwj2 $CARBON_FRAMEWORK $LIBS"
++ fi
++ fi
++
++else
++
++ { echo "$as_me:$LINENO: checking for libNCSEcw.so or libecwj2" >&5
++echo $ECHO_N "checking for libNCSEcw.so or libecwj2... $ECHO_C" >&6; }
++ ECW_SETTING=yes
++ if test -r $with_ecw/lib/libNCSCnet.so -o -r $with_ecw/lib/libNCSCnet.dylib ; then
++ LIBS="-L$with_ecw/lib -lNCSEcw -lNCSCnet -lNCSUtil $LIBS"
++ { echo "$as_me:$LINENO: result: found in $with_ecw/lib." >&5
++echo "${ECHO_T}found in $with_ecw/lib." >&6; }
++ elif test -r $with_ecw/lib/libNCSCNet.so -o -r $with_ecw/lib/libNCSCNet.dylib ; then
++ LIBS="-L$with_ecw/lib -lNCSEcw -lNCSCNet -lNCSUtil $LIBS"
++ { echo "$as_me:$LINENO: result: found in $with_ecw/lib." >&5
++echo "${ECHO_T}found in $with_ecw/lib." >&6; }
++ elif test -r $with_ecw/bin/libNCSEcw.so -o -r $with_ecw/bin/libNCSEcw.dylib ; then
++ LIBS="-L$with_ecw/bin -lNCSEcw -lNCSEcw -lNCSCnet $LIBS"
++ { echo "$as_me:$LINENO: result: found in $with_ecw/bin." >&5
++echo "${ECHO_T}found in $with_ecw/bin." >&6; }
++ elif test -r $with_ecw/lib/libecwj2.dylib ; then
++ LIBS="-L$with_ecw/lib -lecwj2 $CARBON_FRAMEWORK $LIBS"
++ { echo "$as_me:$LINENO: result: found libecwj2 in $with_ecw/lib." >&5
++echo "${ECHO_T}found libecwj2 in $with_ecw/lib." >&6; }
++ else
++ { { echo "$as_me:$LINENO: error: not found in $with_ecw/lib or $with_ecw/bin." >&5
++echo "$as_me: error: not found in $with_ecw/lib or $with_ecw/bin." >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++
++ { echo "$as_me:$LINENO: checking for NCSECWClient.h in $with_ecw/include" >&5
++echo $ECHO_N "checking for NCSECWClient.h in $with_ecw/include... $ECHO_C" >&6; }
++ if test -r $with_ecw/include/NCSECWClient.h ; then
++ { echo "$as_me:$LINENO: result: found." >&5
++echo "${ECHO_T}found." >&6; }
++ ECW_INCLUDE="-I$with_ecw/include"
++ else
++ { { echo "$as_me:$LINENO: error: not found." >&5
++echo "$as_me: error: not found." >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++fi
++
++ECW_INCLUDE=$ECW_INCLUDE
++
++ECW_SETTING=$ECW_SETTING
++
++
++
++rm -f conftest*
++
++ac_config_files="$ac_config_files Makefile"
++
++
++
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++# Transform confdefs.h into DEFS.
++# Protect against shell expansion while executing Makefile rules.
++# Protect against Makefile macro expansion.
++#
++# If the first sed substitution is executed (which looks for macros that
++# take arguments), then branch to the quote section. Otherwise,
++# look for a macro that doesn't take arguments.
++ac_script='
++t clear
++:clear
++s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
++t quote
++s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
++t quote
++b any
++:quote
++s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
++s/\[/\\&/g
++s/\]/\\&/g
++s/\$/$$/g
++H
++:any
++${
++ g
++ s/^\n//
++ s/\n/ /g
++ p
++}
++'
++DEFS=`sed -n "$ac_script" confdefs.h`
++
++
++ac_libobjs=
++ac_ltlibobjs=
++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=`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.
++ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIBOBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++
++: ${CONFIG_STATUS=./config.status}
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
++echo "$as_me: creating $CONFIG_STATUS" >&6;}
++cat >$CONFIG_STATUS <<_ACEOF
++#! $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}
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++## --------------------- ##
++## 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=:
++ # Zsh 3.x and 4.x performs 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
++
++
++
++
++# PATH needs CR
++# 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
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++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.)
++as_nl='
++'
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++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
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++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
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. 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" ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # 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
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++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
++fi
++echo >conf$$.file
++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 -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++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=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# 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
++
++# 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 $as_me, which was
++generated by GNU Autoconf 2.61. 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
++
++cat >>$CONFIG_STATUS <<_ACEOF
++# Files that config.status was made for.
++config_files="$ac_config_files"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++ac_cs_usage="\
++\`$as_me' instantiates files from templates according to the
++current configuration.
++
++Usage: $0 [OPTIONS] [FILE]...
++
++ -h, --help print this help, then exit
++ -V, --version print version number and configuration settings, then exit
++ -q, --quiet 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
++
++Configuration files:
++$config_files
++
++Report bugs to <bug-autoconf at gnu.org>."
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ac_cs_version="\\
++config.status
++configured by $0, generated by GNU Autoconf 2.61,
++ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
++
++Copyright (C) 2006 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'
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If no file are specified by the user, then we need to provide default
++# value. By we need to know if files were specified by the user.
++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=$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 )
++ echo "$ac_cs_version"; exit ;;
++ --debug | --debu | --deb | --de | --d | -d )
++ debug=: ;;
++ --file | --fil | --fi | --f )
++ $ac_shift
++ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
++ ac_need_defaults=false;;
++ --he | --h | --help | --hel | -h )
++ 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.
++ -*) { echo "$as_me: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; } ;;
++
++ *) ac_config_targets="$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
++if \$ac_cs_recheck; then
++ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
++ CONFIG_SHELL=$SHELL
++ export CONFIG_SHELL
++ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++exec 5>>config.log
++{
++ echo
++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
++## Running $as_me. ##
++_ASBOX
++ echo "$ac_log"
++} >&5
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
++do
++ case $ac_config_target in
++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++
++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
++echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
++ { (exit 1); exit 1; }; };;
++ 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
++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=
++ trap 'exit_status=$?
++ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
++' 0
++ trap '{ (exit 1); exit 1; }' 1 2 13 15
++}
++# Create a (secure) tmp directory for tmp files.
++
++{
++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++ test -n "$tmp" && test -d "$tmp"
++} ||
++{
++ tmp=./conf$$-$RANDOM
++ (umask 077 && mkdir "$tmp")
++} ||
++{
++ echo "$me: cannot create a temporary directory in ." >&2
++ { (exit 1); exit 1; }
++}
++
++#
++# Set up the sed scripts for CONFIG_FILES section.
++#
++
++# No need to generate the scripts if there are no CONFIG_FILES.
++# This happens for instance when ./config.status config.h
++if test -n "$CONFIG_FILES"; then
++
++_ACEOF
++
++
++
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++ cat >conf$$subs.sed <<_ACEOF
++SHELL!$SHELL$ac_delim
++PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
++PACKAGE_NAME!$PACKAGE_NAME$ac_delim
++PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
++PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
++PACKAGE_STRING!$PACKAGE_STRING$ac_delim
++PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
++exec_prefix!$exec_prefix$ac_delim
++prefix!$prefix$ac_delim
++program_transform_name!$program_transform_name$ac_delim
++bindir!$bindir$ac_delim
++sbindir!$sbindir$ac_delim
++libexecdir!$libexecdir$ac_delim
++datarootdir!$datarootdir$ac_delim
++datadir!$datadir$ac_delim
++sysconfdir!$sysconfdir$ac_delim
++sharedstatedir!$sharedstatedir$ac_delim
++localstatedir!$localstatedir$ac_delim
++includedir!$includedir$ac_delim
++oldincludedir!$oldincludedir$ac_delim
++docdir!$docdir$ac_delim
++infodir!$infodir$ac_delim
++htmldir!$htmldir$ac_delim
++dvidir!$dvidir$ac_delim
++pdfdir!$pdfdir$ac_delim
++psdir!$psdir$ac_delim
++libdir!$libdir$ac_delim
++localedir!$localedir$ac_delim
++mandir!$mandir$ac_delim
++DEFS!$DEFS$ac_delim
++ECHO_C!$ECHO_C$ac_delim
++ECHO_N!$ECHO_N$ac_delim
++ECHO_T!$ECHO_T$ac_delim
++LIBS!$LIBS$ac_delim
++build_alias!$build_alias$ac_delim
++host_alias!$host_alias$ac_delim
++target_alias!$target_alias$ac_delim
++CC!$CC$ac_delim
++CFLAGS!$CFLAGS$ac_delim
++LDFLAGS!$LDFLAGS$ac_delim
++CPPFLAGS!$CPPFLAGS$ac_delim
++ac_ct_CC!$ac_ct_CC$ac_delim
++EXEEXT!$EXEEXT$ac_delim
++OBJEXT!$OBJEXT$ac_delim
++CXX!$CXX$ac_delim
++CXXFLAGS!$CXXFLAGS$ac_delim
++ac_ct_CXX!$ac_ct_CXX$ac_delim
++RANLIB!$RANLIB$ac_delim
++CXX_PIC!$CXX_PIC$ac_delim
++C_PIC!$C_PIC$ac_delim
++LD_SHARED!$LD_SHARED$ac_delim
++SO_EXT!$SO_EXT$ac_delim
++CXX_WFLAGS!$CXX_WFLAGS$ac_delim
++C_WFLAGS!$C_WFLAGS$ac_delim
++GDAL_CONFIG!$GDAL_CONFIG$ac_delim
++GDAL_INC!$GDAL_INC$ac_delim
++AUTOLOAD_DIR!$AUTOLOAD_DIR$ac_delim
++ECW_INCLUDE!$ECW_INCLUDE$ac_delim
++ECW_SETTING!$ECW_SETTING$ac_delim
++LIBOBJS!$LIBOBJS$ac_delim
++LTLIBOBJS!$LTLIBOBJS$ac_delim
++_ACEOF
++
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 61; then
++ break
++ elif $ac_last_try; then
++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
++
++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
++if test -n "$ac_eof"; then
++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
++ ac_eof=`expr $ac_eof + 1`
++fi
++
++cat >>$CONFIG_STATUS <<_ACEOF
++cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
++_ACEOF
++sed '
++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
++s/^/s,@/; s/!/@,|#_!!_#|/
++:n
++t n
++s/'"$ac_delim"'$/,g/; t
++s/$/\\/; p
++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
++' >>$CONFIG_STATUS <conf$$subs.sed
++rm -f conf$$subs.sed
++cat >>$CONFIG_STATUS <<_ACEOF
++:end
++s/|#_!!_#|//g
++CEOF$ac_eof
++_ACEOF
++
++
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ 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[ ]*=/{
++s/:*\$(srcdir):*/:/
++s/:*\${srcdir}:*/:/
++s/:*@srcdir@:*/:/
++s/^\([^=]*=[ ]*\):*/\1/
++s/:*$//
++s/^[^=]*=[ ]*$//
++}'
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++fi # test -n "$CONFIG_FILES"
++
++
++for ac_tag in :F $CONFIG_FILES
++do
++ case $ac_tag in
++ :[FHLC]) ac_mode=$ac_tag; continue;;
++ esac
++ case $ac_mode$ac_tag in
++ :[FHL]*:*);;
++ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
++echo "$as_me: error: Invalid tag $ac_tag." >&2;}
++ { (exit 1); exit 1; }; };;
++ :[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="$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 ||
++ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
++echo "$as_me: error: cannot find input file: $ac_f" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++ ac_file_inputs="$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 "`IFS=:
++ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
++ if test x"$ac_file" != x-; then
++ configure_input="$ac_file. $configure_input"
++ { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++ fi
++
++ case $ac_tag in
++ *:-:* | *:-) cat >"$tmp/stdin";;
++ 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 ||
++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"
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`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 ||
++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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`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
++ #
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++# 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=
++
++case `sed -n '/datarootdir/ {
++ p
++ q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p
++' $ac_file_inputs` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ 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
++ sed "$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s&@configure_input@&$configure_input&;t t
++s&@top_builddir@&$ac_top_builddir_sub&;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
++$ac_datarootdir_hack
++" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
++ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined. Please make sure it is defined." >&5
++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 "$tmp/stdin"
++ case $ac_file in
++ -) cat "$tmp/out"; rm -f "$tmp/out";;
++ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
++ esac
++ ;;
++
++
++
++ esac
++
++done # for ac_tag
++
++
++{ (exit 0); exit 0; }
++_ACEOF
++chmod +x $CONFIG_STATUS
++ac_clean_files=$ac_clean_files_save
++
++
++# 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 || { (exit 1); exit 1; }
++fi
++
++
++
++
+diff -urNad gdal-1.6.3~/frmts/ecw/pkg/configure.in gdal-1.6.3/frmts/ecw/pkg/configure.in
+--- gdal-1.6.3~/frmts/ecw/pkg/configure.in 1970-01-01 01:00:00.000000000 +0100
++++ gdal-1.6.3/frmts/ecw/pkg/configure.in 2009-12-01 00:24:42.000000000 +0100
+@@ -0,0 +1,186 @@
++dnl ***************************************************************************
++dnl $Id: configure.in 9971 2006-08-23 20:06:02Z fwarmerdam $
++dnl
++dnl Project: GDAL ECW Plugin
++dnl Purpose: Configure source file.
++dnl Author: Frank Warmerdam, warmerdam at pobox.com
++dnl Changed by: Francesco P Lovergine, frankie at debian.org on the basis of
++dnl GDAL GRASS Plugin
++dnl
++dnl ***************************************************************************
++dnl Copyright (c) 2005, Frank Warmerdam
++dnl Copyright (c) 2008, Francesco P Lovergine
++dnl
++dnl Permission is hereby granted, free of charge, to any person obtaining a
++dnl copy of this software and associated documentation files (the "Software"),
++dnl to deal in the Software without restriction, including without limitation
++dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
++dnl and/or sell copies of the Software, and to permit persons to whom the
++dnl Software is furnished to do so, subject to the following conditions:
++dnl
++dnl The above copyright notice and this permission notice shall be included
++dnl in all copies or substantial portions of the Software.
++dnl
++dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++dnl DEALINGS IN THE SOFTWARE.
++dnl ***************************************************************************
++
++dnl Disable configure caching ... it causes lots of hassles.
++define([AC_CACHE_LOAD], )
++define([AC_CACHE_SAVE], )
++
++dnl Process this file with autoconf to produce a configure script.
++AC_INIT(Makefile.in)
++
++dnl We require autoconf 2.52+ for libtool support on cygwin/mingw hosts
++AC_PREREQ(2.52)
++
++dnl Checks for programs.
++AC_PROG_CC
++AC_PROG_CXX
++
++AC_PROG_RANLIB
++AC_COMPILER_PIC
++AC_LD_SHARED
++AC_COMPILER_WFLAGS
++
++dnl ---------------------------------------------------------------------------
++dnl Find GDAL
++dnl ---------------------------------------------------------------------------
++
++AC_ARG_WITH(gdal,
++[ --with-gdal[=PATH] GDAL (PATH is path to gdal-config)],,)
++
++if test "$with_gdal" = "yes" -o "$with_gdal" = "" ; then
++
++ if test "`basename xx/$with_gdal`" = "gdal-config" ; then
++ GDAL_CONFIG="$with_gdal"
++ fi
++
++ if test -z "$GDAL_CONFIG" ; then
++ AC_PATH_PROG(GDAL_CONFIG, gdal-config, no)
++ fi
++
++ if test "$GDAL_CONFIG" = "no" ; then
++ AC_MSG_ERROR([couldn't find gdal-config])
++ fi
++
++elif test -n "$with_gdal" -a "$with_gdal" != "no" ; then
++
++ GDAL_CONFIG=$with_gdal
++
++ if test -f "$GDAL_CONFIG" -a -x "$GDAL_CONFIG" ; then
++ AC_MSG_RESULT([user supplied gdal-config ($GDAL_CONFIG)])
++ else
++ AC_MSG_ERROR(['$GDAL_CONFIG' is not an executable. Make sure you use --with-gdal=/path/to/gdal-config])
++ fi
++
++else
++
++ AC_MSG_ERROR([gdal required to build GDAL ECW 3.3 driver])
++
++fi
++
++LIBS="`$GDAL_CONFIG --libs` $LIBS"
++GDAL_INC=`$GDAL_CONFIG --cflags`
++
++AC_SUBST(GDAL_INC, $GDAL_INC)
++
++dnl ---------------------------------------------------------------------------
++dnl Where to put driver?
++dnl ---------------------------------------------------------------------------
++AC_ARG_WITH(autoload,[ --with-autoload[=DIR] Directory for autoload drivers],,)
++
++if test "$with_autoload" != "" ; then
++ AUTOLOAD_DIR=$with_autoload
++else
++ if $GDAL_CONFIG --autoload > /dev/null 2>&1 ; then
++ AUTOLOAD_DIR=`$GDAL_CONFIG --autoload`
++ else
++ AUTOLOAD_DIR=`$GDAL_CONFIG --prefix`/lib/gdalplugins
++ fi
++fi
++
++AC_MSG_RESULT(using $AUTOLOAD_DIR as GDAL shared library autoload directory)
++AC_SUBST(AUTOLOAD_DIR,$AUTOLOAD_DIR)
++
++dnl ---------------------------------------------------------------------------
++dnl Find ECW stuff
++dnl ---------------------------------------------------------------------------
++
++ECW_SETTING=no
++ECW_INCLUDE=
++export ECW_INCLUDE ECW_SETTING
++
++AC_ARG_WITH(ecw,[ --with-ecw[=ARG] Include ECW support (ARG=ECW SDK Path)],,)
++
++if test ! -z "`uname | grep Darwin`" ; then
++ CARBON_FRAMEWORK="-framework Carbon"
++else
++ CARBON_FRAMEWORK=
++fi
++
++if test "$with_ecw" = "no" ; then
++ AC_MSG_ERROR([ECW required for this driver, please install ECW 3.3+ and rebuild])
++fi
++
++if test "$with_ecw" = "yes" -o "$with_ecw" = "" ; then
++
++ AC_CHECK_LIB(NCSEcw,NCScbmOpenFileView,ECW_SETTING=yes,ECW_SETTING=no,-lNCSCnet -lNCSUtil)
++
++ if test "$ECW_SETTING" = "yes" ; then
++ LIBS="-lNCSEcw -lNCSCnet -lNCSUtil $LIBS"
++ fi
++
++ if test "$ECW_SETTING" = "no" ; then
++ AC_CHECK_LIB(ecwj2,NCScbmOpenFileView,ECW_SETTING=yes,ECW_SETTING=no,$CARBON_FRAMEWORK)
++ if test "$ECW_SETTING" = "yes" ; then
++ LIBS="-lecwj2 $CARBON_FRAMEWORK $LIBS"
++ fi
++ fi
++
++else
++
++ AC_MSG_CHECKING([for libNCSEcw.so or libecwj2])
++ ECW_SETTING=yes
++ if test -r $with_ecw/lib/libNCSCnet.so -o -r $with_ecw/lib/libNCSCnet.dylib ; then
++ LIBS="-L$with_ecw/lib -lNCSEcw -lNCSCnet -lNCSUtil $LIBS"
++ AC_MSG_RESULT([found in $with_ecw/lib.])
++ elif test -r $with_ecw/lib/libNCSCNet.so -o -r $with_ecw/lib/libNCSCNet.dylib ; then
++ LIBS="-L$with_ecw/lib -lNCSEcw -lNCSCNet -lNCSUtil $LIBS"
++ AC_MSG_RESULT([found in $with_ecw/lib.])
++ elif test -r $with_ecw/bin/libNCSEcw.so -o -r $with_ecw/bin/libNCSEcw.dylib ; then
++ LIBS="-L$with_ecw/bin -lNCSEcw -lNCSEcw -lNCSCnet $LIBS"
++ AC_MSG_RESULT([found in $with_ecw/bin.])
++ elif test -r $with_ecw/lib/libecwj2.dylib ; then
++ LIBS="-L$with_ecw/lib -lecwj2 $CARBON_FRAMEWORK $LIBS"
++ AC_MSG_RESULT([found libecwj2 in $with_ecw/lib.])
++ else
++ AC_MSG_ERROR([not found in $with_ecw/lib or $with_ecw/bin.])
++ fi
++
++ AC_MSG_CHECKING([for NCSECWClient.h in $with_ecw/include])
++ if test -r $with_ecw/include/NCSECWClient.h ; then
++ AC_MSG_RESULT([found.])
++ ECW_INCLUDE="-I$with_ecw/include"
++ else
++ AC_MSG_ERROR([not found.])
++ fi
++fi
++
++AC_SUBST(ECW_INCLUDE,$ECW_INCLUDE)
++AC_SUBST(ECW_SETTING,$ECW_SETTING)
++
++dnl ---------------------------------------------------------------------------
++
++rm -f conftest*
++
++AC_OUTPUT(Makefile)
++
++
++
Property changes on: packages/gdal/trunk/debian/patches/ecw-plugin.dpatch
___________________________________________________________________
Added: svn:executable
+ *
More information about the Pkg-grass-devel
mailing list