[DebianGIS-dev] r1286 - packages/gdal-grass/trunk

frankie at alioth.debian.org frankie at alioth.debian.org
Wed Dec 5 09:28:28 UTC 2007


Author: frankie
Date: 2007-12-05 09:28:28 +0000 (Wed, 05 Dec 2007)
New Revision: 1286

Removed:
   packages/gdal-grass/trunk/Makefile.in
   packages/gdal-grass/trunk/README
   packages/gdal-grass/trunk/aclocal.m4
   packages/gdal-grass/trunk/configure
   packages/gdal-grass/trunk/configure.in
   packages/gdal-grass/trunk/grass57dataset.cpp
   packages/gdal-grass/trunk/ogrgrass.h
   packages/gdal-grass/trunk/ogrgrassdatasource.cpp
   packages/gdal-grass/trunk/ogrgrassdriver.cpp
   packages/gdal-grass/trunk/ogrgrasslayer.cpp
Log:
Moving to merge mode for svn-buildpackage


Deleted: packages/gdal-grass/trunk/Makefile.in
===================================================================
--- packages/gdal-grass/trunk/Makefile.in	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/Makefile.in	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,49 +0,0 @@
-                                                                                                                                                                                                                                                               
-CC	=	@CC@
-CXX	=	@CXX@
-LD	=	@CXX@
-
-CPPFLAGS = -DUSE_CPL -DGRASS_GISBASE=\"@GRASS_GISBASE@\" \
-	  @GDAL_INC@ @GRASS_INCLUDE@ @CPPFLAGS@ 
-CXXFLAGS = @CXX_WFLAGS@ @CXX_PIC@ 
-
-RANLIB		=	@RANLIB@
-SO_EXT		=	@SO_EXT@
-LD_SHARED	=	@LD_SHARED@
-
-LIBS	=	@LIBS@
-
-GRASSTABLES_DIR = @prefix@/share/gdal/grass
-
-AUTOLOAD_DIR	=	@AUTOLOAD_DIR@
-
-GLIBNAME =	gdal_GRASS.so
-OLIBNAME =	ogr_GRASS.so
-
-default:	$(GLIBNAME) $(OLIBNAME)
-
-install:	default
-	install -d $(AUTOLOAD_DIR)
-	cp $(GLIBNAME) $(AUTOLOAD_DIR)
-	cp $(OLIBNAME) $(AUTOLOAD_DIR)
-	test -d ${GRASSTABLES_DIR} || mkdir ${GRASSTABLES_DIR}
-	test -d ${GRASSTABLES_DIR}/etc || mkdir ${GRASSTABLES_DIR}/etc
-	cp @GRASS_GISBASE@/etc/ellipse.table ${GRASSTABLES_DIR}/etc
-	cp @GRASS_GISBASE@/etc/datum.table ${GRASSTABLES_DIR}/etc	
-
-clean:
-	rm -f $(OLIBNAME) $(GLIBNAME) *.o 
-
-distclean: clean
-	rm -fr Makefile config.status config.log autom*.cache
-
-
-$(GLIBNAME):	grass57dataset.o
-	$(LD_SHARED) grass57dataset.o $(LIBS) -o $(GLIBNAME)
-
-$(OLIBNAME):	ogrgrassdriver.o ogrgrassdatasource.o ogrgrasslayer.o 
-	$(LD_SHARED) ogrgrassdriver.o ogrgrassdatasource.o ogrgrasslayer.o $(LIBS) -o $(OLIBNAME)
-
-%.o:	%.cpp
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
-

Deleted: packages/gdal-grass/trunk/README
===================================================================
--- packages/gdal-grass/trunk/README	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/README	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,63 +0,0 @@
-	Standalone GRASS 6 Drivers for GDAL and OGR
-	===========================================
-
-This package contains standalone drivers for GRASS raster and vector
-files that can be built after GDAL has been built and installed as an 
-"autoload" driver.  
-
-This is particularly useful in resolving problems with GRASS depending
-on GDAL, but GDAL with GRASS support depending on GRASS.  With this 
-package you can configure and install GDAL normally (--without-grass), then
-build and install GRASS normally and finally build and install this driver.
-
-To build this driver it is necessary for it to find GDAL and GRASS support
-files.  Typically the configure and build process would look something like:
-
-./configure --with-gdal=/usr/local/bin/gdal-config --with-grass=/usr/local/grass-6.0.0
-make
-sudo make install
-
-See also:
-
-  http://www.gdal.org/
-  http://grass.itc.it/
-
-
----
-
-FAQs
-----
-
-
-Question:
-
-I am trying to install gdal-grass 1.3.1 on Red hat enterprise linux
-advanced server 3.0. I have previously installed gdal 1.3.1 without-
-grass, and Grass 6.0.1 with-gdal. I have tried to configure gdal-grass
-with:
-
-./configure --with-gdal=/usr/local/gdal/bin/gdal-config --with-
-grass=/usr/local/grass-6.0.1
-
-It seems to find gdal alright, but then balks at the Grass location. The
-Grass location specified above is indeed the correct location. I have
-also tried adding --with-grass=/usr/local/grass-6.0.1/lib, but with no
-success. My error is:
-
-...
-checking for G_asprintf in -lgrass_gis ... no
-configure: error: --with-grass=/usr/local/grass-6.0.1 requested, but
-libraries not found?
-
-
-Answer:
-
-Your problem is likely to be solved by editing /etc/ld.so.conf to 
-include the locations of proj, gdal, grass, and geos. Specifically, 
-the full path to both gdal-config and geos-config, and the full paths 
-to the library locations of proj (often /usr/local/lib) and grass (/
-usr/local/grass-6.0.1/lib). After editing ld.so.conf, run ldconfig, 
-and you should be good to go.
-
-I ran into this problem this weekend (and posted for help to this 
-list), so it seems to be a pretty common issue. 

Deleted: packages/gdal-grass/trunk/aclocal.m4
===================================================================
--- packages/gdal-grass/trunk/aclocal.m4	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/aclocal.m4	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,202 +0,0 @@
-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)
-])

Deleted: packages/gdal-grass/trunk/configure
===================================================================
--- packages/gdal-grass/trunk/configure	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/configure	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,3901 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
-#
-# Copyright (C) 2003 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 Bourne compatible
-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+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-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
-  fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; 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'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# 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
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  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
-
-       ;;
-  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_me: error: cannot find myself; rerun with an absolute path" >&2
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
-    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=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
-	 /*)
-	   if ("$as_dir/$as_base" -c '
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
-
-  # 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 before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, 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
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
-    sed '
-      N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-      t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\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 sensible to this).
-  . ./$as_me.lineno
-  # Exit status is that of the last command.
-  exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
-    as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
-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$$.file
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# 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'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-# 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`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete.  It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# 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 datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX RANLIB ac_ct_RANLIB CXX_PIC C_PIC LD_SHARED SO_EXT CXX_WFLAGS C_WFLAGS GDAL_CONFIG GDAL_INC AUTOLOAD_DIR GRASS_INCLUDE GRASS_GISBASE LIBOBJS LTLIBOBJS'
-ac_subst_files=''
-
-# 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.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-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
-
-  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_option in
-
-  -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 | --data | --dat | --da)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
-    datadir=$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" ;;
-
-  -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'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    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 ;;
-
-  -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 ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-    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 ;;
-
-  -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'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    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; }; }
-    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-    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 paths.
-for ac_var in exec_prefix prefix
-do
-  eval ac_val=$`echo $ac_var`
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
-  esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-	      localstatedir libdir includedir oldincludedir infodir mandir
-do
-  eval ac_val=$`echo $ac_var`
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
-  esac
-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
-
-
-# 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 its parent.
-  ac_confdir=`(dirname "$0") 2>/dev/null ||
-$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
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
-   { (exit 1); exit 1; }; }
-  else
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-   { (exit 1); exit 1; }; }
-  fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
-  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
-   { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-
-#
-# 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 \`..']
-
-_ACEOF
-
-  cat <<_ACEOF
-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]
-  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
-  --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]
-  --infodir=DIR          info documentation [PREFIX/info]
-  --mandir=DIR           man documentation [PREFIX/man]
-_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-grass=ARG        Include GRASS support (ARG=GRASS install tree dir)
-
-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>
-  CPPFLAGS    C/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
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  ac_popdir=`pwd`
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d $ac_dir || continue
-    ac_builddir=.
-
-if test "$ac_dir" != .; then
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
-    ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
-
-    cd $ac_dir
-    # Check for guested configure; otherwise get Cygnus style 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
-    elif test -f $ac_srcdir/configure.ac ||
-	   test -f $ac_srcdir/configure.in; then
-      echo
-      $ac_configure --help
-    else
-      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi
-    cd $ac_popdir
-  done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
-  cat <<\_ACEOF
-
-Copyright (C) 2003 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 0
-fi
-exec 5>config.log
-cat >&5 <<_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.59.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-{
-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`
-hostinfo               = `(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
-
-} >&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_sep=
-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_sep'$ac_arg'"
-      # Get rid of the leading space.
-      ac_sep=" "
-      ;;
-    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: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-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,
-{
-  (set) 2>&1 |
-    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
-      sed -n \
-	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-      ;;
-    *)
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
-      ;;
-    esac;
-}
-    echo
-
-    cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=$`echo $ac_var`
-      echo "$ac_var='"'"'$ac_val'"'"'"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
-      echo
-      for ac_var in $ac_subst_files
-      do
-	eval ac_val=$`echo $ac_var`
-	echo "$ac_var='"'"'$ac_val'"'"'"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
-      echo
-      sed "/^$/d" confdefs.h | sort
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      echo "$as_me: caught signal $ac_signal"
-    echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core &&
-  rm -rf 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 -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >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 -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
-fi
-for ac_site_file in $CONFIG_SITE; 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 `(set) 2>&1 |
-	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; 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 $as_executable_p "$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
-
-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 $as_executable_p "$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
-
-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
-
-  CC=$ac_ct_CC
-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 $as_executable_p "$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
-
-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 "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_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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-
-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
-
-  CC=$ac_ct_CC
-else
-  CC="$ac_cv_prog_CC"
-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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-
-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
-  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 $as_executable_p "$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
-
-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
-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 $as_executable_p "$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
-
-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
-
-  CC=$ac_ct_CC
-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`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&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[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-  (eval $ac_link_default) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # Find the output, starting from the most likely.  This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
-	;;
-    conftest.$ac_ext )
-	# This is the source file.
-	;;
-    [ab].out )
-	# We found the default executable, but exeext='' is most
-	# certainly right.
-	break;;
-    *.* )
-	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	# FIXME: I believe we export ac_cv_exeext for Libtool,
-	# but it would be cool to find out if it's true.  Does anybody
-	# maintain Libtool? --akim.
-	export ac_cv_exeext
-	break;;
-    * )
-	break;;
-  esac
-done
-else
-  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
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check 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'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&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 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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  export ac_cv_exeext
-	  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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
-    *) 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; 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 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
-CFLAGS="-g"
-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
-  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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_prog_cc_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-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 ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_prog_cc_stdc=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 -std1 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 -std1.  */
-int osf4_cc_array ['\x00' == 0 ? 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
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX			-qlanglvl=ansi
-# Ultrix and OSF/1	-std1
-# HP-UX 10.20 and later	-Ae
-# HP-UX older versions	-Aa -D_HPUX_SOURCE
-# SVR4			-Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_prog_cc_stdc=$ac_arg
-break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
-  x|xno)
-    echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
-  *)
-    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-    CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C.  Since we use `exit',
-# in C++ we need to declare it.  In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
-  choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-fi
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_ext=cc
-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 -n "$ac_tool_prefix"; then
-  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl 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 $as_executable_p "$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
-
-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 $CCC g++ c++ gpp aCC CC cxx cc++ cl 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 $as_executable_p "$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
-
-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
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
-
-  CXX=$ac_ct_CXX
-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`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; 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 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
-CXXFLAGS="-g"
-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
-  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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_prog_cxx_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-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
-for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-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 $as_executable_p "$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
-
-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 $as_executable_p "$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
-
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-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
-
-  RANLIB=$ac_ct_RANLIB
-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 or --without-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 or --without-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 $as_executable_p "$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
-
-  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 GRASS 5.7 driver" >&5
-echo "$as_me: error: gdal required to build GDAL GRASS 5.7 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 or --without-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
-
-
-
-GRASS_SETTING=no
-GRASS_INCLUDE=
-GRASS_GISBASE=
-export GRASS_INCLUDE GRASS_SETTING GRASS_GISBASE
-
-
-# Check whether --with-grass or --without-grass was given.
-if test "${with_grass+set}" = set; then
-  withval="$with_grass"
-
-fi;
-
-if test "$with_grass" = "no" ; then
-  { { echo "$as_me:$LINENO: error: grass required for this driver, please install GRASS 5.7 and rebuild" >&5
-echo "$as_me: error: grass required for this driver, please install GRASS 5.7 and rebuild" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-if test "$with_grass" != "yes" ; then
-
-
-echo "$as_me:$LINENO: checking for G_asprintf in -lgrass_gis" >&5
-echo $ECHO_N "checking for G_asprintf in -lgrass_gis... $ECHO_C" >&6
-if test "${ac_cv_lib_grass_gis_G_asprintf+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgrass_gis -L$with_grass/lib -lgrass_I -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime -lgrass_gproj -lgrass_vect -lgrass_dbmibase -lgrass_dbmiclient -lgrass_dgl -lgrass_dig2 -lgrass_rtree -lgrass_linkm $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 gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char G_asprintf ();
-int
-main ()
-{
-G_asprintf ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_lib_grass_gis_G_asprintf=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_grass_gis_G_asprintf=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_grass_gis_G_asprintf" >&5
-echo "${ECHO_T}$ac_cv_lib_grass_gis_G_asprintf" >&6
-if test $ac_cv_lib_grass_gis_G_asprintf = yes; then
-  GRASS_SETTING=grass57+
-else
-  GRASS_SETTING=no
-fi
-
-
-  if test "$GRASS_SETTING" = "grass57+" ; then
-    LIBS="-L$with_grass/lib -lgrass_I -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime -lgrass_gproj -lgrass_vect -lgrass_dbmibase -lgrass_dbmiclient -lgrass_dgl -lgrass_dig2 -lgrass_rtree -lgrass_linkm $LIBS"
-    GRASS_INCLUDE="-I$with_grass/include"
-    GRASS_GISBASE="$with_grass"
-  else
-    { { echo "$as_me:$LINENO: error: --with-grass=$with_grass requested, but libraries not found!  Perhaps you need to set LD_LIBRARY_PATH to include $with_grass/lib?" >&5
-echo "$as_me: error: --with-grass=$with_grass requested, but libraries not found!  Perhaps you need to set LD_LIBRARY_PATH to include $with_grass/lib?" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-fi
-
-GRASS_INCLUDE=$GRASS_INCLUDE
-
-GRASS_GISBASE=$GRASS_GISBASE
-
-
-
-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}'
-
-# 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
-
-# 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 we branch to the quote section.  Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\),-D\1=\2,g
-t quote
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[	 `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output.  A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
-
-
-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_i=`echo "$ac_i" |
-	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-  # 2. Add them.
-  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs $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 Bourne compatible
-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+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-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
-  fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; 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'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# 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
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  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
-
-       ;;
-  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_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
-    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=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
-	 /*)
-	   if ("$as_dir/$as_base" -c '
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
-
-  # 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 before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, 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
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
-    sed '
-      N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-      t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
-    ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
-    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-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 sensible to this).
-  . ./$as_me.lineno
-  # Exit status is that of the last command.
-  exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
-    as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
-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$$.file
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# 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'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.  Logging --version etc. is OK.
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
-  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
-  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
-  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
-  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-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, 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.59,
-  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-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
-    ;;
-  *) # This is not an option, so the user has probably given explicit
-     # arguments.
-     ac_option=$1
-     ac_need_defaults=false;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --vers* | -V )
-    echo "$ac_cs_version"; exit 0 ;;
-  --he | --h)
-    # Conflict between --help and --header
-    { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
-   { (exit 1); exit 1; }; };;
-  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit 0 ;;
-  --debug | --d* | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
-    ac_need_defaults=false;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-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" ;;
-
-  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 $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-
-
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
-  case "$ac_config_target" in
-  # Handling of arguments.
-  "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 to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
-  trap 'exit_status=$?; rm -rf $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 -q "./confstatXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
-}  ||
-{
-  tmp=./confstat$$-$RANDOM
-  (umask 077 && mkdir $tmp)
-} ||
-{
-   echo "$me: cannot create a temporary directory in ." >&2
-   { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# 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
-  # Protect against being on the right side of a sed subst in config.status.
-  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s, at SHELL@,$SHELL,;t t
-s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s, at exec_prefix@,$exec_prefix,;t t
-s, at prefix@,$prefix,;t t
-s, at program_transform_name@,$program_transform_name,;t t
-s, at bindir@,$bindir,;t t
-s, at sbindir@,$sbindir,;t t
-s, at libexecdir@,$libexecdir,;t t
-s, at datadir@,$datadir,;t t
-s, at sysconfdir@,$sysconfdir,;t t
-s, at sharedstatedir@,$sharedstatedir,;t t
-s, at localstatedir@,$localstatedir,;t t
-s, at libdir@,$libdir,;t t
-s, at includedir@,$includedir,;t t
-s, at oldincludedir@,$oldincludedir,;t t
-s, at infodir@,$infodir,;t t
-s, at mandir@,$mandir,;t t
-s, at build_alias@,$build_alias,;t t
-s, at host_alias@,$host_alias,;t t
-s, at target_alias@,$target_alias,;t t
-s, at DEFS@,$DEFS,;t t
-s, at ECHO_C@,$ECHO_C,;t t
-s, at ECHO_N@,$ECHO_N,;t t
-s, at ECHO_T@,$ECHO_T,;t t
-s, at LIBS@,$LIBS,;t t
-s, at CC@,$CC,;t t
-s, at CFLAGS@,$CFLAGS,;t t
-s, at LDFLAGS@,$LDFLAGS,;t t
-s, at CPPFLAGS@,$CPPFLAGS,;t t
-s, at ac_ct_CC@,$ac_ct_CC,;t t
-s, at EXEEXT@,$EXEEXT,;t t
-s, at OBJEXT@,$OBJEXT,;t t
-s, at CXX@,$CXX,;t t
-s, at CXXFLAGS@,$CXXFLAGS,;t t
-s, at ac_ct_CXX@,$ac_ct_CXX,;t t
-s, at RANLIB@,$RANLIB,;t t
-s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s, at CXX_PIC@,$CXX_PIC,;t t
-s, at C_PIC@,$C_PIC,;t t
-s, at LD_SHARED@,$LD_SHARED,;t t
-s, at SO_EXT@,$SO_EXT,;t t
-s, at CXX_WFLAGS@,$CXX_WFLAGS,;t t
-s, at C_WFLAGS@,$C_WFLAGS,;t t
-s, at GDAL_CONFIG@,$GDAL_CONFIG,;t t
-s, at GDAL_INC@,$GDAL_INC,;t t
-s, at AUTOLOAD_DIR@,$AUTOLOAD_DIR,;t t
-s, at GRASS_INCLUDE@,$GRASS_INCLUDE,;t t
-s, at GRASS_GISBASE@,$GRASS_GISBASE,;t t
-s, at LIBOBJS@,$LIBOBJS,;t t
-s, at LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
-  cat >>$CONFIG_STATUS <<\_ACEOF
-  # Split the substitutions into bite-sized pieces for seds with
-  # small command number limits, like on Digital OSF/1 and HP-UX.
-  ac_max_sed_lines=48
-  ac_sed_frag=1 # Number of current file.
-  ac_beg=1 # First line for current file.
-  ac_end=$ac_max_sed_lines # Line after last line for current file.
-  ac_more_lines=:
-  ac_sed_cmds=
-  while $ac_more_lines; do
-    if test $ac_beg -gt 1; then
-      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    else
-      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    fi
-    if test ! -s $tmp/subs.frag; then
-      ac_more_lines=false
-    else
-      # The purpose of the label and of the branching condition is to
-      # speed up the sed processing (if there are no `@' at all, there
-      # is no need to browse any of the substitutions).
-      # These are the two extra sed commands mentioned above.
-      (echo ':t
-  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-      if test -z "$ac_sed_cmds"; then
-	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-      else
-	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-      fi
-      ac_sed_frag=`expr $ac_sed_frag + 1`
-      ac_beg=$ac_end
-      ac_end=`expr $ac_end + $ac_max_sed_lines`
-    fi
-  done
-  if test -z "$ac_sed_cmds"; then
-    ac_sed_cmds=cat
-  fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-	cat >$tmp/stdin
-	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
-  esac
-
-  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$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'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
-    as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$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'`
-    done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }; }
-
-  ac_builddir=.
-
-if test "$ac_dir" != .; then
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
-    ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
-
-
-
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
-  # 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.  */
-  if test x"$ac_file" = x-; then
-    configure_input=
-  else
-    configure_input="$ac_file.  "
-  fi
-  configure_input=$configure_input"Generated from `echo $ac_file_in |
-				     sed 's,.*/,,'` by configure."
-
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-	 # Absolute (can't be DOS-style, as IFS=:)
-	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 echo "$f";;
-      *) # Relative
-	 if test -f "$f"; then
-	   # Build tree
-	   echo "$f"
-	 elif test -f "$srcdir/$f"; then
-	   # Source tree
-	   echo "$srcdir/$f"
-	 else
-	   # /dev/null tree
-	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 fi;;
-      esac
-    done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-  sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s, at configure_input@,$configure_input,;t t
-s, at srcdir@,$ac_srcdir,;t t
-s, at abs_srcdir@,$ac_abs_srcdir,;t t
-s, at top_srcdir@,$ac_top_srcdir,;t t
-s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s, at builddir@,$ac_builddir,;t t
-s, at abs_builddir@,$ac_abs_builddir,;t t
-s, at top_builddir@,$ac_top_builddir,;t t
-s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-  rm -f $tmp/stdin
-  if test x"$ac_file" != x-; then
-    mv $tmp/out $ac_file
-  else
-    cat $tmp/out
-    rm -f $tmp/out
-  fi
-
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (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
-
-
-
-

Deleted: packages/gdal-grass/trunk/configure.in
===================================================================
--- packages/gdal-grass/trunk/configure.in	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/configure.in	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,147 +0,0 @@
-dnl ***************************************************************************
-dnl $Id: configure.in,v 1.10 2006/08/23 20:06:02 fwarmerdam Exp $
-dnl
-dnl Project:  GDAL GRASS Plugin
-dnl Purpose:  Configure source file.
-dnl Author:   Frank Warmerdam, warmerdam at pobox.com
-dnl
-dnl ***************************************************************************
-dnl Copyright (c) 2005, Frank Warmerdam
-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 GRASS 5.7 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 GRASS 5.7
-dnl ---------------------------------------------------------------------------
-
-GRASS_SETTING=no
-GRASS_INCLUDE=
-GRASS_GISBASE=
-export GRASS_INCLUDE GRASS_SETTING GRASS_GISBASE
-
-AC_ARG_WITH(grass,[  --with-grass[=ARG]        Include GRASS support (ARG=GRASS install tree dir)],,)
-
-if test "$with_grass" = "no" ; then
-  AC_MSG_ERROR([grass required for this driver, please install GRASS 5.7 and rebuild])
-fi
-
-if test "$with_grass" != "yes" ; then
-
-  AC_CHECK_LIB(grass_gis,G_asprintf,GRASS_SETTING=grass57+,GRASS_SETTING=no,-L$with_grass/lib -lgrass_I -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime -lgrass_gproj -lgrass_vect -lgrass_dbmibase -lgrass_dbmiclient -lgrass_dgl -lgrass_dig2 -lgrass_rtree -lgrass_linkm)
-   
-  if test "$GRASS_SETTING" = "grass57+" ; then   
-    LIBS="-L$with_grass/lib -lgrass_I -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime -lgrass_gproj -lgrass_vect -lgrass_dbmibase -lgrass_dbmiclient -lgrass_dgl -lgrass_dig2 -lgrass_rtree -lgrass_linkm $LIBS"
-    GRASS_INCLUDE="-I$with_grass/include"
-    GRASS_GISBASE="$with_grass"
-  else
-    AC_MSG_ERROR([--with-grass=$with_grass requested, but libraries not found!  Perhaps you need to set LD_LIBRARY_PATH to include $with_grass/lib?])
-  fi
-fi
-
-AC_SUBST(GRASS_INCLUDE,$GRASS_INCLUDE)
-AC_SUBST(GRASS_GISBASE,$GRASS_GISBASE)
-
-dnl ---------------------------------------------------------------------------
-
-rm -f conftest*
-
-AC_OUTPUT(Makefile)
-
-
-

Deleted: packages/gdal-grass/trunk/grass57dataset.cpp
===================================================================
--- packages/gdal-grass/trunk/grass57dataset.cpp	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/grass57dataset.cpp	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,1011 +0,0 @@
-/******************************************************************************
- * $Id: grass57dataset.cpp,v 1.8 2006/11/09 15:56:47 rblazek Exp $
- *
- * Project:  GRASS Driver
- * Purpose:  Implement GRASS raster read/write support
- *           This version is for GRASS 5.7+ and uses GRASS libraries
- *           directly instead of using libgrass. 
- * Author:   Frank Warmerdam <warmerdam at pobox.com>
- *           Radim Blazek <blazek at itc.it>
- *
- ******************************************************************************
- * Copyright (c) 2000 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.
- ******************************************************************************
- *
- * $Log: grass57dataset.cpp,v $
- * Revision 1.8  2006/11/09 15:56:47  rblazek
- * set also the band invalid if reopen fails
- *
- * Revision 1.7  2006/11/09 15:30:45  rblazek
- * check if ResetReading failed
- *
- * Revision 1.6  2006/02/13 17:39:31  rblazek
- * header files moved to grass
- *
- * Revision 1.5  2005/09/30 21:07:57  fwarmerdam
- * applied patches from bug 822, add georef support
- *
- * Revision 1.4  2005/05/06 18:21:14  fwarmerdam
- * Applied patch from Radim.  Better logic to reset the region.
- *
- * Revision 1.3  2004/09/24 14:28:49  fwarmerdam
- * fixed some typos with floating point (from Radim)
- *
- * Revision 1.2  2004/09/22 20:39:15  fwarmerdam
- * some updates to reduce spurious error reports
- *
- * Revision 1.1  2004/09/13 18:18:26  fwarmerdam
- * Variant code from Radim that works with GRASS 5.7 libraries directly.
- * Currently coordinate system support is broken with this version.
- *
- */
-
-#include <stdlib.h>
-
-extern "C" {
-#ifdef __cplusplus
-#define class _class
-#endif
-#include <grass/imagery.h>
-#ifdef __cplusplus
-#undef class
-#endif
-    
-#include <grass/gprojects.h>
-#include <grass/gis.h>
-}
-
-#include "gdal_priv.h"
-#include "cpl_string.h"
-#include "ogr_spatialref.h"
-
-#define GRASS_MAX_COLORS 100000  // what is the right value
-
-CPL_CVSID("$Id: grass57dataset.cpp,v 1.8 2006/11/09 15:56:47 rblazek Exp $");
-
-CPL_C_START
-void	GDALRegister_GRASS(void);
-CPL_C_END
-
-/************************************************************************/
-/*                         Grass2CPLErrorHook()                         */
-/************************************************************************/
-
-int Grass2CPLErrorHook( char * pszMessage, int bFatal )
-
-{
-    if( !bFatal )
-        //CPLDebug( "GRASS", "%s", pszMessage );
-        CPLError( CE_Warning, CPLE_AppDefined, "GRASS warning: %s", pszMessage );
-    else
-        CPLError( CE_Warning, CPLE_AppDefined, "GRASS fatal error: %s", pszMessage );
-
-    return 0;
-}
-
-/************************************************************************/
-/* ==================================================================== */
-/*				GRASSDataset				*/
-/* ==================================================================== */
-/************************************************************************/
-
-class GRASSRasterBand;
-
-class GRASSDataset : public GDALDataset
-{
-    friend class GRASSRasterBand;
-
-    char	*pszGisdbase;  
-    char	*pszLocation;  /* LOCATION_NAME */
-    char	*pszElement;   /* cellhd or group */
-
-    struct Cell_head sCellInfo; /* raster region */ 
-    
-    char	*pszProjection;
-
-    double	adfGeoTransform[6];
-
-  public:
-                 GRASSDataset();
-                 ~GRASSDataset();
-
-    virtual const char *GetProjectionRef(void);
-    virtual CPLErr GetGeoTransform( double * );
-
-    static GDALDataset *Open( GDALOpenInfo * );
-
-  private:
-    static bool SplitPath ( char *, char **, char **, char **, char **, char ** );
-};
-
-/************************************************************************/
-/* ==================================================================== */
-/*                            GRASSRasterBand                           */
-/* ==================================================================== */
-/************************************************************************/
-
-class GRASSRasterBand : public GDALRasterBand
-{
-    friend class GRASSDataset;
-
-    char        *pszCellName;
-    char        *pszMapset;
-    int		hCell;
-    int         nGRSType; // GRASS raster type: CELL_TYPE, FCELL_TYPE, DCELL_TYPE
-    bool        nativeNulls; // use GRASS native NULL values
-
-    struct Colors sGrassColors;
-    GDALColorTable *poCT;
-
-    struct Cell_head sOpenWindow; /* the region when the raster was opened */ 
-
-    int		bHaveMinMax;
-    double	dfCellMin;
-    double	dfCellMax;
-
-    double	dfNoData;
-
-    bool        valid;
-
-  public:
-
-                   GRASSRasterBand( GRASSDataset *, int, 
-                                    const char *, const char * );
-    virtual        ~GRASSRasterBand();
-
-    virtual CPLErr IReadBlock( int, int, void * );
-    virtual CPLErr IRasterIO ( GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, int, int );
-    virtual GDALColorInterp GetColorInterpretation();
-    virtual GDALColorTable *GetColorTable();
-    virtual double GetMinimum( int *pbSuccess = NULL );
-    virtual double GetMaximum( int *pbSuccess = NULL );
-    virtual double GetNoDataValue( int *pbSuccess = NULL );
-
-  private:
-    CPLErr ResetReading( struct Cell_head * );
-    
-};
-
-
-/************************************************************************/
-/*                          GRASSRasterBand()                           */
-/************************************************************************/
-
-GRASSRasterBand::GRASSRasterBand( GRASSDataset *poDS, int nBand,
-                                  const char * pszMapset,
-                                  const char * pszCellName )
-
-{
-    struct Cell_head	sCellInfo;
-
-    // Note: GISDBASE, LOCATION_NAME ans MAPSET was set in GRASSDataset::Open
-
-    this->poDS = poDS;
-    this->nBand = nBand;
-    this->valid = false;
-
-    this->pszCellName = G_store ( (char *) pszCellName );
-    this->pszMapset = G_store ( (char *) pszMapset );
-
-    G_get_cellhd( (char *) pszCellName, (char *) pszMapset, &sCellInfo );
-    nGRSType = G_raster_map_type( (char *) pszCellName, (char *) pszMapset );
-
-/* -------------------------------------------------------------------- */
-/*      Get min/max values.                                             */
-/* -------------------------------------------------------------------- */
-    struct FPRange sRange;
-
-    if( G_read_fp_range( (char *) pszCellName, (char *) pszMapset, 
-                         &sRange ) == -1 )
-    {
-        bHaveMinMax = FALSE;
-    }
-    else
-    {
-        bHaveMinMax = TRUE;
-        G_get_fp_range_min_max( &sRange, &dfCellMin, &dfCellMax );
-    }
-
-/* -------------------------------------------------------------------- */
-/*      Setup band type, and preferred nodata value.                    */
-/* -------------------------------------------------------------------- */
-    // Negative values are also (?) stored as 4 bytes (format = 3) 
-    //       => raster with format < 3 has only positive values
-
-    // GRASS modules usually do not waste space and only the format necessary to keep 
-    // full raster values range is used -> no checks if shorter type could be used
-    
-    if( nGRSType == CELL_TYPE ) {
-	if ( sCellInfo.format == 0 ) {  // 1 byte / cell -> possible range 0,255
-	    if ( bHaveMinMax && dfCellMin > 0 ) {
-                this->eDataType = GDT_Byte;
-		dfNoData = 0.0;
-	    } else if ( bHaveMinMax && dfCellMax < 255 ) {
-                this->eDataType = GDT_Byte;
-		dfNoData = 255.0;
-	    } else { // maximum is not known or full range is used
-		this->eDataType = GDT_UInt16;
-		dfNoData = 256.0;
-	    }
-	    nativeNulls = false;
-	} else if ( sCellInfo.format == 1 ) {  // 2 bytes / cell -> possible range 0,65535
-	    if ( bHaveMinMax && dfCellMin > 0 ) {
-		this->eDataType = GDT_UInt16;
-		dfNoData = 0.0;
-	    } else if ( bHaveMinMax && dfCellMax < 65535 ) {
-                this->eDataType = GDT_UInt16;
-		dfNoData = 65535;
-	    } else { // maximum is not known or full range is used
-		CELL cval;
-		this->eDataType = GDT_Int32; 
-		G_set_c_null_value ( &cval, 1);
-		dfNoData = (double) cval;
-		nativeNulls = true;
-	    }
-	    nativeNulls = false;
-	} else {  // 3-4 bytes 
-	    CELL cval;
-	    this->eDataType = GDT_Int32;
-	    G_set_c_null_value ( &cval, 1);
-	    dfNoData = (double) cval;
-	    nativeNulls = true;
-	}
-    } 
-    else if( nGRSType == FCELL_TYPE ) {
-	FCELL fval;
-        this->eDataType = GDT_Float32;
-	G_set_f_null_value ( &fval, 1);
-	dfNoData = (double) fval;
-	nativeNulls = true;
-    }
-    else if( nGRSType == DCELL_TYPE )
-    {
-	DCELL dval;
-        this->eDataType = GDT_Float64;
-	G_set_d_null_value ( &dval, 1);
-	dfNoData = (double) dval;
-	nativeNulls = true;
-    }
-
-    nBlockXSize = poDS->nRasterXSize;;
-    nBlockYSize = 1;
-
-    G_set_window( &(((GRASSDataset *)poDS)->sCellInfo) );
-    if ( (hCell = G_open_cell_old((char *) pszCellName, (char *) pszMapset)) < 0 ) {
-	CPLError( CE_Warning, CPLE_AppDefined, "GRASS: Cannot open raster '%s'", pszCellName );
-	return;
-    }
-    G_copy((void *) &sOpenWindow, (void *) &(((GRASSDataset *)poDS)->sCellInfo), sizeof(struct Cell_head));
-
-/* -------------------------------------------------------------------- */
-/*      Do we have a color table?                                       */
-/* -------------------------------------------------------------------- */
-    poCT = NULL;
-    if( G_read_colors( (char *) pszCellName, (char *) pszMapset, &sGrassColors ) == 1 )
-    {
-	int maxcolor; 
-	CELL min, max;
-
-	G_get_color_range ( &min, &max, &sGrassColors);
-
-        if ( bHaveMinMax ) {
-	    if ( max < dfCellMax ) {
-	       maxcolor = max;
-            } else {
-	       maxcolor = (int) ceil ( dfCellMax );
-	    }
-	    if ( maxcolor > GRASS_MAX_COLORS ) { 
-		maxcolor = GRASS_MAX_COLORS;
-                CPLDebug( "GRASS", "Too many values, color table cut to %d entries.", maxcolor );
-	    }
-	} else {
-	    if ( max < GRASS_MAX_COLORS ) {
-	       maxcolor = max;
-            } else {
-	       maxcolor = GRASS_MAX_COLORS;
-               CPLDebug( "GRASS", "Too many values, color table set to %d entries.", maxcolor );
-	    }
-        }
-	    
-        poCT = new GDALColorTable();
-        for( int iColor = 0; iColor <= maxcolor; iColor++ )
-        {
-            int	nRed, nGreen, nBlue;
-            GDALColorEntry    sColor;
-
-            if( G_get_color( iColor, &nRed, &nGreen, &nBlue, &sGrassColors ) )
-            {
-                sColor.c1 = nRed;
-                sColor.c2 = nGreen;
-                sColor.c3 = nBlue;
-                sColor.c4 = 255;
-
-                poCT->SetColorEntry( iColor, &sColor );
-            }
-            else
-            {
-                sColor.c1 = 0;
-                sColor.c2 = 0;
-                sColor.c3 = 0;
-                sColor.c4 = 0;
-
-                poCT->SetColorEntry( iColor, &sColor );
-            }
-        }
-	    
-	/* Create metadata enries for color table rules */
-	char key[200], value[200];
-	int rcount = G_colors_count ( &sGrassColors );
-
-	sprintf ( value, "%d", rcount );
-	this->SetMetadataItem( "COLOR_TABLE_RULES_COUNT", value );
-
-	/* Add the rules in reverse order */
-	for ( int i = rcount-1; i >= 0; i-- ) {
-	    DCELL val1, val2;
-	    unsigned char r1, g1, b1, r2, g2, b2;
-
-	     G_get_f_color_rule ( &val1, &r1, &g1, &b1, &val2, &r2, &g2, &b2, &sGrassColors, i );
-		
-
-	     sprintf ( key, "COLOR_TABLE_RULE_RGB_%d", rcount-i-1 );
-	     sprintf ( value, "%e %e %d %d %d %d %d %d", val1, val2, r1, g1, b1, r2, g2, b2 );
-	     this->SetMetadataItem( key, value );
-	}
-    } else {
-	this->SetMetadataItem( "COLOR_TABLE_RULES_COUNT", "0" );
-    }
-    
-    this->valid = true;
-}
-
-/************************************************************************/
-/*                          ~GRASSRasterBand()                          */
-/************************************************************************/
-
-GRASSRasterBand::~GRASSRasterBand()
-{
-    if( poCT != NULL ) {
-        G_free_colors( &sGrassColors );
-        delete poCT;
-    }
-
-    if( hCell >= 0 )
-        G_close_cell( hCell );
-    
-    if ( pszCellName )
-        free ( pszCellName );
-
-    if ( pszMapset )
-        free ( pszMapset );
-}
-
-/************************************************************************/
-/*                             ResetReading                             */
-/*                                                                      */
-/* Reset current window and reopen cell if the window has changed,      */
-/* reset GRASS variables                                                */
-/*                                                                      */
-/* Returns CE_Failure if fails, otherwise CE_None                       */
-/************************************************************************/
-CPLErr GRASSRasterBand::ResetReading ( struct Cell_head *sNewWindow )
-{
-
-    /* Check if the window has changed */
-    if ( sNewWindow->north  != sOpenWindow.north  || sNewWindow->south  != sOpenWindow.south ||
-	 sNewWindow->east   != sOpenWindow.east   || sNewWindow->west   != sOpenWindow.west ||
-	 sNewWindow->ew_res != sOpenWindow.ew_res || sNewWindow->ns_res != sOpenWindow.ns_res ||
-	 sNewWindow->rows   != sOpenWindow.rows   || sNewWindow->cols   != sOpenWindow.cols )
-    {
-	if( hCell >= 0 ) {
-            G_close_cell( hCell );
-	    hCell = -1;
-	}
-
-	/* Set window */
-	G_set_window( sNewWindow );
-
-	/* Open raster */
-	G__setenv( "GISDBASE", ((GRASSDataset *)poDS)->pszGisdbase );
-	G__setenv( "LOCATION_NAME", ((GRASSDataset *)poDS)->pszLocation );
-	G__setenv( "MAPSET", pszMapset); 
-	G_reset_mapsets();
-	G_add_mapset_to_search_path ( pszMapset );
-	
-	if ( (hCell = G_open_cell_old( pszCellName, pszMapset)) < 0 ) {
-	    CPLError( CE_Warning, CPLE_AppDefined, "GRASS: Cannot open raster '%s'", pszCellName );
-            this->valid = false;
-	    return CE_Failure;
-	}
-
-	G_copy((void *) &sOpenWindow, (void *) sNewWindow, sizeof(struct Cell_head));
-	
-    }
-    else
-    {
-        /* The windows are identical, check current window */
-        struct Cell_head sCurrentWindow;
-
-        G_get_window ( &sCurrentWindow );
-
-        if ( sNewWindow->north  != sCurrentWindow.north  || sNewWindow->south  != sCurrentWindow.south ||
-             sNewWindow->east   != sCurrentWindow.east   || sNewWindow->west   != sCurrentWindow.west ||
-             sNewWindow->ew_res != sCurrentWindow.ew_res || sNewWindow->ns_res != sCurrentWindow.ns_res ||
-             sNewWindow->rows   != sCurrentWindow.rows   || sNewWindow->cols   != sCurrentWindow.cols
-             )
-        {
-            /* Reset window */
-            G_set_window( sNewWindow );
-        }
-    }
-
-
-    return CE_None;
-}
-
-/************************************************************************/
-/*                             IReadBlock()                             */
-/*                                                                      */
-/************************************************************************/
-
-CPLErr GRASSRasterBand::IReadBlock( int nBlockXOff, int nBlockYOff, void * pImage )
-
-{
-    if ( ! this->valid ) return CE_Failure;
-
-    // Reset window because IRasterIO could be previosly called
-    if ( ResetReading ( &(((GRASSDataset *)poDS)->sCellInfo) ) != CE_None ) {
-       return CE_Failure;
-    }       
-    
-    if ( eDataType == GDT_Byte || eDataType == GDT_UInt16 ) {
-        CELL  *cbuf;
-
-	cbuf = G_allocate_c_raster_buf();
-	G_get_c_raster_row ( hCell, cbuf, nBlockYOff );	
-
-	/* Reset NULLs */
-	for ( int col = 0; col < nBlockXSize; col++ ) {
-	    if ( G_is_c_null_value(&(cbuf[col])) )
-		cbuf[col] = (CELL) dfNoData;
-	}
-
-	GDALCopyWords ( (void *) cbuf, GDT_Int32, sizeof(CELL), 
-	                pImage, eDataType, GDALGetDataTypeSize(eDataType)/8,
-			nBlockXSize );    
-
-	free ( cbuf );
-
-    } else if ( eDataType == GDT_Int32 ) {
-	G_get_c_raster_row ( hCell, (CELL *) pImage, nBlockYOff );
-    } else if ( eDataType == GDT_Float32 ) {
-	G_get_f_raster_row ( hCell, (FCELL *) pImage, nBlockYOff );
-    } else if ( eDataType == GDT_Float64 ) {
-	G_get_d_raster_row ( hCell, (DCELL *) pImage, nBlockYOff );
-    }
-	
-    return CE_None;
-}
-
-/************************************************************************/
-/*                             IRasterIO()                              */
-/*                                                                      */
-/************************************************************************/
-
-CPLErr GRASSRasterBand::IRasterIO ( GDALRWFlag eRWFlag,
-	                           int nXOff, int nYOff, int nXSize, int nYSize,
-				   void * pData, int nBufXSize, int nBufYSize,
-				   GDALDataType eBufType,
-				   int nPixelSpace, int nLineSpace )
-{
-    /* GRASS library does that, we have only calculate and reset the region in map units
-     * and if the region has changed, reopen the raster */
-    
-    /* Calculate the region */
-    struct Cell_head sWindow;
-    struct Cell_head *psDsWindow;
-    
-    if ( ! this->valid ) return CE_Failure;
-
-    psDsWindow = &(((GRASSDataset *)poDS)->sCellInfo);
-    
-    sWindow.north = psDsWindow->north - nYOff * psDsWindow->ns_res; 
-    sWindow.south = sWindow.north - nYSize * psDsWindow->ns_res; 
-    sWindow.west = psDsWindow->west + nXOff * psDsWindow->ew_res; 
-    sWindow.east = sWindow.west + nXSize * psDsWindow->ew_res; 
-    sWindow.proj = psDsWindow->proj;
-    sWindow.zone = psDsWindow->zone;
-
-    sWindow.cols = nBufXSize;
-    sWindow.rows = nBufYSize;
-     
-    /* Reset resolution */
-    G_adjust_Cell_head ( &sWindow, 1, 1);
-
-    if ( ResetReading ( &sWindow ) != CE_None )
-    {
-        return CE_Failure;
-    }
-    
-    /* Read Data */
-    CELL  *cbuf = NULL;
-    FCELL *fbuf = NULL;
-    DCELL *dbuf = NULL;
-    bool  direct = false;
-
-    /* Reset space if default (0) */
-    if ( nPixelSpace == 0 )
-	nPixelSpace = GDALGetDataTypeSize ( eBufType ) / 8;
-
-    if ( nLineSpace == 0 )
-	nLineSpace = nBufXSize * nPixelSpace;
-
-    if ( nGRSType == CELL_TYPE && ( !nativeNulls || eBufType != GDT_Int32 || sizeof(CELL) != 4 ||
-		                    nPixelSpace != sizeof(CELL) )  ) 
-    {
-	cbuf = G_allocate_c_raster_buf();
-    } else if( nGRSType == FCELL_TYPE && ( eBufType != GDT_Float32 || nPixelSpace != sizeof(FCELL) ) ) {
-	fbuf = G_allocate_f_raster_buf();
-    } else if( nGRSType == DCELL_TYPE && ( eBufType != GDT_Float64 || nPixelSpace != sizeof(DCELL) ) ) {
-	dbuf = G_allocate_d_raster_buf();
-    } else {
-	direct = true;
-    }
-
-    for ( int row = 0; row < nBufYSize; row++ ) {
-        char *pnt = (char *)pData + row * nLineSpace;
-	
-	if ( nGRSType == CELL_TYPE ) {
-	    if ( direct ) {
-		G_get_c_raster_row ( hCell, (CELL *) pnt, row );
-	    } else {
-		G_get_c_raster_row ( hCell, cbuf, row );
-		
-		/* Reset NULLs */
-		for ( int col = 0; col < nBufXSize; col++ ) {
-		    if ( G_is_c_null_value(&(cbuf[col])) ) 
-			cbuf[col] = (CELL) dfNoData;
-		}
-
-		GDALCopyWords ( (void *) cbuf, GDT_Int32, sizeof(CELL), 
-			        (void *)  pnt,  eBufType, nPixelSpace,
-				nBufXSize ); 
-	    }
-	} else if( nGRSType == FCELL_TYPE ) {
-	    if ( direct ) {
-		G_get_f_raster_row ( hCell, (FCELL *) pnt, row );
-	    } else {
-		G_get_f_raster_row ( hCell, fbuf, row );
-		
-		GDALCopyWords ( (void *) fbuf, GDT_Float32, sizeof(FCELL), 
-			        (void *)  pnt,  eBufType, nPixelSpace,
-				nBufXSize ); 
-	    }
-	} else if( nGRSType == DCELL_TYPE ) {
-	    if ( direct ) {
-		G_get_d_raster_row ( hCell, (DCELL *) pnt, row );
-	    } else {
-		G_get_d_raster_row ( hCell, dbuf, row );
-		
-		GDALCopyWords ( (void *) dbuf, GDT_Float64, sizeof(DCELL), 
-			        (void *)  pnt,  eBufType, nPixelSpace,
-				nBufXSize ); 
-	    }
-	}
-    }
-
-    if ( cbuf ) free ( cbuf );
-    if ( fbuf ) free ( fbuf );
-    if ( dbuf ) free ( dbuf );
-    
-    return CE_None;
-}
-
-/************************************************************************/
-/*                       GetColorInterpretation()                       */
-/************************************************************************/
-
-GDALColorInterp GRASSRasterBand::GetColorInterpretation()
-
-{
-    if( poCT != NULL )
-        return GCI_PaletteIndex;
-    else
-        return GCI_GrayIndex;
-}
-
-/************************************************************************/
-/*                           GetColorTable()                            */
-/************************************************************************/
-
-GDALColorTable *GRASSRasterBand::GetColorTable()
-
-{
-    return poCT;
-}
-
-/************************************************************************/
-/*                             GetMinimum()                             */
-/************************************************************************/
-
-double GRASSRasterBand::GetMinimum( int *pbSuccess )
-
-{
-    if( pbSuccess )
-        *pbSuccess = bHaveMinMax;
-
-    if( bHaveMinMax )
-        return dfCellMin;
-
-    else if( eDataType == GDT_Float32 || eDataType == GDT_Float64 )
-        return -4294967295.0;
-    else
-        return 0;
-}
-
-/************************************************************************/
-/*                             GetMaximum()                             */
-/************************************************************************/
-
-double GRASSRasterBand::GetMaximum( int *pbSuccess )
-
-{
-    if( pbSuccess )
-        *pbSuccess = bHaveMinMax;
-
-    if( bHaveMinMax )
-        return dfCellMax;
-
-    else if( eDataType == GDT_Float32 || eDataType == GDT_Float64 )
-        return 4294967295.0;
-    else if( eDataType == GDT_UInt32 )
-        return 4294967295.0;
-    else if( eDataType == GDT_UInt16 )
-        return 65535;
-    else 
-        return 255;
-}
-
-/************************************************************************/
-/*                           GetNoDataValue()                           */
-/************************************************************************/
-
-double GRASSRasterBand::GetNoDataValue( int *pbSuccess )
-
-{
-    if( pbSuccess )
-        *pbSuccess = TRUE;
-
-    return dfNoData;
-}
-
-/************************************************************************/
-/* ==================================================================== */
-/*                             GRASSDataset                             */
-/* ==================================================================== */
-/************************************************************************/
-
-
-/************************************************************************/
-/*                            GRASSDataset()                            */
-/************************************************************************/
-
-GRASSDataset::GRASSDataset()
-{
-    pszProjection = NULL;
-
-    adfGeoTransform[0] = 0.0;
-    adfGeoTransform[1] = 1.0;
-    adfGeoTransform[2] = 0.0;
-    adfGeoTransform[3] = 0.0;
-    adfGeoTransform[4] = 0.0;
-    adfGeoTransform[5] = 1.0;
-}
-
-/************************************************************************/
-/*                           ~GRASSDataset()                            */
-/************************************************************************/
-
-GRASSDataset::~GRASSDataset()
-{
-    
-    if ( pszGisdbase )
-	free ( pszGisdbase );
-    
-    if ( pszLocation )
-        free ( pszLocation );
-    
-    if ( pszElement )
-	free ( pszElement );
-
-    CPLFree( pszProjection );
-}
-
-/************************************************************************/
-/*                          GetProjectionRef()                          */
-/************************************************************************/
-
-const char *GRASSDataset::GetProjectionRef() 
-{
-    if( pszProjection == NULL )
-        return "";
-    else
-        return pszProjection;
-}
-
-/************************************************************************/
-/*                          GetGeoTransform()                           */
-/************************************************************************/
-
-CPLErr GRASSDataset::GetGeoTransform( double * padfGeoTransform ) 
-{
-    memcpy( padfGeoTransform, adfGeoTransform, sizeof(double) * 6 );
-    
-    return CE_None;
-}
-
-/************************************************************************/
-/*                            SplitPath()                               */
-/* Split full path to cell or group to:                                 */
-/*     gisdbase, location, mapset, element, name                        */
-/* New string are allocated and should be freed when no longer needed.  */
-/*                                                                      */
-/* Returns: true - OK                                                   */
-/*          false - failed                                              */
-/************************************************************************/
-bool GRASSDataset::SplitPath( char *path, char **gisdbase, char **location, 
-	                      char **mapset, char **element, char **name )
-{
-    char *p, *ptr[5], *tmp;
-    int  i = 0;
-    
-    *gisdbase = *location = *mapset = *element = *name = NULL;
-    
-    if ( !path || strlen(path) == 0 ) 
-	return false;
-
-    tmp = G_store ( path );
-
-    while ( (p = strrchr(tmp,'/')) != NULL  && i < 4 ) {
-	*p = '\0';
-	
-	if ( strlen(p+1) == 0 ) /* repeated '/' */
-	    continue;
-
-	ptr[i++] = p+1;
-    }
-
-    /* Note: empty GISDBASE == 0 is not accepted (relative path) */
-    if ( i != 4 ) {
-        free ( tmp );
-	return false;
-    }
-
-    *gisdbase = G_store ( tmp );
-    *location = G_store ( ptr[3] );
-    *mapset   = G_store ( ptr[2] );
-    *element  = G_store ( ptr[1] );
-    *name     = G_store ( ptr[0] );
-
-    free ( tmp );
-    return true;
-}
-
-/************************************************************************/
-/*                                Open()                                */
-/************************************************************************/
-
-typedef int (*GrassErrorHandler)(char *, int);
-
-GDALDataset *GRASSDataset::Open( GDALOpenInfo * poOpenInfo )
-
-{
-    char	*pszGisdb = NULL, *pszLoc = NULL;
-    char	*pszMapset = NULL, *pszElem = NULL, *pszName = NULL;
-    char        **papszCells = NULL;
-    char        **papszMapsets = NULL;
-    static char fake_gisbase[50];
-    static bool hasGisbase;
-
-/* -------------------------------------------------------------------- */
-/*      Does this even look like a grass file path?                     */
-/* -------------------------------------------------------------------- */
-    if( strstr(poOpenInfo->pszFilename,"/cellhd/") == NULL
-        && strstr(poOpenInfo->pszFilename,"/group/") == NULL )
-        return NULL;
-
-    /* Always init, if no rasters are opened G_no_gisinit resets the projection and 
-     * rasters in different projection may be then opened */
-
-    // Don't use GISRC file and read/write GRASS variables (from location G_VAR_GISRC) to memory only.
-    G_set_gisrc_mode ( G_GISRC_MODE_MEMORY );
-
-    // Init GRASS libraries (required)
-    G_no_gisinit();  // Doesn't check write permissions for mapset compare to G_gisinit
-
-    // Set error function
-    G_set_error_routine ( (GrassErrorHandler) Grass2CPLErrorHook );
-    
-    
-    if ( !getenv( "GISBASE" ) ) {
-	// we are outside a GRASS session
-	// TODO: use function instead of hardcoded path
-	sprintf(fake_gisbase, "GISBASE=/usr/local/share/gdal/grass/" );	
-        putenv( fake_gisbase );
-	hasGisbase = false;
-    } else {
-	hasGisbase = true;
-    }
-
-    if ( !SplitPath( poOpenInfo->pszFilename, &pszGisdb, &pszLoc, &pszMapset,
-                     &pszElem, &pszName) ) {
-	return NULL;
-    }
-
-/* -------------------------------------------------------------------- */
-/*      Check element name                                              */
-/* -------------------------------------------------------------------- */
-    if ( strcmp(pszElem,"cellhd") != 0 && strcmp(pszElem,"group") != 0 ) { 
-	free(pszGisdb); 
-        free(pszLoc); 
-        free(pszMapset); 
-        free(pszElem); 
-        free(pszName);
-	return NULL;
-    }
-    
-/* -------------------------------------------------------------------- */
-/*      Set GRASS variables                                             */
-/* -------------------------------------------------------------------- */
-
-    G__setenv( "GISDBASE", pszGisdb );
-    G__setenv( "LOCATION_NAME", pszLoc );
-    G__setenv( "MAPSET", pszMapset); // group is searched only in current mapset 
-    G_reset_mapsets();
-    G_add_mapset_to_search_path ( pszMapset );
-
-/* -------------------------------------------------------------------- */
-/*      Check if this is a valid grass cell.                            */
-/* -------------------------------------------------------------------- */
-    if ( strcmp(pszElem,"cellhd") == 0 ) {
-	
-        if ( G_find_file2("cell", pszName, pszMapset) == NULL ) {
-	    free(pszGisdb); free(pszLoc); free(pszMapset); free(pszElem); free(pszName);
-	    return NULL;
-	}
-
-	papszMapsets = CSLAddString( papszMapsets, pszMapset );
-	papszCells = CSLAddString( papszCells, pszName );
-    }
-/* -------------------------------------------------------------------- */
-/*      Check if this is a valid GRASS imagery group.                   */
-/* -------------------------------------------------------------------- */
-    else {
-        struct Ref ref;
-
-        I_init_group_ref( &ref );
-        if ( I_get_group_ref( pszName, &ref ) == 0 ) {
-	    free(pszGisdb); free(pszLoc); free(pszMapset); free(pszElem); free(pszName);
-	    return NULL;
-	}
-        
-        for( int iRef = 0; iRef < ref.nfiles; iRef++ ) 
-	{
-            papszCells = CSLAddString( papszCells, ref.file[iRef].name );
-            papszMapsets = CSLAddString( papszMapsets, ref.file[iRef].mapset );
-            G_add_mapset_to_search_path ( ref.file[iRef].mapset );
-        }
-
-        I_free_group_ref( &ref );
-    }
-    
-    free( pszMapset );
-    free( pszName );
-
-/* -------------------------------------------------------------------- */
-/*      Create a corresponding GDALDataset.                             */
-/* -------------------------------------------------------------------- */
-    GRASSDataset 	*poDS;
-
-    poDS = new GRASSDataset();
-
-    /* notdef: should only allow read access to an existing cell, right? */
-    poDS->eAccess = poOpenInfo->eAccess;
-
-    poDS->pszGisdbase = pszGisdb;
-    poDS->pszLocation = pszLoc;
-    poDS->pszElement = pszElem;
-    
-/* -------------------------------------------------------------------- */
-/*      Capture some information from the file that is of interest.     */
-/* -------------------------------------------------------------------- */
-    
-    if( G_get_cellhd( papszCells[0], papszMapsets[0], &(poDS->sCellInfo) ) != 0 ) {
-	CPLError( CE_Warning, CPLE_AppDefined, "GRASS: Cannot open raster header");
-	/* TODO: delete poDS ? */
-	return NULL;
-    }
-
-    poDS->nRasterXSize = poDS->sCellInfo.cols;
-    poDS->nRasterYSize = poDS->sCellInfo.rows;
-
-    poDS->adfGeoTransform[0] = poDS->sCellInfo.west;
-    poDS->adfGeoTransform[1] = poDS->sCellInfo.ew_res;
-    poDS->adfGeoTransform[2] = 0.0;
-    poDS->adfGeoTransform[3] = poDS->sCellInfo.north;
-    poDS->adfGeoTransform[4] = 0.0;
-    poDS->adfGeoTransform[5] = -1 * poDS->sCellInfo.ns_res;
-    
-/* -------------------------------------------------------------------- */
-/*      Try to get a projection definition.                             */
-/* -------------------------------------------------------------------- */
-    struct Key_Value *projinfo, *projunits;
-
-    if ( hasGisbase ) {
-	projinfo = G_get_projinfo();
-	projunits = G_get_projunits();
-        poDS->pszProjection = GPJ_grass_to_wkt ( projinfo, projunits, 0, 0);
-    }
-
-/* -------------------------------------------------------------------- */
-/*      Create band information objects.                                */
-/* -------------------------------------------------------------------- */
-    for( int iBand = 0; papszCells[iBand] != NULL; iBand++ )
-    {
-	GRASSRasterBand *rb = new GRASSRasterBand( poDS, iBand+1, papszMapsets[iBand], 
-                                                                  papszCells[iBand] );
-
-	if ( !rb->valid ) {
-	    CPLError( CE_Warning, CPLE_AppDefined, "GRASS: Cannot open raster band %d", iBand);
-	    // TODO: delete poDS ?
-	    return NULL;
-	}
-
-        poDS->SetBand( iBand+1, rb );
-    }
-
-    return poDS;
-}
-
-/************************************************************************/
-/*                          GDALRegister_GRASS()                        */
-/************************************************************************/
-
-void GDALRegister_GRASS()
-{
-    GDALDriver	*poDriver;
-
-    if( GDALGetDriverByName( "GRASS" ) == NULL )
-    {
-        poDriver = new GDALDriver();
-        
-        poDriver->SetDescription( "GRASS" );
-        poDriver->SetMetadataItem( GDAL_DMD_LONGNAME, 
-                                   "GRASS Database Rasters (5.7+)" );
-        poDriver->SetMetadataItem( GDAL_DMD_HELPTOPIC, 
-                                   "frmt_grass.html" );
-        
-        poDriver->pfnOpen = GRASSDataset::Open;
-
-        GetGDALDriverManager()->RegisterDriver( poDriver );
-    }
-}
-

Deleted: packages/gdal-grass/trunk/ogrgrass.h
===================================================================
--- packages/gdal-grass/trunk/ogrgrass.h	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/ogrgrass.h	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,186 +0,0 @@
-/******************************************************************************
- * $Id: ogrgrass.h,v 1.1 2005/08/05 15:32:43 fwarmerdam Exp $
- *
- * Project:  OpenGIS Simple Features Reference Implementation
- * Purpose:  Private definitions for OGR/GRASS driver.
- * Author:   Radim Blazek, radim.blazek at gmail.com
- *
- ******************************************************************************
- * Copyright (c) 2005, Radim Blazek <radim.blazek at gmail.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.
- ******************************************************************************
- *
- * $Log: ogrgrass.h,v $
- * Revision 1.1  2005/08/05 15:32:43  fwarmerdam
- * New
- *
- *
- */
-
-#ifndef _OGRGRASS_H_INCLUDED
-#define _OGRGRASS_H_INLLUDED
-
-#include "ogrsf_frmts.h"
-
-extern "C" {
-    #include <grass/gprojects.h>
-    #include <grass/gis.h>
-    #include <grass/dbmi.h>
-    #include <grass/Vect.h>
-}
-
-/************************************************************************/
-/*                            OGRGRASSLayer                             */
-/************************************************************************/
-class OGRGRASSLayer : public OGRLayer
-{
-  public:
-                        OGRGRASSLayer(	int layer, struct Map_info * map );
-                        ~OGRGRASSLayer();
-
-    // Layer info
-    OGRFeatureDefn *    GetLayerDefn() { return poFeatureDefn; }
-    int                 GetFeatureCount( int );
-    OGRErr              GetExtent(OGREnvelope *psExtent, int bForce);
-    virtual OGRSpatialReference *GetSpatialRef();
-    int                 TestCapability( const char * );
-
-    // Reading
-    void                ResetReading();
-    virtual OGRErr      SetNextByIndex( long nIndex );
-    OGRFeature *        GetNextFeature();
-    OGRFeature         *GetFeature( long nFeatureId );
-
-    // Filters
-    virtual OGRErr 	SetAttributeFilter( const char *query );
-    virtual void 	SetSpatialFilter( OGRGeometry * poGeomIn );
-
-    // Write access, not supported:
-    virtual OGRErr      CreateField( OGRFieldDefn *poField, int bApproxOK = TRUE );
-    OGRErr              SetFeature( OGRFeature *poFeature );
-    OGRErr              CreateFeature( OGRFeature *poFeature );
-    
-  private:
-    char		*pszName;
-    OGRSpatialReference *poSRS;
-    OGRFeatureDefn	*poFeatureDefn;
-    char		*pszQuery;	// Attribute filter string
-
-    int			iNextId;
-    int			nTotalCount;
-    int			iLayer;		// Layer number 
-    int			iLayerIndex;	// Layer index (in GRASS category index)
-    int			iCatField;	// Field where category (key) is stored
-    int			nFields;
-    int 		*paFeatureIndex; // Array of indexes to category index array
-
-    // Vector map
-    struct Map_info 	*poMap;
-    struct field_info   *poLink;
-
-    // Database connection
-    bool 		bHaveAttributes;
-
-    dbString		*poDbString;
-    dbDriver		*poDriver;
-    dbCursor		*poCursor;
-    
-    bool		bCursorOpened;	// Sequential database cursor opened
-    int 		iCurrentCat;	// Current category in select cursor
-
-    struct line_pnts	*poPoints; 
-    struct line_cats	*poCats;
-
-    bool		StartDbDriver ();
-    bool		StopDbDriver ();
-
-    OGRGeometry		*GetFeatureGeometry ( long nFeatureId, int *cat );
-    bool		SetAttributes ( OGRFeature *feature, dbTable *table );
-
-    // Features matching spatial filter for ALL features/elements in GRASS
-    char 		*paSpatialMatch;
-    bool 		SetSpatialMatch();
-
-    // Features matching attribute filter for ALL features/elements in GRASS
-    char 		*paQueryMatch;
-    bool 		OpenSequentialCursor();
-    bool 		ResetSequentialCursor();
-    bool 		SetQueryMatch();
-};
-
-/************************************************************************/
-/*                          OGRGRASSDataSource                          */
-/************************************************************************/
-class OGRGRASSDataSource : public OGRDataSource
-{
-  public:
-                        OGRGRASSDataSource();
-                        ~OGRGRASSDataSource();
-
-    int                 Open( const char *, int bUpdate, int bTestOpen,
-                              int bSingleNewFile = FALSE );
-
-    const char          *GetName() { return pszName; }
-    int                 GetLayerCount() { return nLayers; }
-    OGRLayer            *GetLayer( int );
-
-    int                 TestCapability( const char * );
-
-    // Not implemented (returns NULL):
-    virtual OGRLayer    *CreateLayer( const char *, 
-                                      OGRSpatialReference * = NULL,
-                                      OGRwkbGeometryType = wkbUnknown,
-                                      char ** = NULL );
-
-
-  private:
-    OGRGRASSLayer     **papoLayers;
-    char                *pszName;	// Date source name
-    char		*pszGisdbase;	// GISBASE
-    char		*pszLocation;	// location name
-    char		*pszMapset;	// mapset name
-    char		*pszMap;	// name of vector map
-
-    struct Map_info 	map;
-    int                 nLayers;
-
-    static bool SplitPath ( char *, char **, char **, char **, char ** );
-};
-
-/************************************************************************/
-/*                            OGRGRASSDriver                            */
-/************************************************************************/
-class OGRGRASSDriver : public OGRSFDriver
-{
-  public:
-			~OGRGRASSDriver();
-                
-    const char 		*GetName();
-    OGRDataSource 	*Open( const char *, int );
-
-    int                 TestCapability( const char * );
-
-    // Not implemented (return error/NULL):
-    virtual OGRDataSource *CreateDataSource( const char *pszName, 
-	    				     char ** = NULL );
-    OGRErr              DeleteDataSource( const char *pszDataSource );
-};
-
-#endif /* ndef _OGRGRASS_H_INCLUDED */

Deleted: packages/gdal-grass/trunk/ogrgrassdatasource.cpp
===================================================================
--- packages/gdal-grass/trunk/ogrgrassdatasource.cpp	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/ogrgrassdatasource.cpp	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,309 +0,0 @@
-/******************************************************************************
- * $Id: ogrgrassdatasource.cpp,v 1.1 2005/08/05 15:32:43 fwarmerdam Exp $
- *
- * Project:  OpenGIS Simple Features Reference Implementation
- * Purpose:  Implements OGRGRASSDataSource class.
- * Author:   Radim Blazek, radim.blazek at gmail.com 
- *
- ******************************************************************************
- * Copyright (c) 2005, Radim Blazek <radim.blazek at gmail.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.
- ******************************************************************************
- *
- * $Log: ogrgrassdatasource.cpp,v $
- * Revision 1.1  2005/08/05 15:32:43  fwarmerdam
- * New
- *
- *
- */
-
-#include "ogrgrass.h"
-#include "cpl_conv.h"
-#include "cpl_string.h"
-
-CPL_CVSID("$Id: ogrgrassdatasource.cpp,v 1.1 2005/08/05 15:32:43 fwarmerdam Exp $");
-
-/************************************************************************/
-/*                         Grass2CPLErrorHook()                         */
-/************************************************************************/
-int Grass2OGRErrorHook( char * pszMessage, int bFatal )
-{
-    if( !bFatal )
-        CPLError( CE_Warning, CPLE_AppDefined, "GRASS warning: %s", pszMessage );
-    else
-        CPLError( CE_Warning, CPLE_AppDefined, "GRASS fatal error: %s", pszMessage );
-
-    return 0;
-}
-
-/************************************************************************/
-/*                         OGRGRASSDataSource()                         */
-/************************************************************************/
-OGRGRASSDataSource::OGRGRASSDataSource()
-{
-    pszName = NULL;
-    pszGisdbase = NULL;
-    pszLocation = NULL;
-    pszMapset = NULL;
-    pszMap = NULL;
-    papoLayers = NULL;
-    nLayers = 0;
-}
-
-/************************************************************************/
-/*                        ~OGRGRASSDataSource()                         */
-/************************************************************************/
-OGRGRASSDataSource::~OGRGRASSDataSource()
-{
-    CPLDebug ( "GRASS", "OGRGRASSDataSource::~OGRGRASSDataSource()" );
-
-    for( int i = 0; i < nLayers; i++ )
-        delete papoLayers[i];
-    
-    if ( pszName ) CPLFree( pszName );
-    if ( papoLayers ) CPLFree( papoLayers );
-    if ( pszGisdbase ) CPLFree( pszGisdbase );
-    if ( pszLocation ) CPLFree( pszLocation );
-    if ( pszMapset ) CPLFree( pszMapset );
-    if ( pszMap ) CPLFree( pszMap );
-}
-
-/************************************************************************/
-/*                                Open()                                */
-/************************************************************************/
-typedef int (*GrassErrorHandler)(char *, int);
-
-int OGRGRASSDataSource::Open( const char * pszNewName, int bUpdate,
-                              int bTestOpen, int bSingleNewFileIn )
-{
-    CPLDebug ( "GRASS", "OGRGRASSDataSource::Open" );
-
-    VSIStatBuf  stat;
-    
-    CPLAssert( nLayers == 0 );
-    
-    pszName = CPLStrdup( pszNewName ); // Released by destructor
-
-/* -------------------------------------------------------------------- */
-/*      Do the given path contains 'vector' and 'head'?                 */
-/* -------------------------------------------------------------------- */
-    if ( strstr(pszName,"vector") == NULL || strstr(pszName,"head") == NULL )
-    {
-        if( !bTestOpen )
-	{
-            CPLError( CE_Failure, CPLE_AppDefined,
-                 "%s is not GRASS vector, access failed.\n", pszName );
-	}
-	return FALSE;
-    }
-    
-/* -------------------------------------------------------------------- */
-/*      Is the given a regular file?                                    */
-/* -------------------------------------------------------------------- */
-    if( CPLStat( pszName, &stat ) != 0 || !VSI_ISREG(stat.st_mode) )
-    {
-        if( !bTestOpen )
-	{
-            CPLError( CE_Failure, CPLE_AppDefined,
-                 "%s is not GRASS vector, access failed.\n", pszName );
-	}
-
-        return FALSE;
-    }
-
-/* -------------------------------------------------------------------- */
-/*      Parse datasource name                                           */
-/* -------------------------------------------------------------------- */
-    if ( !SplitPath(pszName, &pszGisdbase, &pszLocation, 
-		    &pszMapset, &pszMap) ) 
-    {
-        if( !bTestOpen )
-	{
-            CPLError( CE_Failure, CPLE_AppDefined,
-                      "%s is not GRASS datasource name, access failed.\n", 
-		      pszName );
-	}
-	return FALSE;
-    }
-			
-    CPLDebug ( "GRASS", "Gisdbase: %s", pszGisdbase );
-    CPLDebug ( "GRASS", "Location: %s", pszLocation );
-    CPLDebug ( "GRASS", "Mapset: %s", pszMapset );
-    CPLDebug ( "GRASS", "Map: %s", pszMap );
-
-/* -------------------------------------------------------------------- */
-/*      Init GRASS library                                              */
-/* -------------------------------------------------------------------- */
-    // GISBASE is path to the directory where GRASS is installed,
-    // it is necessary because there are database drivers.
-    if ( !getenv( "GISBASE" ) ) {
-	char *gisbase = GRASS_GISBASE;
-        CPLError( CE_Warning, CPLE_AppDefined, "GRASS warning: GISBASE "
-		  "enviroment variable was not set, using:\n%s", gisbase );
-	char buf[2000];
-	sprintf ( buf, "GISBASE=%s", gisbase );
-
- 	char *gisbaseEnv = CPLStrdup ( buf );
-	putenv( gisbaseEnv );
-    }
-
-    // Don't use GISRC file and read/write GRASS variables 
-    // (from location G_VAR_GISRC) to memory only.
-    G_set_gisrc_mode ( G_GISRC_MODE_MEMORY );
-
-    // Init GRASS libraries (required). G_no_gisinit() doesn't check 
-    // write permissions for mapset compare to G_gisinit()
-    G_no_gisinit();  
-
-    // Set error function
-    G_set_error_routine ( (GrassErrorHandler) Grass2OGRErrorHook );
-
-/* -------------------------------------------------------------------- */
-/*      Set GRASS variables                                             */
-/* -------------------------------------------------------------------- */
-     G__setenv( "GISDBASE", pszGisdbase );
-     G__setenv( "LOCATION_NAME", pszLocation );
-     G__setenv( "MAPSET", pszMapset); 
-     G_reset_mapsets();
-     G_add_mapset_to_search_path ( pszMapset );
-
-/* -------------------------------------------------------------------- */
-/*      Open GRASS vector map                                           */
-/* -------------------------------------------------------------------- */
-    Vect_set_fatal_error ( GV_FATAL_PRINT ); // Print error and continue
-    Vect_set_open_level (2);
-    int level = Vect_open_old ( &map, pszMap, pszMapset);
-
-    if ( level < 2 ) {
-        CPLError( CE_Failure, CPLE_AppDefined,
-                 "Cannot open GRASS vector %s on level 2.\n", pszName );
-	return FALSE;
-    }
-
-    CPLDebug ( "GRASS", "Num lines = %d", Vect_get_num_lines(&map) );
-    
-/* -------------------------------------------------------------------- */
-/*      Build a list of layers.                                         */
-/* -------------------------------------------------------------------- */
-    int ncidx = Vect_cidx_get_num_fields ( &map );
-    CPLDebug ( "GRASS", "Num layers = %d", ncidx );
-
-    for ( int i = 0; i < ncidx; i++ ) {
-	// Create the layer object
-	OGRGRASSLayer       *poLayer;
-
-        poLayer = new OGRGRASSLayer( i, &map );
-	
-        // Add layer to data source layer list
-	papoLayers = (OGRGRASSLayer **)
-	    CPLRealloc( papoLayers,  sizeof(OGRGRASSLayer *) * (nLayers+1) );
-	papoLayers[nLayers++] = poLayer;
-    }
-    
-    return TRUE;
-}
-
-/************************************************************************/
-/*                            CreateLayer()                             */
-/************************************************************************/
-OGRLayer *
-OGRGRASSDataSource::CreateLayer( const char * pszLayerName,
-                                 OGRSpatialReference *poSRS,
-                                 OGRwkbGeometryType eType,
-                                 char ** papszOptions )
-
-{
-    CPLError( CE_Failure, CPLE_NoWriteAccess,
-	      "CreateLayer is not supported by GRASS driver" );
-
-    return NULL;
-}
-
-/************************************************************************/
-/*                           TestCapability()                           */
-/************************************************************************/
-int OGRGRASSDataSource::TestCapability( const char * pszCap )
-{
-    return FALSE;
-}
-
-/************************************************************************/
-/*                              GetLayer()                              */
-/************************************************************************/
-OGRLayer *OGRGRASSDataSource::GetLayer( int iLayer )
-{
-    if( iLayer < 0 || iLayer >= nLayers )
-        return NULL;
-    else
-        return papoLayers[iLayer];
-}
-
-/************************************************************************/
-/*                            SplitPath()                               */
-/* Split full path to cell or group to:                                 */
-/*     gisdbase, location, mapset, name                                 */
-/* New string are allocated and should be freed when no longer needed.  */
-/*                                                                      */
-/* Returns: true - OK                                                   */
-/*          false - failed                                              */
-/************************************************************************/
-bool OGRGRASSDataSource::SplitPath( char *path, char **gisdbase, 
-	                     char **location, char **mapset, char **map )
-{
-    char *p, *ptr[5], *tmp;
-    int  i = 0;
-    
-    CPLDebug ( "GRASS", "OGRGRASSDataSource::SplitPath" );
-    
-    *gisdbase = *location = *mapset = *map = NULL;
-    
-    if ( !path || strlen(path) == 0 ) 
-	return false;
-
-    tmp = G_store ( path );
-
-    while ( (p = strrchr(tmp,'/')) != NULL  && i < 5 ) {
-	*p = '\0';
-	
-	if ( strlen(p+1) == 0 ) /* repeated '/' */
-	    continue;
-
-	ptr[i++] = p+1;
-    }
-
-    /* Note: empty GISDBASE == 0 is not accepted (relative path) */
-    if ( i != 5 ) {
-        free ( tmp );
-	return false;
-    }
-
-    if ( strcmp(ptr[0],"head") != 0 || strcmp(ptr[2],"vector") != 0 ) {
-       return false;
-    }       
-
-    *gisdbase = G_store ( tmp );
-    *location = G_store ( ptr[4] );
-    *mapset   = G_store ( ptr[3] );
-    *map      = G_store ( ptr[1] );
-
-    free ( tmp );
-    return true;
-}
-

Deleted: packages/gdal-grass/trunk/ogrgrassdriver.cpp
===================================================================
--- packages/gdal-grass/trunk/ogrgrassdriver.cpp	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/ogrgrassdriver.cpp	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,117 +0,0 @@
-/******************************************************************************
- * $Id: ogrgrassdriver.cpp,v 1.1 2005/08/05 15:32:43 fwarmerdam Exp $
- *
- * Project:  OpenGIS Simple Features Reference Implementation
- * Purpose:  Implements OGRGRASSDriver class.
- * Author:   Radim Blazek, radim.blazek at gmail.com
- *
- ******************************************************************************
- * Copyright (c) 2005, Radim Blazek <radim.blazek at gmail.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.
- ******************************************************************************
- *
- * $Log: ogrgrassdriver.cpp,v $
- * Revision 1.1  2005/08/05 15:32:43  fwarmerdam
- * New
- *
- *
- */
-
-#include "ogrgrass.h"
-#include "cpl_conv.h"
-#include "cpl_string.h"
-
-CPL_CVSID("$Id: ogrgrassdriver.cpp,v 1.1 2005/08/05 15:32:43 fwarmerdam Exp $");
-
-/************************************************************************/
-/*                          ~OGRGRASSDriver()                           */
-/************************************************************************/
-OGRGRASSDriver::~OGRGRASSDriver()
-{
-}
-
-/************************************************************************/
-/*                              GetName()                               */
-/************************************************************************/
-const char *OGRGRASSDriver::GetName()
-{
-    return "GRASS";
-}
-
-/************************************************************************/
-/*                                Open()                                */
-/************************************************************************/
-OGRDataSource *OGRGRASSDriver::Open( const char * pszFilename,
-                                     int bUpdate )
-{
-    OGRGRASSDataSource  *poDS;
-
-    poDS = new OGRGRASSDataSource();
-
-    if( !poDS->Open( pszFilename, bUpdate, TRUE ) )
-    {
-        delete poDS;
-        return NULL;
-    }
-    else
-    {
-        return poDS;
-    }
-}
-
-/************************************************************************/
-/*                          CreateDataSource()                          */
-/************************************************************************/
-OGRDataSource *OGRGRASSDriver::CreateDataSource( const char * pszName,
-                                                 char **papszOptions )
-{
-    CPLError( CE_Failure, CPLE_AppDefined, 
-	      "CreateDataSource is not supported by GRASS driver.\n" );
-            
-    return NULL;
-}
-
-/************************************************************************/
-/*                          DeleteDataSource()                          */
-/************************************************************************/
-OGRErr OGRGRASSDriver::DeleteDataSource( const char *pszDataSource )
-{
-    CPLError( CE_Failure, CPLE_AppDefined,
-	      "DeleteDataSource is not supported by GRASS driver" );
-
-    return OGRERR_FAILURE;
-}
-
-/************************************************************************/
-/*                           TestCapability()                           */
-/************************************************************************/
-int OGRGRASSDriver::TestCapability( const char * pszCap )
-{
-    return FALSE;
-}
-
-/************************************************************************/
-/*                          RegisterOGRGRASS()                          */
-/************************************************************************/
-void RegisterOGRGRASS()
-{
-    OGRSFDriverRegistrar::GetRegistrar()->RegisterDriver( new OGRGRASSDriver );
-}
-

Deleted: packages/gdal-grass/trunk/ogrgrasslayer.cpp
===================================================================
--- packages/gdal-grass/trunk/ogrgrasslayer.cpp	2007-12-04 11:28:04 UTC (rev 1285)
+++ packages/gdal-grass/trunk/ogrgrasslayer.cpp	2007-12-05 09:28:28 UTC (rev 1286)
@@ -1,1074 +0,0 @@
-/******************************************************************************
- * $Id: ogrgrasslayer.cpp,v 1.4 2006/07/31 15:49:30 fwarmerdam Exp $
- *
- * Project:  OpenGIS Simple Features Reference Implementation
- * Purpose:  Implements OGRGRASSLayer class.
- * Author:   Radim Blazek, radim.blazek at gmail.com 
- *
- ******************************************************************************
- * Copyright (c) 2005, Radim Blazek <radim.blazek at gmail.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.
- ******************************************************************************
- *
- * $Log: ogrgrasslayer.cpp,v $
- * Revision 1.4  2006/07/31 15:49:30  fwarmerdam
- * Try and enable datetime support per email from Markus.  Not tested yet.
- *
- * Revision 1.3  2006/02/14 13:01:49  rblazek
- * dont kill on win
- *
- * Revision 1.2  2005/09/21 00:59:36  fwarmerdam
- * fixup OGRFeatureDefn and OGRSpatialReference refcount handling
- *
- * Revision 1.1  2005/08/05 15:32:43  fwarmerdam
- * New
- *
- *
- */
-
-#include <signal.h>
-#include "ogrgrass.h"
-#include "cpl_conv.h"
-
-CPL_CVSID("$Id: ogrgrasslayer.cpp,v 1.4 2006/07/31 15:49:30 fwarmerdam Exp $");
-
-/************************************************************************/
-/*                           OGRGRASSLayer()                            */
-/************************************************************************/
-OGRGRASSLayer::OGRGRASSLayer( int layerIndex,  struct Map_info * map )
-{
-    CPLDebug ( "GRASS", "OGRGRASSLayer::OGRGRASSLayer layerIndex = %d", layerIndex );
-    
-    iLayerIndex = layerIndex;
-    poMap = map; 
-    poSRS = NULL;
-    iNextId = 0;
-    poPoints = Vect_new_line_struct();
-    poCats = Vect_new_cats_struct();
-    pszQuery = NULL;
-    paQueryMatch = NULL;
-    paSpatialMatch = NULL;
-
-    iLayer = Vect_cidx_get_field_number ( poMap, iLayerIndex);
-    CPLDebug ( "GRASS", "iLayer = %d", iLayer );
-    
-    poLink = Vect_get_field ( poMap, iLayer ); // May be NULL if not defined
-
-    // Layer name
-    if ( poLink && poLink->name )
-    {
-	pszName = CPLStrdup( poLink->name );	
-    }
-    else
-    {	
-	char buf[20]; 
-	sprintf ( buf, "%d", iLayer ); 
-	pszName = CPLStrdup( buf );
-    }
-
-    // Because we don't represent centroids as any simple feature, we have to scan
-    // category index and create index of feature IDs pointing to category index
-    nTotalCount = Vect_cidx_get_type_count(poMap,iLayer, GV_POINT|GV_LINES|GV_AREA);
-    CPLDebug ( "GRASS", "nTotalCount = %d", nTotalCount );
-    paFeatureIndex = (int *) CPLMalloc ( nTotalCount * sizeof(int) );
-    
-    int n = Vect_cidx_get_type_count(poMap,iLayer, GV_POINTS|GV_LINES|GV_AREA);
-    int cnt = 0;
-    for ( int i = 0; i < n; i++ ) 
-    {
-	int cat,type, id;
-	
-	Vect_cidx_get_cat_by_index ( poMap, iLayerIndex, i, &cat, &type, &id );
-    
-	if ( !( type & (GV_POINT|GV_LINES|GV_AREA) ) ) continue;
-	paFeatureIndex[cnt++] = i;
-    }
-
-    poFeatureDefn = new OGRFeatureDefn( pszName );
-    poFeatureDefn->Reference();
-
-    // Get type definition
-    int nTypes = Vect_cidx_get_num_types_by_index ( poMap, iLayerIndex );
-    int types = 0;
-    for ( int i = 0; i < nTypes; i++ ) {
-	int type, count;
-	Vect_cidx_get_type_count_by_index ( poMap, iLayerIndex, i, &type, &count);
-	if ( !(type & (GV_POINT|GV_LINES|GV_AREA) ) ) continue;
-	types |= type;
-        CPLDebug ( "GRASS", "type = %d types = %d", type, types );
-    }
-    if ( types == GV_LINE || types == GV_BOUNDARY || types == GV_LINES ) 
-    {
-        poFeatureDefn->SetGeomType ( wkbLineString );
-    } 
-    else if ( types == GV_POINT )
-    {
-	poFeatureDefn->SetGeomType ( wkbPoint );
-    }
-    else if ( types == GV_AREA )
-    {
-        CPLDebug ( "GRASS", "set wkbPolygon" );
-	poFeatureDefn->SetGeomType ( wkbPolygon );
-    }
-
-    // Get attributes definition
-    poDbString = (dbString*) CPLMalloc ( sizeof(dbString) );
-    poCursor = (dbCursor*) CPLMalloc ( sizeof(dbCursor) );
-    bCursorOpened = FALSE;
-
-    poDriver = NULL;
-    bHaveAttributes = false;
-    db_init_string ( poDbString );
-    if ( poLink ) 
-    {
-	if ( StartDbDriver() ) 
-	{
-	    db_set_string ( poDbString, poLink->table );
-	    dbTable *table;
-	    if ( db_describe_table ( poDriver, poDbString, &table) == DB_OK )
-	    {
-		nFields = db_get_table_number_of_columns ( table );
-		iCatField = -1;
-		for ( int i = 0; i < nFields; i++) 
-		{
-		    dbColumn *column = db_get_table_column ( table, i );
-		    int ctype = db_sqltype_to_Ctype ( db_get_column_sqltype(column) );
-    
-		    OGRFieldType ogrFtype = OFTInteger;
- 	     	    switch ( ctype ) {
-			 case DB_C_TYPE_INT:
-			    ogrFtype = OFTInteger;
-			    break; 
-			 case DB_C_TYPE_DOUBLE:
-			    ogrFtype = OFTReal;
-			    break; 
-			 case DB_C_TYPE_STRING:
-			    ogrFtype = OFTString;
-			    break; 
-			 case DB_C_TYPE_DATETIME:
-			    ogrFtype = OFTDateTime;
-			    break; 
-		    }
-
-		    CPLDebug ( "GRASS", "column = %s type = %d", 
-			       db_get_column_name(column), ctype );
-		    
-		    OGRFieldDefn oField ( db_get_column_name(column), ogrFtype );
-		    poFeatureDefn->AddFieldDefn( &oField );
-
-		    if ( G_strcasecmp(db_get_column_name(column),poLink->key) == 0 )
-		    {
-			iCatField = i;
-		    }
-		}
-		if ( iCatField >= 0  ) 
-		{
-    		    bHaveAttributes = true;
-		}
-		else
-		{
-		    CPLError( CE_Failure, CPLE_AppDefined, "Cannot find key field" );
-		    db_close_database_shutdown_driver ( poDriver );
-		    poDriver = NULL;
-		}
-	    }
-	    else
-	    {
-		CPLError( CE_Failure, CPLE_AppDefined, "Cannot describe table %s", 
-			  poLink->table );
-
-	    }
-	    db_close_database_shutdown_driver ( poDriver );
-	    poDriver = NULL;
-	}
-    } 
-	
-    if ( !bHaveAttributes && iLayer > 0 ) // Because features in layer 0 have no cats  
-    {
-	OGRFieldDefn oField("cat", OFTInteger);
-	poFeatureDefn->AddFieldDefn( &oField );
-    }
-
-    if ( getenv("GISBASE") )  // We have some projection info in GISBASE
-    {
-        struct Key_Value *projinfo, *projunits;
-
-	// Note: we dont have to reset GISDBASE and LOCATION_NAME because 
-	// OGRGRASSLayer constructor is called from OGRGRASSDataSource::Open
-	// where those variables are set
-
-        projinfo = G_get_projinfo();
-	projunits = G_get_projunits();
-
-	char *srsWkt = GPJ_grass_to_wkt ( projinfo, projunits, 0, 0);
-	if ( srsWkt ) 
-	{
-	    poSRS = new OGRSpatialReference ( srsWkt );
-	    CPLFree ( srsWkt );
-	}
-    }
-}
-
-/************************************************************************/
-/*                           ~OGRGRASSLayer()                           */
-/************************************************************************/
-OGRGRASSLayer::~OGRGRASSLayer()
-{
-    if ( bCursorOpened ) 
-    {
-	db_close_cursor ( poCursor);
-    }
-
-    if ( poDriver ) 
-    {
-	StopDbDriver();
-    }
-    
-    if ( pszName ) CPLFree ( pszName );
-    if ( poFeatureDefn )
-        poFeatureDefn->Release();
-    if ( poSRS )
-        poSRS->Release();
-
-    if ( pszQuery ) CPLFree ( pszQuery );
-    
-    if ( paFeatureIndex ) CPLFree ( paFeatureIndex );
-    
-    if ( poLink ) CPLFree ( poLink );
-    
-    Vect_destroy_line_struct ( poPoints );
-    Vect_destroy_cats_struct ( poCats );
-
-    db_free_string ( poDbString );
-    CPLFree ( poDbString );
-    CPLFree ( poCursor );
-
-    if ( paSpatialMatch ) CPLFree ( paSpatialMatch );
-    if ( paQueryMatch ) CPLFree ( paQueryMatch );
-}
-
-/************************************************************************/
-/*                            StartDbDriver                             */
-/************************************************************************/
-bool OGRGRASSLayer::StartDbDriver()
-{
-    CPLDebug ( "GRASS", "StartDbDriver()" ); 
-
-    bCursorOpened = false;
-	    
-    if ( !poLink ) 
-    {
-	return false;
-    }
-    poDriver = db_start_driver_open_database ( poLink->driver, poLink->database );
-    
-    if ( poDriver == NULL) 
-    {
-	CPLError( CE_Failure, CPLE_AppDefined, "Cannot open database %s by driver %s, "
-		  "check if GISBASE enviroment variable is set, the driver is available "
-		  " and the database is accessible.", poLink->driver, poLink->database );
-	return false;
-    } 
-    return true;
-}
-
-/************************************************************************/
-/*                            StopDbDriver                              */
-/************************************************************************/
-bool OGRGRASSLayer::StopDbDriver()
-{
-    if ( !poDriver ) 
-    {
-	CPLError( CE_Failure, CPLE_AppDefined, "Driver is not started" );
-	return true; // I think that true is OK here
-    }
-
-    // TODO!!!: Because of bug in GRASS library it is impossible 
-    // to stop drivers in FIFO order. Until this is fixed 
-    // we have to use kill
-    CPLDebug ( "GRASS", "driver PID = %d", poDriver->pid ); 
-
-#if defined(_WIN32) || defined(__WIN32__)
-    db_close_database_shutdown_driver ( poDriver );
-#else
-    if ( kill (poDriver->pid, SIGINT) != 0 ) 
-    {
-	if ( kill (poDriver->pid, SIGKILL) != 0 ) 
-	{
-	    CPLError( CE_Failure, CPLE_AppDefined, "Cannot stop database "
-		      "driver pid = %d", poDriver->pid );
-	}
-    }
-#endif
-	    
-    bCursorOpened = false;
-    
-    return true;
-}
-
-/************************************************************************/
-/*                            ResetReading()                            */
-/************************************************************************/
-void OGRGRASSLayer::ResetReading()
-{
-    iNextId = 0;
-    
-    if ( bCursorOpened ) {
-	ResetSequentialCursor();
-    }
-}
-
-/************************************************************************/
-/*                           SetNextByIndex()                           */
-/*                                                                      */
-/*      If we already have an FID list, we can easily resposition       */
-/*      ourselves in it.                                                */
-/************************************************************************/
-OGRErr OGRGRASSLayer::SetNextByIndex( long nIndex )
-{
-    if( m_poFilterGeom != NULL || m_poAttrQuery != NULL ) 
-    {
-	iNextId = 0;
-	int count = 0;
-	
-	while ( true ) {
-	    if( iNextId >= nTotalCount ) break;
-	    if ( count == nIndex ) break;
-
-	    // Attributes
-	    if( pszQuery != NULL && !paQueryMatch[iNextId] ) {
-		iNextId++;
-		continue;
-	    }
-
-	    // Spatial
-	    if( m_poFilterGeom && !paSpatialMatch[iNextId] ) {
-		iNextId++;
-		continue;
-	    }
-	    count++;
-	}
-    }
-
-    iNextId = nIndex;
-
-    return OGRERR_NONE;
-}
-
-/************************************************************************/
-/*                           SetAttributeFilter                         */
-/************************************************************************/
-OGRErr OGRGRASSLayer::SetAttributeFilter( const char *query )
-{
-    CPLDebug ( "GRASS", "SetAttributeFilter: %s", query  );
-
-    if ( query == NULL ) {
-	// Release old if any
-	if ( pszQuery ) {
-	    CPLFree ( pszQuery );
-	    pszQuery = NULL;
-	}
-	if ( paQueryMatch ) {
-	    CPLFree ( paQueryMatch );
-	    paQueryMatch = NULL;
-	}
-	return OGRERR_NONE;
-    }
-
-    paQueryMatch = (char *) CPLMalloc ( nTotalCount );
-    memset ( paQueryMatch, 0x0, nTotalCount );
-    pszQuery = strdup ( query );
-
-    OGRLayer::SetAttributeFilter(query); // Otherwise crash on delete
-
-    if ( bHaveAttributes ) {
-
-	if ( !poDriver ) 
-	{
-	    StartDbDriver();
-	}
-
-	if ( poDriver ) 
-	{
-	    if ( bCursorOpened )
-	    {
-		db_close_cursor ( poCursor ); 
-		bCursorOpened = false;
-	    }
-	    OpenSequentialCursor();
-	    if ( bCursorOpened )
-	    {
-		SetQueryMatch();
-		db_close_cursor ( poCursor );
-		bCursorOpened = false;
-	    }
-	    else
-	    {
-		CPLFree ( pszQuery );
-		pszQuery = NULL;
-		return OGRERR_FAILURE;
-	    }
-	    db_close_database_shutdown_driver ( poDriver );
-	    poDriver = NULL;
-	}
-	else
-	{
-	    CPLFree ( pszQuery );
-	    pszQuery = NULL;
-	    return OGRERR_FAILURE;
-	}
-    }
-    else
-    {
-	// Use OGR to evaluate category match
-	for ( int i = 0; i < nTotalCount; i++ ) 
-	{
-	    OGRFeature *feature = GetFeature(i); 
-	    CPLDebug ( "GRASS", "i = %d eval = %d", i, m_poAttrQuery->Evaluate ( feature ) );
-	    if ( m_poAttrQuery->Evaluate ( feature ) )
-	    {
-		paQueryMatch[i] = 1;
-	    }
-	}
-    }
-    
-    return OGRERR_NONE;
-}
-
-/************************************************************************/
-/*                           SetQueryMatch                              */
-/************************************************************************/
-bool OGRGRASSLayer::SetQueryMatch()
-{
-    CPLDebug ( "GRASS", "SetQueryMatch" );
-
-    // NOTE: we don't have to call ResetSequentialCursor() first because
-    // this method is called immediately after OpenSequentialCursor()
-    
-    if ( !bCursorOpened ) {
-	CPLError( CE_Failure, CPLE_AppDefined, "Cursor is not opened.");
-	return false;
-    }
-
-    int more;
-    int cidx = 0; // index to category index
-    int fidx = 0; // index to feature index (paFeatureIndex)
-    // number of categories in category index
-    int ncats = Vect_cidx_get_num_cats_by_index ( poMap, iLayerIndex );
-    dbTable *table = db_get_cursor_table ( poCursor );
-    while ( true ) {
-	if( db_fetch ( poCursor, DB_NEXT, &more) != DB_OK ) 
-	{
-	    CPLError( CE_Failure, CPLE_AppDefined, "Cannot fetch attributes.");
-	    return false;
-	}
-	if ( !more ) break;
-
-	dbColumn *column = db_get_table_column ( table, iCatField );
-	dbValue *value = db_get_column_value ( column );
-	int cat = db_get_value_int ( value );
-
-	// NOTE: because of bug in GRASS library it is impossible to use
-	//       Vect_cidx_find_next
-	
-	// Go through category index until first record of current category 
-	// is found or a category > current is found
-	int cidxcat, type, id;
-	while ( cidx < ncats ) {
-	    Vect_cidx_get_cat_by_index ( poMap, iLayerIndex, cidx, 
-		                         &cidxcat, &type, &id );
-
-	    if ( cidxcat < cat ) {
-	    	cidx++;
-		continue;
-	    }
-	    if ( cidxcat > cat ) break; // Not found
-	    
-	    // We have the category we want, check type
-	    if ( !(type & (GV_POINT|GV_LINES|GV_AREA)) )
-	    {
-	    	cidx++;
-		continue;
-	    }
-
-	    // Both category and type match -> find feature and set it on
-	    while ( true ) {
-		if ( fidx > nTotalCount || paFeatureIndex[fidx] > cidx ) { 
-		    // should not happen
-		    break;
-		}
-		    
-		if ( paFeatureIndex[fidx] == cidx ) {
-		    paQueryMatch[fidx] = 1;
-		    fidx++;
-		    break;
-		}
-		fidx++;
-	    }
-	    cidx++;
-	}
-
-	if ( id < 0 ) continue; // not found
-    }
-
-    return true;
-}
-    
-/************************************************************************/
-/*                           OpenSequentialCursor                       */
-/************************************************************************/
-bool OGRGRASSLayer::OpenSequentialCursor()
-{
-    CPLDebug ( "GRASS", "OpenSequentialCursor: %s", pszQuery  );
-
-    if ( !poDriver ) 
-    {
-	CPLError( CE_Failure, CPLE_AppDefined, "Driver not opened.");
-	return false;
-    }
-
-    if ( bCursorOpened )
-    {
-	db_close_cursor ( poCursor );
-	bCursorOpened = false;
-    }
-
-    char buf[2000];
-    sprintf ( buf, "SELECT * FROM %s ", poLink->table );
-    db_set_string ( poDbString, buf);
-
-    if ( pszQuery ) {
-	sprintf ( buf, "WHERE %s ", pszQuery );
-	db_append_string ( poDbString, buf);
-    }
-
-    sprintf ( buf, "ORDER BY %s", poLink->key);
-    db_append_string ( poDbString, buf);
-
-    CPLDebug ( "GRASS", "Query: %s", db_get_string(poDbString) );
-    
-    if ( db_open_select_cursor ( poDriver, poDbString, 
-		poCursor, DB_SCROLL) == DB_OK ) 
-    {
-	iCurrentCat = -1;
-	bCursorOpened = true;
-	CPLDebug ( "GRASS", "num rows = %d", db_get_num_rows ( poCursor ) );
-    } 
-    else 
-    {
-	CPLError( CE_Failure, CPLE_AppDefined, "Cannot open cursor.");
-	return false;
-    }
-    return true;
-}
-
-/************************************************************************/
-/*                           ResetSequentialCursor                      */
-/************************************************************************/
-bool OGRGRASSLayer::ResetSequentialCursor()
-{
-    CPLDebug ( "GRASS", "ResetSequentialCursor" );
-
-    int more;
-    if( db_fetch ( poCursor, DB_FIRST, &more) != DB_OK ) 
-    {
-	CPLError( CE_Failure, CPLE_AppDefined, "Cannot reset cursor.");
-	return false;
-    }
-    if( db_fetch ( poCursor, DB_PREVIOUS, &more) != DB_OK ) 
-    {
-	CPLError( CE_Failure, CPLE_AppDefined, "Cannot reset cursor.");
-	return false;
-    }
-    return true;
-}
-
-/************************************************************************/
-/*                           SetSpatialFilter                           */
-/************************************************************************/
-void OGRGRASSLayer::SetSpatialFilter( OGRGeometry * poGeomIn )
-{
-    CPLDebug ( "GRASS", "SetSpatialFilter" );
-
-    OGRLayer::SetSpatialFilter ( poGeomIn );
-
-    if ( poGeomIn == NULL ) {
-	// Release old if any
-    	if ( paSpatialMatch ) {
-	    CPLFree ( paSpatialMatch );
-	    paSpatialMatch = NULL;
-	}
-	return;
-    }
-
-    SetSpatialMatch();
-}
-
-/************************************************************************/
-/*                           SetSpatialMatch                            */
-/************************************************************************/
-bool OGRGRASSLayer::SetSpatialMatch()
-{
-    CPLDebug ( "GRASS", "SetSpatialMatch" );
-
-    if ( !paSpatialMatch ) 
-    {
-	paSpatialMatch = (char *) CPLMalloc ( nTotalCount );
-    }
-    memset ( paSpatialMatch, 0x0, nTotalCount );
-
-    OGRGeometry *geom; 
-    OGRLineString *lstring = new OGRLineString();
-    lstring->setNumPoints ( 5 );
-    geom = lstring;
-
-    for ( int i = 0; i < nTotalCount; i++ ) {
-	int cidx = paFeatureIndex[i];
-
-	int cat, type, id;
-	
-	Vect_cidx_get_cat_by_index ( poMap, iLayerIndex, cidx, &cat, &type, &id );
-
-	BOUND_BOX box;
-
-	switch ( type ) 
-	{
-	    case GV_POINT:
-	    case GV_LINE:
-	    case GV_BOUNDARY:
-		Vect_get_line_box ( poMap, id, &box );
-		break;
-
-	    case GV_AREA:
-		Vect_get_area_box ( poMap, id, &box );
-		break;
-	}
-		
-	lstring->setPoint( 0, box.W, box.N, 0. );
-	lstring->setPoint( 1, box.W, box.S, 0. );
-	lstring->setPoint( 2, box.E, box.S, 0. );
-	lstring->setPoint( 3, box.E, box.N, 0. );
-	lstring->setPoint( 4, box.W, box.N, 0. );
-
-	if ( FilterGeometry(geom) ) {
-    	    CPLDebug ( "GRASS", "Feature %d in filter", i );
-	    paSpatialMatch[i] = 1;
-	}
-    }
-    delete lstring;
-    return true;
-}
-    
-/************************************************************************/
-/*                           GetNextFeature()                           */
-/************************************************************************/
-OGRFeature *OGRGRASSLayer::GetNextFeature()
-{
-    CPLDebug ( "GRASS", "OGRGRASSLayer::GetNextFeature" );
-    OGRFeature  *poFeature = NULL;
-
-    int cat;
-
-    // Get next iNextId
-    while ( true ) {
-	if( iNextId >= nTotalCount ) // No more features
-	{ 
-	    // Close cursor / driver if opened 
-	    if ( bCursorOpened ) 
-	    {
-	    	db_close_cursor ( poCursor);
-	    	bCursorOpened = false;
-	    }
-	    if ( poDriver ) 
-	    {
-    	    	db_close_database_shutdown_driver ( poDriver );
-		poDriver = NULL;
-	    }
-
-	    return NULL;
-	}
-
-	// Attributes
-	if( pszQuery != NULL && !paQueryMatch[iNextId] ) {
-	    iNextId++;
-	    continue;
-	}
-
-	// Spatial
-	if( m_poFilterGeom && !paSpatialMatch[iNextId] ) {
-	    iNextId++;
-	    continue;
-	}
-	
-	break; // Attributes & spatial filter match
-    }
-
-    OGRGeometry *poOGR = GetFeatureGeometry ( iNextId, &cat );
-
-    poFeature = new OGRFeature( poFeatureDefn );
-    poFeature->SetGeometryDirectly( poOGR );
-    poFeature->SetFID ( iNextId );
-    iNextId++;
-    
-    // Get attributes
-    CPLDebug ( "GRASS", "bHaveAttributes = %d", bHaveAttributes );
-    if ( bHaveAttributes ) 
-    {
-	if ( !poDriver ) 
-	{
-	    StartDbDriver();
-	}
-	if ( poDriver ) {
-	    if ( !bCursorOpened ) 
-	    {
-		OpenSequentialCursor();
-	    }
-	    if ( bCursorOpened ) 
-	    {
-		dbTable  *table = db_get_cursor_table ( poCursor );
-		if ( iCurrentCat < cat ) 
-		{
-		    while ( true ) {
-			int more;
-			if( db_fetch ( poCursor, DB_NEXT, &more) != DB_OK ) 
-			{
-			    CPLError( CE_Failure, CPLE_AppDefined, 
-				      "Cannot fetch attributes.");
-			    break;
-			}
-			if ( !more ) break;
-
-			dbColumn *column = db_get_table_column ( table, iCatField );
-			dbValue *value = db_get_column_value ( column );
-			iCurrentCat = db_get_value_int ( value );
-
-			if ( iCurrentCat >= cat ) break;
-		    }
-		}
-		if ( cat == iCurrentCat )
-		{
-		    SetAttributes ( poFeature, table );
-		} 
-		else 
-		{
-		    CPLError( CE_Failure, CPLE_AppDefined, "Attributes not found.");
-		}
-	    }
-	}
-    } 
-    else if ( iLayer > 0 ) // Add category
-    {
-	poFeature->SetField( 0, cat );
-    }	
-    
-    m_nFeaturesRead++;
-    return poFeature;
-}
-/************************************************************************/
-/*                             GetFeature()                             */
-/************************************************************************/
-OGRFeature *OGRGRASSLayer::GetFeature( long nFeatureId )
-
-{
-    CPLDebug ( "GRASS", "OGRGRASSLayer::GetFeature nFeatureId = %d", nFeatureId );
-
-    int cat;
-    OGRFeature *poFeature = NULL;
-
-    OGRGeometry *poOGR = GetFeatureGeometry ( nFeatureId, &cat );
-
-    poFeature = new OGRFeature( poFeatureDefn );
-    poFeature->SetGeometryDirectly( poOGR );
-    poFeature->SetFID ( nFeatureId );
-
-    // Get attributes
-    if ( bHaveAttributes && !poDriver ) 
-    {
-	StartDbDriver();
-    }
-    if ( poDriver ) 
-    {
-	if ( bCursorOpened ) 
-	{
-	    db_close_cursor ( poCursor);
-	    bCursorOpened = false;
-	}
-	CPLDebug ( "GRASS", "Open cursor for key = %d", cat );
-	char buf[2000];
-	sprintf ( buf, "SELECT * FROM %s WHERE %s = %d", 
-		       poLink->table, poLink->key, cat );
-	db_set_string ( poDbString, buf);
-	if ( db_open_select_cursor ( poDriver, poDbString, 
-		    poCursor, DB_SEQUENTIAL) == DB_OK ) 
-	{
-	    iCurrentCat = cat; // Not important
-	    bCursorOpened = true;
-	} 
-	else 
-	{
-	    CPLError( CE_Failure, CPLE_AppDefined, "Cannot open cursor.");
-	}
-
-	if ( bCursorOpened ) 
-	{
-	    int more;
-	    if( db_fetch ( poCursor, DB_NEXT, &more) != DB_OK ) 
-	    {
-		CPLError( CE_Failure, CPLE_AppDefined, "Cannot fetch attributes.");
-	    } 
-	    else 
-	    {
-		if ( !more ) 
-		{
-		    CPLError( CE_Failure, CPLE_AppDefined, "Attributes not found.");
-		} 
-		else 
-		{
-	    	    dbTable *table = db_get_cursor_table ( poCursor );
-		    SetAttributes ( poFeature, table );
-		}
-	    }
-	    db_close_cursor ( poCursor);
-	    bCursorOpened = false;
-	}
-    } 
-    else if ( iLayer > 0 ) // Add category
-    {
-	poFeature->SetField( 0, cat );
-    }	
-    
-    m_nFeaturesRead++;
-    return poFeature;
-}
-
-/************************************************************************/
-/*                             GetFeatureGeometry()                     */
-/************************************************************************/
-OGRGeometry *OGRGRASSLayer::GetFeatureGeometry ( long nFeatureId, int *cat )
-{
-    CPLDebug ( "GRASS", "OGRGRASSLayer::GetFeatureGeometry nFeatureId = %d", nFeatureId );
-
-    int cidx = paFeatureIndex[(int)nFeatureId];
-
-    int type, id;
-    Vect_cidx_get_cat_by_index ( poMap, iLayerIndex, cidx, cat, &type, &id );
-
-    //CPLDebug ( "GRASS", "cat = %d type = %d id = %d", *cat, type, id );
-
-    OGRGeometry *poOGR = NULL;
-
-    switch ( type ) {
-	case GV_POINT:
-        {
-	    Vect_read_line ( poMap, poPoints, poCats, id);
-	    poOGR = new OGRPoint( poPoints->x[0], poPoints->y[0], poPoints->z[0] );
-        }
-        break;
-	    
-	case GV_LINE:
-	case GV_BOUNDARY:
-        {
-	    Vect_read_line ( poMap, poPoints, poCats, id);
-	    OGRLineString *poOGRLine = new OGRLineString();
-            poOGRLine->setPoints( poPoints->n_points, 
-		                  poPoints->x, poPoints->y, poPoints->z );
-
-            poOGR = poOGRLine;
-        }
-        break;
-
-	case GV_AREA:
-        {
-	    Vect_get_area_points ( poMap, id, poPoints );
-	    
-	    OGRPolygon 		*poOGRPoly;
-	    poOGRPoly = new OGRPolygon();
-
-	    OGRLinearRing       *poRing;
-	    poRing = new OGRLinearRing();
-	    poRing->setPoints( poPoints->n_points,
-		               poPoints->x, poPoints->y, poPoints->z ); 
-
-	    poOGRPoly->addRingDirectly( poRing );
-
-	    // Islands
-	    int nisles = Vect_get_area_num_isles ( poMap, id );
-	    for ( int i = 0; i < nisles; i++ ) {
-		int isle =  Vect_get_area_isle ( poMap, id, i );
-		Vect_get_isle_points ( poMap, isle, poPoints );
-
-		poRing = new OGRLinearRing();
-		poRing->setPoints( poPoints->n_points,
-				   poPoints->x, poPoints->y, poPoints->z ); 
-
-		poOGRPoly->addRingDirectly( poRing );
-	    }
-	    
-	    poOGR = poOGRPoly;
-        }   
-        break;
-
-	default: // Should not happen
-        {
-	    CPLError( CE_Failure, CPLE_AppDefined, "Unknown GRASS feature type.");
-	    return NULL;
-        }
-    }
-	    
-    return poOGR;
-}
-
-/************************************************************************/
-/*                          SetAttributes()                             */
-/************************************************************************/
-bool OGRGRASSLayer::SetAttributes ( OGRFeature *poFeature, dbTable *table )
-{
-    CPLDebug ( "GRASS", "OGRGRASSLayer::SetAttributes" );
-
-    for ( int i = 0; i < nFields; i++) 
-    {
-	dbColumn *column = db_get_table_column ( table, i );
-	dbValue *value = db_get_column_value ( column );
-
-	int ctype = db_sqltype_to_Ctype ( db_get_column_sqltype(column) );
-
-	if ( !db_test_value_isnull(value) )
-	{
-	    switch ( ctype ) {
-		case DB_C_TYPE_INT:
-		    poFeature->SetField( i, db_get_value_int ( value ));
-		    break; 
-		case DB_C_TYPE_DOUBLE:
-		    poFeature->SetField( i, db_get_value_double ( value ));
-		    break; 
-		case DB_C_TYPE_STRING:
-		    poFeature->SetField( i, db_get_value_string ( value ));
-		    break; 
-		case DB_C_TYPE_DATETIME:
-		    db_convert_column_value_to_string ( column, poDbString );
-		    poFeature->SetField( i, db_get_string ( poDbString ));
-		    break; 
-	    }
-	}
-	
-	db_convert_column_value_to_string ( column, poDbString );
-	//CPLDebug ( "GRASS", "val = %s", db_get_string ( poDbString ));
-    }
-    return true;
-}
-
-/************************************************************************/
-/*                             SetFeature()                             */
-/************************************************************************/
-OGRErr OGRGRASSLayer::SetFeature( OGRFeature *poFeature )
-{
-    return OGRERR_FAILURE;
-}
-
-/************************************************************************/
-/*                           CreateFeature()                            */
-/************************************************************************/
-OGRErr OGRGRASSLayer::CreateFeature( OGRFeature *poFeature )
-{
-    return OGRERR_FAILURE;
-}
-
-/************************************************************************/
-/*                          GetFeatureCount()                           */
-/*                                                                      */
-/*      If a spatial filter is in effect, we turn control over to       */
-/*      the generic counter.  Otherwise we return the total count.      */
-/*      Eventually we should consider implementing a more efficient     */
-/*      way of counting features matching a spatial query.              */
-/************************************************************************/
-int OGRGRASSLayer::GetFeatureCount( int bForce )
-{
-    if( m_poFilterGeom != NULL || m_poAttrQuery != NULL )
-        return OGRLayer::GetFeatureCount( bForce );
-        
-    return nTotalCount;
-}
-
-/************************************************************************/
-/*                             GetExtent()                              */
-/*                                                                      */
-/*      Fetch extent of the data currently stored in the dataset.       */
-/*      The bForce flag has no effect on SHO files since that value     */
-/*      is always in the header.                                        */
-/*                                                                      */
-/*      Returns OGRERR_NONE/OGRRERR_FAILURE.                            */
-/************************************************************************/
-OGRErr OGRGRASSLayer::GetExtent (OGREnvelope *psExtent, int bForce)
-{
-    BOUND_BOX box;
-
-    Vect_get_map_box ( poMap, &box );
-
-    psExtent->MinX = box.W;
-    psExtent->MinY = box.S;
-    psExtent->MaxX = box.E;
-    psExtent->MaxY = box.N;
-
-    return OGRERR_NONE;
-}
-
-/************************************************************************/
-/*                           TestCapability()                           */
-/************************************************************************/
-int OGRGRASSLayer::TestCapability( const char * pszCap )
-{
-    if( EQUAL(pszCap,OLCRandomRead) )
-        return TRUE;
-
-    else if( EQUAL(pszCap,OLCFastFeatureCount) )
-        return TRUE;
-
-    else if( EQUAL(pszCap,OLCFastSpatialFilter) )
-        return FALSE;
-
-    else if( EQUAL(pszCap,OLCFastGetExtent) )
-        return TRUE;
-
-    else if( EQUAL(pszCap,OLCFastSetNextByIndex) )
-        return TRUE;
-
-    else 
-        return FALSE;
-}
-
-/************************************************************************/
-/*                            CreateField()                             */
-/************************************************************************/
-OGRErr OGRGRASSLayer::CreateField( OGRFieldDefn *poField, int bApproxOK )
-{
-    CPLError( CE_Failure, CPLE_NotSupported,
-                  "Can't create fields on a GRASS layer.\n");
-    
-    return OGRERR_FAILURE;
-}
-
-/************************************************************************/
-/*                           GetSpatialRef()                            */
-/************************************************************************/
-OGRSpatialReference *OGRGRASSLayer::GetSpatialRef()
-{
-    return poSRS;
-}
-




More information about the Pkg-grass-devel mailing list